25분
Property Graph에서의 온톨로지 적용
SHACL 데이터 검증 & 오픈 온톨로지
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:type | Label | a schema:Person → :Person |
| Literal 프로퍼티 | Node Property | schema:name "Alice" → name: "Alice" |
| Object 프로퍼티 | Relationship | schema:knows ex:Bob → -[:KNOWS]-> |
| URI | uri 프로퍼티 | 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 조합 사용