본문으로 건너뛰기

JSON-LD를 정규화 형식으로 변환 — Numio

jsonld.normalize와 기본 URDNA2015 알고리즘으로 JSON-LD를 정렬된 N-Quads로 정규화합니다. 빈 노드에 결정적인 레이블(_:c14n0, _:c14n1)이 붙으므로, 같은 그래프는 동일한 텍스트를 만듭니다.

Verifiable Credentials와 Linked Data Proofs에서 해시하거나 서명하는 정규 형태를 만듭니다.

JSON-LD

Normalized

이럴 때 사용하세요

  • Verifiable Credentials와 Linked Data Proofs에서 해시하거나 서명하는 정규 형태를 만듭니다.
  • 레이아웃이나 context가 다른 두 JSON-LD 문서가 같은 그래프를 나타내는지 확인합니다.

사용 방법

  1. JSON-LD 문서를 JSON-LD 편집기에 붙여 넣습니다.
  2. 정규화된 N-Quads를 확인합니다. 한 줄에 트리플 하나씩 정렬되어 있고, 빈 노드는 _:c14nN으로 이름이 바뀝니다.
  3. 출력 텍스트를 diff하거나 해시해 그래프를 비교합니다.

JSON-LD

{
  "@context": {"@vocab": "http://schema.org/"},
  "@type": "Person",
  "name": "Jane Doe",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Seattle"
  }
}

정규화된 N-Quads

_:c14n0 <http://schema.org/addressLocality> "Seattle" .
_:c14n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/PostalAddress> .
_:c14n1 <http://schema.org/address> _:c14n0 .
_:c14n1 <http://schema.org/name> "Jane Doe" .
_:c14n1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> .

세부 정보 및 제한 사항

페이지는 옵션 없이 normalize를 호출하므로 jsonld.js는 URDNA2015와 N-Quads 출력을 사용합니다.

빈 노드 레이블은 JSON의 키 순서가 아니라 그래프 내용에 따라 결정됩니다.

브라우저에서 실행되며, 원격 @context URL은 브라우저가 가져옵니다. 다운로드에 실패하면 해당 context URL이 포함된 오류가 표시됩니다.

FAQ

JSON-LD to N-Quads 페이지와 무엇이 다른가요?

둘 다 N-Quads를 출력합니다. 이 페이지는 빈 노드에 정규 레이블(_:c14n0)을 다시 붙이고 줄을 정렬하며, N-Quads 페이지는 프로세서가 부여한 _:b0 같은 레이블을 그대로 유지합니다.

어떤 정규화 알고리즘을 사용하나요?

jsonld.js의 기본값인 URDNA2015이며, W3C에서 RDF Dataset Canonicalization(RDFC-1.0)으로 표준화되었습니다.

출력에서 프로퍼티가 빠진 이유는 무엇인가요?

@context에 정의되지 않은 키는 IRI로 확장되지 않아 quad로 변환되기 전에 제거됩니다.

사양 및 참고 자료