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.
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
- Füge das JSON-LD-Dokument in den Editor JSON-LD ein.
- Lies die N-Quads-Ausgabe; @type wird zu einem rdf:type-Tripel, verschachtelte Objekte zu verknüpften Blank Nodes.
- 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.