5
Supponiamo di avere il seguente JSON:In JSON-LD, è possibile definire un mapping URI per un valore di proprietà?
{
"@context":
{
"name": "http://schema.org/name",
"status": "http://schema.org/status"
},
"name": "Manu Sporny",
"status": "trollin'"
}
Diciamo che abbiamo un URI per lo stato trollin': http://example.com/trolling
.
È possibile mappare la parola chiave trollin'
all'URI?
Qualcosa semplice non funzionerà:
{
"@context":
{
"name": "http://schema.org/name",
"status": "http://schema.org/status",
"trollin'": "http://example.com/trolling"
},
"name": "Manu Sporny",
"status": "trollin'"
}
Forzare il tipo di status
a @id
anche non funzionerà, perché assumerà trollin'
è un URI relativo.
{
"@context":
{
"name": "http://schema.org/name",
"status": {
"@id": "http://schema.org/status",
"@type": "@id"
},
"trollin'": "http://example.com/trolling"
},
"name": "Manu Sporny",
"status": "trollin'"
}
Dove è questo '{" @ tipo ":" @vocab "}' descritto? Non riesco a trovarlo da nessuna parte nelle [specifiche ufficiali JSON-LD] (http://www.w3.org/TR/json-ld/). UPDATE: l'ho trovato: http://lists.w3.org/Archives/Public/public-hydra/2014Sep/0029.html > Dopo qualche discussione con Gregg che mi ha indirizzato a http: // www. w3.org/TR/json-ld-api/#value-expansion, questo è il risultato. > La parola chiave @vocab ha un secondo significato che non è menzionato nello spec. Json-ld , solo nell'api. Se utilizzato come valore di @type nel contesto , il valore dell'attributo corrispondente deve essere espanso in un IRI. –
Curioso ... perché non è mai menzionato nelle specifiche JSON-LD? Inoltre ... la specifica API JSON-LD è _very_criptico (vero stile RDF), non riesco a trovare esattamente dove questo '{@ 'tipo": "@vocab"} 'costrutto è descritto ... –