Zum Inhalt springen

JSON-LD kompaktieren — Numio

Kompaktiert ein JSON-LD-Dokument mit jsonld.compact gegen den von dir angegebenen Context. Vollständige IRIs werden zu deinen Terms oder prefix:suffix-Namen, und Arrays mit einem Element werden zu einfachen Werten.

Ausführliches expandiertes JSON-LD aus einem RDF-Tool in kurze, lesbare Schlüssel aus deinem eigenen Context umwandeln.

JSON-LD

Context

Compacted

Wann sie hilft

  • Ausführliches expandiertes JSON-LD aus einem RDF-Tool in kurze, lesbare Schlüssel aus deinem eigenen Context umwandeln.
  • Vor der Veröffentlichung prüfen, ob ein Context die erwarteten IRIs abbildet.

Anwendung

  1. Füge das Dokument (expandiert oder mit beliebigem Context) in den Editor JSON-LD ein.
  2. Gib den Ziel-Context im Editor Context als Objekt mit einem @context-Schlüssel ein.
  3. Lies das Ergebnis: Der Context steht oben, und die Eigenschaften verwenden seine Terms.

JSON-LD + Context

// 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"}}}

Kompaktiertes JSON-LD

{
  "@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"
}

Details und Einschränkungen

Eigenschaften ohne passenden Term verwenden ein Präfix, sofern definiert (schema:datePublished); andernfalls behalten sie die vollständige IRI.

Ein Term mit "@type": "@id" ermöglicht es, Referenzen zu einfachen Strings zu kompaktieren, wie oben bei author.

Läuft im Browser mit jsonld.js. Beide Editoren müssen gültiges JSON enthalten; entfernte Context-URLs werden von deinem Browser abgerufen. Schlägt der Download fehl, zeigt die Seite einen Fehler mit der Context-URL.

FAQ

Warum ist ein typisierter Wert immer noch ein Objekt?

Ein Wert mit @type (wie das xsd:gYear-Datum) bleibt {"@type", "@value"}, es sei denn, der Context definiert für die Eigenschaft einen Term mit genau diesem @type.

Kann der Editor Context eine URL enthalten?

Ja, als {"@context": "https://..."}. Der Browser lädt sie herunter, daher muss der Server Cross-Origin-Anfragen erlauben; Inline-Contexts vermeiden das.

Verändert die Kompaktierung die Daten?

Nein. Die Kompaktierung ändert nur, wie IRIs und Werte geschrieben werden; das Expandieren des Ergebnisses liefert denselben Graphen.

Spezifikationen und Referenzen