Zum Inhalt springen

JSON-LD in N-Quads umwandeln — Numio

Wandelt JSON-LD mit jsonld.toRDF in RDF im N-Quads-Format um. Jede Aussage wird zu einer Zeile aus Subjekt, Prädikat, Objekt (und Graphname bei benannten Graphen); Knoten ohne @id werden zu Blank Nodes wie _:b0.

Strukturierte JSON-LD-Daten in einen Triple Store oder eine RDF-Bibliothek laden, die N-Quads importiert.

JSON-LD

N-Quads

Wann sie hilft

  • Strukturierte JSON-LD-Daten in einen Triple Store oder eine RDF-Bibliothek laden, die N-Quads importiert.
  • Genau sehen, welche RDF-Tripel Suchmaschinen oder RDF-Tools aus deinem JSON-LD extrahieren.

Anwendung

  1. Füge das JSON-LD-Dokument in den Editor JSON-LD ein.
  2. Lies die N-Quads-Ausgabe; @type wird zu einem rdf:type-Tripel, verschachtelte Objekte zu verknüpften Blank Nodes.
  3. Kopiere die Zeilen in eine .nq-Datei.

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> .

Details und Einschränkungen

Blank-Node-Labels (_:b0, _:b1) werden bei der Umwandlung vergeben und sind nicht kanonisch; nutze die Seite für normalisiertes JSON-LD, wenn du stabile Labels brauchst.

Die Tripel liegen im Default-Graphen, daher haben die Zeilen kein viertes Element; benannte Graphen (@graph mit einer @id) fügen eine Graph-IRI hinzu.

Läuft im Browser mit jsonld.js; ein entfernter @context wie https://schema.org/ wird von deinem Browser abgerufen. Schlägt der Download fehl, zeigt die Seite einen Fehler mit der Context-URL.

FAQ

Ist die N-Quads-Ausgabe gültiges N-Triples?

Wenn alles im Default-Graphen liegt, wie hier, ist jede Zeile auch gültiges N-Triples. Daten in benannten Graphen erhalten eine Graph-Spalte, die N-Triples nicht erlaubt.

Wie werden einfache Strings und Zahlen geschrieben?

Strings werden zu einfachen Literalen wie "Jane Doe"; JSON-Ganzzahlen, Dezimalzahlen und Booleans werden zu typisierten Literalen: "3"^^xsd:integer, "1.5E0"^^xsd:double und "true"^^xsd:boolean (mit vollständigen IRIs geschrieben).

Warum fehlen einige Schlüssel?

Nur Schlüssel, die über den @context zu IRIs expandieren, erzeugen Tripel; nicht definierte Terms werden verworfen.

Spezifikationen und Referenzen