Naar de inhoud

JSON-LD naar ingelijste vorm — Numio

Hervormt JSON-LD met een frame met behulp van jsonld.frame: knooppunten die overeenkomen met het frame (bijvoorbeeld door @type) worden de resultaten op het hoogste niveau, en de knooppunten waarnaar zij verwijzen, worden daarin ingebed.

Een platte @graph omzetten in een boom die geworteld is in het type dat uw toepassing nodig heeft, zoals elk boek met ingebouwde bibliotheek.

JSON-LD

Frame

Framed

Wanneer gebruik je dit?

  • Een platte @graph omzetten in een boom die geworteld is in het type dat uw toepassing nodig heeft, zoals elk boek met ingebouwde bibliotheek.
  • Alleen de knooppunten van één @type selecteren uit een grotere JSON-LD-gegevensset.

Hoe werkt het

  1. Plak het brondocument in de JSON-LD-editor.
  2. Schrijf het frame in de Frame-editor: een @context plus overeenkomende regels zoals "@type": "Boek".
  3. Lees het resultaat; met meer dan één overeenkomst worden de knooppunten weergegeven in @graph.

JSON-LD + frame

// JSON-LD editor
{
  "@context": {"@vocab": "http://schema.org/"},
  "@graph": [
    {"@id": "http://example.org/lib", "name": "City Library"},
    {"@id": "http://example.org/b1", "@type": "Book", "name": "Dune",
     "holdingArchive": {"@id": "http://example.org/lib"}},
    {"@id": "http://example.org/b2", "@type": "Book", "name": "Emma",
     "holdingArchive": {"@id": "http://example.org/lib"}}
  ]
}

// Frame editor
{"@context": {"@vocab": "http://schema.org/"}, "@type": "Book"}

Ingelijst JSON-LD

{
  "@context": {
    "@vocab": "http://schema.org/"
  },
  "@graph": [
    {
      "@id": "http://example.org/b1",
      "@type": "Book",
      "holdingArchive": {
        "@id": "http://example.org/lib",
        "name": "City Library"
      },
      "name": "Dune"
    },
    {
      "@id": "http://example.org/b2",
      "@type": "Book",
      "holdingArchive": {
        "@id": "http://example.org/lib",
        "name": "City Library"
      },
      "name": "Emma"
    }
  ]
}

Details en beperkingen

Knooppuntreferenties worden hier vervangen door het knooppunt waarnaar wordt verwezen: de bibliotheek is in elk boek ingebed.

Een knooppunt dat niet overeenkomt met het frame (de bibliotheek) verschijnt alleen als een ingebed object, niet als zijn eigen resultaat.

Draait in uw browser met jsonld.js en gebruikt de standaard frameopties; @embed, @explicit en soortgelijke vlaggen kunnen binnen het frame zelf worden ingesteld.

FAQ

Hoe kan ik alleen bepaalde eigendommen retourneren?

Voeg "@explicit": true toe aan het frame en vermeld de gewenste eigenschappen, elk met {} als waarde.

Waarom staat er een @graph-sleutel in het resultaat?

Wanneer meer dan één knooppunt overeenkomt met het frame, worden de resultaten geretourneerd in @graph. Eén overeenkomst wordt geretourneerd als object op het hoogste niveau.

Waarom is de Frame-editor vooraf gevuld met een schema.org-context?

Dit is het standaardvoorbeeld van de pagina. Die context is een externe URL die je browser moet downloaden; vervang het door een inline context voor offline gebruik. Als het downloaden mislukt, wordt op de pagina een fout weergegeven met de naam URL.

Specificaties en referenties