Aller au contenu

Compacter des données JSON-LD — Numio

Compacte un document JSON-LD selon le contexte que vous fournissez, avec jsonld.compact. Les IRI complètes deviennent vos termes ou des noms prefix:suffix, et les tableaux d'un seul élément se réduisent à de simples valeurs.

Transformer le JSON-LD développé et verbeux d'un outil RDF en clés courtes et lisibles définies par votre propre contexte.

JSON-LD

Context

Compacted

Quand l’utiliser

  • Transformer le JSON-LD développé et verbeux d'un outil RDF en clés courtes et lisibles définies par votre propre contexte.
  • Vérifier qu'un contexte associe bien les IRI attendues avant de le publier.

Mode d’emploi

  1. Collez le document (développé ou utilisant n'importe quel contexte) dans l'éditeur JSON-LD.
  2. Placez le contexte cible dans l'éditeur Context sous forme d'objet avec une clé @context.
  3. Examinez le résultat : le contexte est placé en tête et les propriétés utilisent ses termes.

JSON-LD + contexte

// JSON-LD editor
{
  "@id": "http://example.org/book/1",
  "@type": "http://schema.org/Book",
  "http://schema.org/name": "Dune",
  "http://schema.org/author": {"@id": "http://example.org/frank-herbert"},
  "http://schema.org/datePublished": {"@value": "1965", "@type": "http://www.w3.org/2001/XMLSchema#gYear"}
}

// Context editor
{"@context": {"schema": "http://schema.org/", "title": "schema:name",
  "author": {"@id": "schema:author", "@type": "@id"}}}

JSON-LD compacté

{
  "@context": {
    "schema": "http://schema.org/",
    "title": "schema:name",
    "author": {
      "@id": "schema:author",
      "@type": "@id"
    }
  },
  "@id": "http://example.org/book/1",
  "@type": "schema:Book",
  "author": "http://example.org/frank-herbert",
  "schema:datePublished": {
    "@type": "http://www.w3.org/2001/XMLSchema#gYear",
    "@value": "1965"
  },
  "title": "Dune"
}

Détails et limites

Les propriétés sans terme correspondant utilisent un préfixe s'il en existe un (schema:datePublished) ; sinon elles conservent l'IRI complète.

Un terme avec "@type": "@id" permet de compacter les références en simples chaînes, comme pour author ci-dessus.

S'exécute dans votre navigateur avec jsonld.js. Les deux éditeurs doivent contenir du JSON valide ; les URL de contextes distants sont téléchargées par votre navigateur. En cas d'échec du téléchargement, la page affiche une erreur indiquant l'URL du contexte.

FAQ

Pourquoi une valeur typée reste-t-elle un objet ?

Une valeur avec @type (comme la date xsd:gYear) reste {"@type", "@value"} sauf si le contexte définit pour la propriété un terme avec ce même @type.

L'éditeur Context peut-il contenir une URL ?

Oui, sous la forme {"@context": "https://..."}. Le navigateur la télécharge, le serveur doit donc autoriser les requêtes cross-origin ; les contextes en ligne évitent ce problème.

La compaction modifie-t-elle les données ?

Non. La compaction ne change que la façon d'écrire les IRI et les valeurs ; développer le résultat redonne le même graphe.

Spécifications et références