Développer des données JSON-LD — Numio
Développe un document JSON-LD avec jsonld.js : le @context est appliqué puis retiré, les termes deviennent des IRI complètes et chaque valeur est enveloppée dans un tableau d'objets @value ou @id. Les clés qui ne correspondent à aucune IRI sont supprimées.
Vérifier vers quelles IRI vos termes schema.org ou ceux d'un @context personnalisé se résolvent réellement.
Quand l’utiliser
- Vérifier vers quelles IRI vos termes schema.org ou ceux d'un @context personnalisé se résolvent réellement.
- Déboguer des données structurées dans lesquelles une propriété disparaît sans prévenir parce qu'elle n'est pas définie dans le contexte.
Mode d’emploi
- Collez un document JSON-LD avec son @context dans l'éditeur JSON-LD.
- Examinez le tableau développé : chaque nœud liste les IRI complètes des propriétés avec leurs valeurs dans des tableaux.
- Comparez avec votre entrée ; toute propriété absente de la sortie n'était pas associée par le contexte.
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 développé
[
{
"@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"
}
]
}
]Détails et limites
Le développement s'exécute dans votre navigateur avec le package jsonld. Un @context distant comme https://schema.org/ (utilisé par l'exemple par défaut) est téléchargé par votre navigateur ; en cas d'échec (hors ligne, CORS), la page affiche une erreur indiquant l'URL.
"@type": "@id" dans une définition de terme transforme une valeur chaîne en référence {"@id": ...} au lieu d'un littéral.
La sortie est toujours un tableau de premier niveau, même pour un seul nœud.
FAQ
Pourquoi certaines de mes propriétés ont-elles disparu ?
Le développement supprime les clés qui ne sont pas définies dans le @context et qui ne sont pas des IRI absolues. Par exemple, si seul name est associé, la clé nickname est retirée de la sortie.
Puis-je utiliser le contexte schema.org ?
Oui. "@context": "https://schema.org/" fonctionne si votre navigateur peut le télécharger. Pour un usage hors ligne, écrivez les définitions de termes en ligne comme dans l'exemple.
Pourquoi chaque valeur est-elle dans un tableau ?
La forme développée utilise toujours des tableaux pour les valeurs des propriétés et pour @type, afin que les processeurs traitent de la même façon les valeurs uniques et multiples.