Pular para o conteúdo

Converter JSON-LD em N-Quads — Numio

Converte JSON-LD em RDF no formato N-Quads com jsonld.toRDF. Cada declaração vira uma linha com sujeito, predicado, objeto (e nome do grafo para grafos nomeados); nós sem @id viram blank nodes como _:b0.

Carregar dados estruturados JSON-LD em um triple store ou biblioteca RDF que importe N-Quads.

JSON-LD

N-Quads

Quando usar

  • Carregar dados estruturados JSON-LD em um triple store ou biblioteca RDF que importe N-Quads.
  • Ver exatamente quais triplas RDF os mecanismos de busca ou ferramentas RDF vão extrair do seu JSON-LD.

Como usar

  1. Cole o documento JSON-LD no editor JSON-LD.
  2. Confira a saída N-Quads; @type vira uma tripla rdf:type e objetos aninhados viram blank nodes vinculados.
  3. Copie as linhas para um arquivo .nq.

JSON-LD

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

N-Quads

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

Detalhes e limitações

Os rótulos de blank node (_:b0, _:b1) são atribuídos durante a conversão e não são canônicos; use a página de normalização se precisar de rótulos estáveis.

As triplas ficam no grafo padrão, então as linhas não têm quarto elemento; grafos nomeados (@graph com um @id) adicionam uma IRI de grafo.

Roda no seu navegador com jsonld.js; um @context remoto como https://schema.org/ é baixado pelo seu navegador. Se o download falhar, a página mostra um erro com a URL do contexto.

FAQ

A saída N-Quads é N-Triples válido?

Quando tudo está no grafo padrão, como aqui, cada linha também é N-Triples válido. Dados em grafos nomeados adicionam uma coluna de grafo que o N-Triples não permite.

Como strings e números simples são escritos?

Strings viram literais simples como "Jane Doe"; inteiros, decimais e booleanos JSON viram literais tipados: "3"^^xsd:integer, "1.5E0"^^xsd:double e "true"^^xsd:boolean (escritos com IRIs completas).

Por que algumas chaves estão faltando?

Apenas chaves que se expandem para IRIs por meio do @context geram triplas; termos não definidos são descartados.

Especificações e referências