Compactar dados JSON-LD — Numio
Compacta um documento JSON-LD em relação ao contexto que você fornece, usando jsonld.compact. IRIs completas viram seus termos ou nomes prefix:suffix, e arrays de um único item viram valores simples.
Transformar o JSON-LD expandido e verboso de uma ferramenta RDF em chaves curtas e legíveis definidas pelo seu próprio contexto.
Quando usar
- Transformar o JSON-LD expandido e verboso de uma ferramenta RDF em chaves curtas e legíveis definidas pelo seu próprio contexto.
- Verificar se um contexto mapeia as IRIs que você espera antes de publicá-lo.
Como usar
- Cole o documento (expandido ou usando qualquer contexto) no editor JSON-LD.
- Coloque o contexto de destino no editor Context como um objeto com uma chave @context.
- Confira o resultado: o contexto fica no topo e as propriedades usam os termos dele.
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"
}Detalhes e limitações
Propriedades sem termo correspondente usam um prefixo, se houver um definido (schema:datePublished); caso contrário, mantêm a IRI completa.
Um termo com "@type": "@id" permite que referências sejam compactadas para strings simples, como acontece com author acima.
Roda no seu navegador com jsonld.js. Os dois editores precisam conter JSON válido; URLs de contextos remotos são baixadas pelo seu navegador. Se o download falhar, a página mostra um erro com a URL do contexto.
FAQ
Por que um valor tipado continua sendo um objeto?
Um valor com @type (como a data xsd:gYear) permanece {"@type", "@value"}, a menos que o contexto defina um termo com esse mesmo @type para a propriedade.
O editor Context pode conter uma URL?
Sim, como {"@context": "https://..."}. O navegador faz o download, então o servidor precisa permitir requisições cross-origin; contextos inline evitam isso.
A compactação altera os dados?
Não. A compactação só muda como IRIs e valores são escritos; expandir o resultado gera o mesmo grafo.