최종적으로 Ontology를 설명하기 위해서 Semantic Web에 대해 살짝 이야기해보고 넘어가자.

 

1999Tim Berners-Lee라는 사람은 이런 말을 했다.

컴퓨터가 웹에 있는 데이터의 관계를 마치 사람처럼 이해했으면 한다는 것이 포인트이다. 데이터를 이해한다가 무엇인지 한번 개념적으로 이야기를 해보자.

 

문장1 : “내가 태어난 날은 828일이다.”

문장2 : “내 생일은 828일이다.”

 

문장1과 문장2는 같은 문장이다. 그런데 컴퓨터는 이 두 개를 같은 문장이라고 이해하지 않는다. 생일과 태어난 날이 같다는 개념을 모른다. 컴퓨터 입장에서는 “828을 그냥 어떠한 관계로 엮어버렸을 뿐이다. 위의 문장1과 문장2를 데이터를 표현하기 위해서 많이 사용하는 XML 파일로 쓰자면 이렇게 쓸 수 있다.

 

문장1.xml을 내가 썼고, 문장2.xml을 다른 사람이 썼을 경우, 원래 컴퓨터는 이 두 개가 같은 뜻이라는 것을 모른다. 또 다른 문제를 이야기해보자. Apple이라고 했을 때, 누구는 스티브잡스의 Apple을 생각하고 또 다른 사람은 과일 Apple을 생각한다. 이런 문제들을 어떻게 해결할까? 두 문제는 모두 컴퓨터가 실제로 데이터의 속성을 파악하지 못 해서 발생한다. 그것을 가능하게 하기 위해서 Ontology를 사용한다.

 

Ontology는 원래 철학쪽에서 존재와 같은 개념으로 쓰이는 것 같다. 그런데 컴퓨터 쪽에서 Ontology는 세상의 모든 사물들 간의 관계를 나타내는 것으로 쓰인다. 마치 Object-Oriented Programming(객체지향언어)과 같이 말이다.

 

최종적으로 Ontology를 알기 위해서 어떤 것을 공부해야 하는지 알아보자.

Linked Data : Ontology에서 데이터가 표현되는 기본적인 방식이다.

RDF : Ontology에 존재하는 가장 작은 단위의 데이터 집합이다. 우리가 보통, 책에 챕터가 있고 챕터 안에 문단이 있고 문단 안에 문장이 있는데, RDF는 문장이라고 생각하면 된다. 즉 데이터를 표현하는 문장이라고 생각하면 된다.

RDFS : 여러 개의 RDF를 이어서 만들어진 Class들의 집합. OOP에서 Class라고 생각하면 쉽다.

OWL : 여기서부터 실제로 RDFS에서 만들어진 Class간의 관계를 정의할 수 있다.

 

위의 설명은 어렵게 되어있다. 나도 안다. 그래서 앞으로 2~3개의 포스팅에 걸쳐서 위의 개념들을 쉽게 설명할 것이고 그러면 Ontology에 대한 개념은 어느 정도 마무리가 되지 않을까 싶다.

'etc...' 카테고리의 다른 글

[Semantic Web] RDFS  (0) 2017.02.06
[Semantic Web] Linked Data and RDF  (0) 2017.02.06
[Tensorflow] Multi linear Regreassion  (1) 2016.11.27
[Tensorflow] Basic of Tensorflow  (0) 2016.11.27
[Programming] OOP  (0) 2015.12.18
Posted by 빛나유
,