SHACL DS RDF 데이터셋 검증을 위한 새로운 확장

SHACL DS RDF 데이터셋 검증을 위한 새로운 확장
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 기존 SHACL이 단일 RDF 그래프만 검증할 수 있다는 한계를 지적하고, 명명된 그래프와 그래프 조합을 대상으로 선언적 검증을 가능하게 하는 SHACL‑DS를 제안한다. SHACL‑DS는 Shapes Dataset, Target Graph Declaration, Target Graph Combination이라는 세 가지 핵심 개념과 전용 어휘를 도입해 RDF 데이터셋 전체를 첫 번째 클래스 객체로 다룬다. 또한 SPARQL 기반 제약식의 데이터셋‑레벨 평가 규칙을 정의하고, 검증 결과에 그래프 출처를 명시한다. 구현은 dotNetRDF SHACL 모듈을 확장했으며, 테스트 스위트로 기능을 검증한다.

상세 분석

SHACL‑DS는 기존 SHACL 사양을 보완하면서도 하위 호환성을 유지한다는 점에서 설계상의 의도가 명확하다. 먼저 “Shapes Dataset”이라는 개념을 도입해, 여러 개의 shapes graph를 하나의 RDF 데이터셋으로 묶는다. 이 데이터셋의 기본 그래프는 각 shapes graph와 검증 대상 그래프 간의 매핑 정보를 담는 메타데이터 레이어 역할을 한다. 매핑은 두 가지 방식으로 표현된다. 첫 번째는 “Target Graph Declaration”으로, 특정 IRI가 가리키는 명명된 그래프 혹은 기본 그래프를 직접 지정한다. 두 번째는 “Target Graph Combination”으로, shds:union, shds:intersection, shds:difference 같은 집합 연산자를 사용해 새로운 가상 그래프를 정의한다. 이러한 선언형 접근은 기존에 개발자가 코드 레벨에서 수행하던 전처리 과정을 완전히 대체한다.

SPARQL‑based 제약식에 대한 처리도 중요한 기여이다. SHACL‑DS는 $shapesGraph 변수와 함께 FROM, FROM NAMED, GRAPH 절을 허용함으로써, 제약식이 데이터셋 전체 혹은 선택된 그래프 집합에 대해 실행될 수 있게 한다. 이때 제약식의 실행 컨텍스트는 선언된 Target Graph Combination에 의해 결정되며, 결과 보고서에는 shds:resultGraph 트리플이 추가돼 위반이 발생한 정확한 그래프를 식별한다.

알고리즘 측면에서는, 검증 엔진이 먼저 Shapes Dataset을 파싱하고, 각 shapes graph에 대해 τ_D(s)⊆D 라는 타깃 그래프 집합을 계산한다. 이후 SHACL‑Core 규칙과 SPARQL‑based 규칙을 각각 해당 타깃 그래프에 적용하고, 위반 결과를 그래프‑레벨 메타데이터와 함께 수집한다. 이 과정은 기존 SHACL 엔진의 파이프라인을 그대로 활용하면서, 추가적인 타깃 매핑 단계만 삽입하는 형태이므로 성능 저하가 최소화된다.

구현은 dotNetRDF의 SHACL 모듈을 확장했으며, N‑Quads와 TriG 포맷을 그대로 지원한다. 테스트 스위트는 shapes graph와 data graph의 다양한 조합, 집합 연산, SPARQL FILTER 및 BIND 구문 등을 포함해 전체 사양을 포괄한다. 실험 결과, 기존 구현이 데이터셋을 단순히 합쳐 검증할 때 발생하던 provenance 손실 문제가 해소되고, 복잡한 교차‑그래프 제약도 선언적으로 기술할 수 있음을 보여준다.


댓글 및 학술 토론

Loading comments...

의견 남기기