25

Property Graph에서의 온톨로지 적용

SHACL 데이터 검증 & 오픈 온톨로지

학습 목표

RDF와 Property Graph의 차이점을 이해 n10s로 RDF를 Neo4j에 임포트하는 방법 파악 RDF-to-Property Graph 매핑 전략을 설명

Property Graph에서의 온톨로지 적용

학습 목표

  • RDF 온톨로지와 Property Graph의 차이점을 이해한다
  • neosemantics(n10s) 플러그인으로 RDF를 Neo4j에 임포트하는 방법을 안다
  • RDF-to-Property Graph 매핑 전략을 설명할 수 있다

RDF vs Property Graph: 두 세계의 차이

에디터 로딩 중...

neosemantics (n10s): RDF ↔ Neo4j 브릿지

n10s는 Neo4j에서 RDF 데이터를 가져오고 내보내는 공식 플러그인입니다.

에디터 로딩 중...

설치 & 설정

에디터 로딩 중...

RDF 데이터 임포트

에디터 로딩 중...

결과 확인

에디터 로딩 중...

매핑 전략: RDF → Property Graph

RDF 요소Property Graph 변환예시
rdf:typeLabela schema:Person:Person
Literal 프로퍼티Node Propertyschema:name "Alice"name: "Alice"
Object 프로퍼티Relationshipschema:knows ex:Bob-[:KNOWS]->
URIuri 프로퍼티ex:Alice{uri: "http://example.org/Alice"}
Blank Node내부 Node_:addr → 별도 노드
다중 값배열 또는 다중 관계설정에 따라

역방향: Neo4j → RDF 내보내기

에디터 로딩 중...

Property Graph 네이티브 온톨로지 패턴

n10s 없이 Neo4j에서 온톨로지 개념을 직접 구현하는 방법:

에디터 로딩 중...

실무 선택 가이드

상황추천 접근법
기존 RDF 데이터를 Neo4j로 마이그레이션n10s import
Neo4j 데이터를 Semantic Web과 공유n10s export
Neo4j에서 자체 스키마 관리네이티브 제약 조건
OWL 추론이 필요한 경우RDF Triple Store 사용 (별도)
SHACL 검증이 필요한 경우pySHACL + n10s export 조합

📖 심화 읽기: neosemantics 공식 문서 — https://neo4j.com/labs/neosemantics/

핵심 포인트
  • neosemantics(n10s): Neo4j에서 RDF 데이터를 import/export하는 공식 플러그인
  • RDF의 rdf:type→Label, Literal→Property, Object Property→Relationship 변환
  • n10s.graphconfig.init()으로 매핑 전략 설정 (handleVocabUris 등)
  • Neo4j 네이티브 제약(CONSTRAINT)으로 Property Graph 수준의 스키마 관리 가능
  • OWL 추론 필요 시 Triple Store, 검증 필요 시 pySHACL 조합 사용