JSON-LD in forma estesa — Numio
Espande un documento JSON-LD con jsonld.js: il @context viene applicato e rimosso, i termini diventano IRI completi e ogni valore è racchiuso in un array di oggetti @value o @id. Le chiavi che non sono mappate su IRI vengono eliminate.
Verifica a quali IRI si risolvono effettivamente i tuoi termini schema.org o @context personalizzati.
Quando usarlo
- Verifica a quali IRI si risolvono effettivamente i tuoi termini schema.org o @context personalizzati.
- Debug di dati strutturati in cui una proprietà scompare silenziosamente perché non è definita nel contesto.
Come si usa
- Incolla un documento JSON-LD con il suo @context nell'editor JSON-LD.
- Leggi l'array espanso: ogni nodo elenca gli IRI di proprietà completi con valori negli array.
- Confronta con il tuo input; qualsiasi proprietà mancante nell'output non è stata mappata dal contesto.
JSON-LD
{
"@context": {
"name": "http://schema.org/name",
"knows": {"@id": "http://schema.org/knows", "@type": "@id"},
"homepage": {"@id": "http://schema.org/url", "@type": "@id"}
},
"@id": "http://example.org/jane",
"@type": "http://schema.org/Person",
"name": "Jane Doe",
"homepage": "http://janedoe.example",
"knows": "http://example.org/john"
}JSON-LD espanso
[
{
"@id": "http://example.org/jane",
"@type": [
"http://schema.org/Person"
],
"http://schema.org/url": [
{
"@id": "http://janedoe.example"
}
],
"http://schema.org/knows": [
{
"@id": "http://example.org/john"
}
],
"http://schema.org/name": [
{
"@value": "Jane Doe"
}
]
}
]Dettagli e limiti
L'espansione viene eseguita nel tuo browser con il pacchetto jsonld. Un @context remoto come https://schema.org/ (utilizzato dall'esempio predefinito) viene scaricato dal browser; se fallisce (offline, CORS), la pagina mostra un errore con il nome URL.
"@type": "@id" nella definizione di un termine trasforma un valore di stringa in un riferimento {"@id": ...} anziché in un valore letterale.
L'output è sempre un array di primo livello, anche per un singolo nodo.
FAQ
Perché alcune delle mie proprietà sono scomparse?
L’espansione elimina le chiavi non definite in @context e che non sono IRI assoluti. Ad esempio, se è mappato soltanto name, una chiave nickname viene rimossa dall’output.
Posso utilizzare il contesto schema.org?
Sì. "@context": "https://schema.org/" funziona se il tuo browser può recuperarlo. Per l'utilizzo offline, scrivi le definizioni dei termini in linea come nell'esempio.
Perché ogni valore è all'interno di un array?
Il modulo espanso utilizza sempre gli array per i valori delle proprietà e @type, quindi i processori possono gestire valori singoli e multipli allo stesso modo.