2016-12-05 10 views
0

Ich kann nicht bestimmen, ob es möglich ist, nach der Definition eines Paarwerts zu referenzieren.Wiederverwenden von JSON-LD-Wissensdaten

Zum Beispiel, wenn ich ein Adresspaar erstelle, kann ich dann eine Kurzform der Wiederverwendung dieses Wertes verwenden?

"address": { 
         "@type": "PostalAddress", 
         "streetAddress": "14 Blue Street Road", 
         "addressLocality": "Nottingham", 
         "addressRegion": "Nottinghamshire 
         "postalCode": "NG73DT", 
         "addressCountry": "United Kingdom" 
        }, 
        "foundingLocation": "@address", 
+0

Mögliche Duplikat [Schema.org JSON -LD Referenz] (http://StackOverflow.com/Questions/34761970/Schema-Org-Json-Ld-Reference) – unor

Antwort

1

Ja, das ist möglich. JSON-LD verknüpft Knoten mithilfe von Eigenschaften. Knoten sind entweder Wertobjekte (z. B. Daten, Zeiten, Zahlen usw.) oder Knotenobjekte, z. B. Ihre PostalAddress oben. Alle Knoten haben eine eindeutige oder implementierte Kennung, die unter Verwendung der Eigenschaft @id angegeben wird. Der JSON-LD Flattening-Algorithmus verfügt unter anderem über einen Prozess, bei dem eingebettete Knotendefinitionen entfernt und durch Referenzen ersetzt werden. Dabei wird nach Bedarf ein leerer Knoten erstellt. Eine Referenz ist im Grunde genommen nur ein Knoten, der nur die @id Eigenschaft enthält. Ihr Beispiel oben neu geschrieben durch Hinzufügen eines leeren Knoten zu dem Postal werden könnte:

"address": { 
        "@id": "_:n1", 
        "@type": "PostalAddress", 
        "streetAddress": "14 Blue Street Road", 
        "addressLocality": "Nottingham", 
        "addressRegion": "Nottinghamshire 
        "postalCode": "NG73DT", 
        "addressCountry": "United Kingdom" 
       }, 
       "foundingLocation": "@address", 

Anschließend können Sie diese aus foundingLocation Referenz wie folgt:

"address": { 
        "@id": "_:n1", 
        "@type": "PostalAddress", 
        "streetAddress": "14 Blue Street Road", 
        "addressLocality": "Nottingham", 
        "addressRegion": "Nottinghamshire 
        "postalCode": "NG73DT", 
        "addressCountry": "United Kingdom" 
       }, 
       "foundingLocation": {"@id": "_:n1"} 
+0

funktioniert nicht @GreggKellogg Ich erhalte diesen Fehler ** FoundingLocation \t PostalAddress ist kein bekannter gültiger Zieltyp für die FoundingLocation-Eigenschaft. ** im Google-Tool für strukturierte Daten –

+0

Irgendwelche Ideen? @greggkellogg –

+0

Entschuldigen Sie, dass dies schmachtet. Erstellen Sie ein Beispiel unter http://json-ld.org/playground, und Sie können hier eine Kurz-URL eingeben, um Probleme genauer betrachten zu können. Wenn Google SDTT etwas anderes macht, ist das ein Problem mit ihnen, nicht JSON-LD. –