Y_11. LPG 모델을 RDF 그래프로 표현하기
Neo4J에서 볼 수 있는 LPG(Labeled Property Graph) 모델이 더 나은지 RDF 그래프가 더 나은지에 대한 이야기는 뒤로 하고..(용도에 맞게 적절한 것을 쓰면 되지 않는가?)
RDF의 장점은 데이터 사일로 현상을 제거할 수 있는 상호운용이 가능한 표준이라는 점과 데이터 모델의 사용이 용이한 점, 그리고 Description Logic 기반이기 때문에 추론을 할 수 있다는 점이 있겠다.
LPG의 장점은 RDF 그래프보다 심플하면서도 다양하고 풍부한 속성을 추가할 수 있다. 또한 관계에 대한 속성을 지정할 수 있는게 이게 큰 장점인것 같다.
이 둘의 장점을 모은 종결자로 RDF* 라는 것도 나왔는데 어찌되었든
Neo4J의 LPG 모델을 RDF 그래프로 변경하려면 어떻게 해야하는지에 대해 기술하려고 한다.
출처 : https://neo4j.com/developer/cypher-basics-i/
Neo4j's Graph Query Language: An Introduction to Cypher
Master the basics of Cypher – the graph query language for Neo4j – with this introductory guide that teaches you how to read and write Cypher queries.
neo4j.com
위와 같은 심플한 모델을 RDF로 표현하기 위해서는 약간의 트릭(?) 이라고 해야 하나? 아무튼 다른 개념이 들어가면 표현이 가능하다.
위의 방식 외에도 다른 방식으로도 표현이 가능하겠다.
여기서는 기본 개념을 Node, Relationship, Graph 도 생성하여 표현하였다.
(여기서 Graph는 하나의 문장(S,P, O)을 의미하는 단위로 사용하고 있다.)
from과 to는 출발 노드, 도착 노드를 지정하고, relation은 출발노드와 도착 노드를 연결하는 관계를 지정한다.
이 내용에 대한 보다 많은 설명 및 인스턴스 생성 과정은 첨부파일에 기재하였다.