Compactar datos JSON-LD — Numio
Compacta un documento JSON-LD contra el contexto que proporcionas, con jsonld.compact. Las IRI completas pasan a tus términos o a nombres prefix:suffix, y los arrays de un solo elemento se reducen a valores simples.
Convertir el JSON-LD expandido y verboso de una herramienta RDF en claves cortas y legibles definidas por tu propio contexto.
Cuándo usarla
- Convertir el JSON-LD expandido y verboso de una herramienta RDF en claves cortas y legibles definidas por tu propio contexto.
- Comprobar que un contexto asigna las IRI que esperas antes de publicarlo.
Cómo usarla
- Pega el documento (expandido o con cualquier contexto) en el editor JSON-LD.
- Pon el contexto de destino en el editor Context como un objeto con una clave @context.
- Revisa el resultado: el contexto se coloca al principio y las propiedades usan sus términos.
JSON-LD + contexto
// JSON-LD editor
{
"@id": "http://example.org/book/1",
"@type": "http://schema.org/Book",
"http://schema.org/name": "Dune",
"http://schema.org/author": {"@id": "http://example.org/frank-herbert"},
"http://schema.org/datePublished": {"@value": "1965", "@type": "http://www.w3.org/2001/XMLSchema#gYear"}
}
// Context editor
{"@context": {"schema": "http://schema.org/", "title": "schema:name",
"author": {"@id": "schema:author", "@type": "@id"}}}JSON-LD compactado
{
"@context": {
"schema": "http://schema.org/",
"title": "schema:name",
"author": {
"@id": "schema:author",
"@type": "@id"
}
},
"@id": "http://example.org/book/1",
"@type": "schema:Book",
"author": "http://example.org/frank-herbert",
"schema:datePublished": {
"@type": "http://www.w3.org/2001/XMLSchema#gYear",
"@value": "1965"
},
"title": "Dune"
}Detalles y limitaciones
Las propiedades sin un término coincidente usan un prefijo si hay uno definido (schema:datePublished); si no, conservan la IRI completa.
Un término con "@type": "@id" permite que las referencias se compacten a strings simples, como ocurre con author arriba.
Se ejecuta en tu navegador con jsonld.js. Ambos editores deben contener JSON válido; las URL de contextos remotos las descarga tu navegador. Si la descarga falla, la página muestra un error con la URL del contexto.
FAQ
¿Por qué un valor tipado sigue siendo un objeto?
Un valor con @type (como la fecha xsd:gYear) se queda como {"@type", "@value"} salvo que el contexto defina para esa propiedad un término con ese mismo @type.
¿El editor Context puede contener una URL?
Sí, como {"@context": "https://..."}. La descarga el navegador, así que el servidor debe permitir peticiones de origen cruzado; los contextos en línea evitan este problema.
¿La compactación cambia los datos?
No. La compactación solo cambia cómo se escriben las IRI y los valores; al expandir el resultado se obtiene el mismo grafo.