새로운 질서 위키

SHACL

SHACL(Shapes Constraint Language)은 RDF 데이터가 정해둔 조건을 만족하는지 검사하는 언어다. 검사할 데이터와 조건을 기술한 셰이프(Shape)를 구분한다. 응용 프로파일의 요구사항을 기계가 확인할 규칙으로 옮길 때 사용할 수 있다. (W3C SHACL 명세)

  • 공식 명세

  • 예를 들어 책의 제목이 하나 이상 있어야 한다면 해당 속성에 sh:minCount 1을 지정할 수 있다. 날짜나 숫자는 값의 자료형을 제한할 수 있다. 제목이 있다는 사실과 그 제목이 정확하다는 사실은 별개의 판단이다. (개수·자료형 제약)

  • sh:closed true를 사용하면 열거한 속성과 따로 허용한 예외 밖의 속성을 검출할 수 있다. 수집 대상의 기록에 새 항목이 생겼을 때 이를 허용할지, 검토 대상으로 삼을지 정하는 데 쓰인다. (닫힌 셰이프)

  • 더블린 코어가 제목이라는 항목의 의미를 제공한다면 SHACL은 특정 데이터에서 그 항목에 어떤 조건을 요구할지 표현한다. 데이터 검증 규칙을 바꾸면 이전에 통과한 기록의 검사 결과도 달라질 수 있다.

기타 등등

  • 셰이프에 sh:deactivated true를 지정하면 그 조건을 비활성화할 수 있다. 다른 사람이 만든 규칙을 가져오되 현재 용도에 맞지 않는 부분을 제외하는 방법으로 명세에 소개되어 있다. 출처
  • 검사 결과를 담는 보고서도 RDF로 표현할 수 있다. 검사 대상뿐 아니라 어디서 어떤 조건을 어겼는지도 데이터로 남는다. 출처

#메타데이터 #웹 #데이터

검색