Normalizar datos JSON-LD — Numio
Canonicaliza JSON-LD en N-Quads ordenados con jsonld.normalize y su algoritmo por defecto URDNA2015. Los blank nodes reciben etiquetas deterministas (_:c14n0, _:c14n1), así que grafos iguales producen texto idéntico.
Generar la forma canónica que se hashea o firma para Verifiable Credentials y Linked Data Proofs.
Cuándo usarla
- Generar la forma canónica que se hashea o firma para Verifiable Credentials y Linked Data Proofs.
- Comprobar si dos documentos JSON-LD con estructuras o contextos distintos describen el mismo grafo.
Cómo usarla
- Pega el documento JSON-LD en el editor JSON-LD.
- Revisa los N-Quads canónicos: una tripleta por línea, ordenadas, con los blank nodes renombrados a _:c14nN.
- Compara con diff o calcula el hash del texto de salida para comparar grafos.
JSON-LD
{
"@context": {"@vocab": "http://schema.org/"},
"@type": "Person",
"name": "Jane Doe",
"address": {
"@type": "PostalAddress",
"addressLocality": "Seattle"
}
}N-Quads canónicos
_: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> .
Detalles y limitaciones
La página llama a normalize sin opciones, así que jsonld.js usa URDNA2015 y salida N-Quads.
Las etiquetas de los blank nodes dependen del contenido del grafo, no del orden de las claves en tu JSON.
Se ejecuta en tu navegador; las URL de @context remotas las descarga tu navegador. Si la descarga falla, la página muestra un error con la URL del contexto.
FAQ
¿En qué se diferencia de la página JSON-LD to N-Quads?
Ambas generan N-Quads. Esta página reetiqueta los blank nodes de forma canónica (_:c14n0) y ordena las líneas; la página de N-Quads conserva las etiquetas asignadas por el procesador, como _:b0.
¿Qué algoritmo de canonicalización se usa?
URDNA2015, el predeterminado en jsonld.js, que el W3C estandarizó como RDF Dataset Canonicalization (RDFC-1.0).
¿Por qué falta una propiedad en la salida?
Las claves no definidas en el @context no se expanden a IRI y se descartan antes de la conversión a quads.