JSON-LD를 정규화 형식으로 변환 — Numio
jsonld.normalize와 기본 URDNA2015 알고리즘으로 JSON-LD를 정렬된 N-Quads로 정규화합니다. 빈 노드에 결정적인 레이블(_:c14n0, _:c14n1)이 붙으므로, 같은 그래프는 동일한 텍스트를 만듭니다.
Verifiable Credentials와 Linked Data Proofs에서 해시하거나 서명하는 정규 형태를 만듭니다.
이럴 때 사용하세요
- Verifiable Credentials와 Linked Data Proofs에서 해시하거나 서명하는 정규 형태를 만듭니다.
- 레이아웃이나 context가 다른 두 JSON-LD 문서가 같은 그래프를 나타내는지 확인합니다.
사용 방법
- JSON-LD 문서를 JSON-LD 편집기에 붙여 넣습니다.
- 정규화된 N-Quads를 확인합니다. 한 줄에 트리플 하나씩 정렬되어 있고, 빈 노드는 _:c14nN으로 이름이 바뀝니다.
- 출력 텍스트를 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로 변환되기 전에 제거됩니다.