| Extension | .jsonld |
|---|---|
| Type MIME | application/ld+json |
| PUID | |
| Développé par |
Manu Sporny |
| Version initiale |
, |
| Type de format | |
| Basé sur | |
| Norme | |
| Site web |
JSON-LD, ou JavaScript Object Notation for Linked Data, est une méthode permettant d'encoder des données structurées (en anglais linked data) en utilisant du JSON. Le but est de fournir un moyen simple aux développeurs de transformer des données existantes en JSON vers du JSON-LD. Cela permet de sérialiser des données de la même manière qu'avec du JSON traditionnel. JSON-LD est une recommandation du World Wide Web Consortium et, par conséquent, est considéré comme un standard. JSON-LD est développé par le JSON for Linking Data Community Group.
Créé par Manu Sporny fin 2008, il est depuis le un standard du W3C.
JSON-LD (JavaScript Object Notation for Linked Data) est une méthode d'encodage de données liées utilisant JSON. L'un des objectifs affichés était de rendre les données liées accessibles aux développeurs web ordinaires, qui peuvent les créer en modifiant des documents JSON ordinaires sans avoir besoin des outils spécialisés associés aux sérialisations RDF antérieures,. JSON-LD est une recommandation du World Wide Web Consortium initialement développée par le JSON for Linking Data Community Group, transférée au RDF Working Group pour examen, amélioration et normalisation, et maintenant maintenue par le JSON-LD Working Group.
JSON-LD est pensé autour du concept de « contexte » afin de fournir des associations depuis du JSON vers un modèle RDF. Ce contexte permet de lier des propriétés d'objets d'un document JSON vers des concepts dans une ontologie. Afin de faire le lien entre la syntaxe JSON-LD vers RDF, JSON-LD permet de convertir des valeurs en un type spécifié ou d'être étiqueté avec une langue. Un contexte peut être directement intégré dans un document JSON-LD ou placé dans un fichier séparé et référencé à partir de différents documents (à partir de documents JSON traditionnels via un lien d'en-tête HTTP).
{
"@context": {
"name": "http://xmlns.com/foaf/0.1/name",
"homepage": {
"@id": "http://xmlns.com/foaf/0.1/workplaceHomepage",
"@type": "@id"
},
"Person": "http://xmlns.com/foaf/0.1/Person"
},
"@id": "http://me.example.com",
"@type": "Person",
"name": "John Smith",
"homepage": "http://www.example.com/"
}
L'exemple ci-dessus décrit une personne basée sur l'ontologie RDF FOAF. Premièrement, les deux propriétés JSON name et homepage et le type Person sont mappés aux concepts du vocabulaire FOAF. Dans ce context, la valeur de la propriété homepage est spécifiée comme étant de type @id, c'est-à-dire qu'elle est spécifiée comme IRI dans la définition du contexte. Basé sur le modèle RDF, cela permet à la personne décrite dans le document d'être identifiée sans ambiguïté par un IRI. L'utilisation d'IRI résolvables permet aux documents RDF contenant plus d'informations d'être transcludés, ce qui permet aux clients de découvrir de nouvelles données simplement en suivant ces liens.
En ayant annoté sémantiquement toutes les données comme dans l'exemple, un parseur RDF peut identifier que le document contient des informations sur une personne (@type) et si le parseur comprend le vocabulaire FOAF, il peut déterminer quelles propriétés spécifient le nom de la personne et page d'accueil.
JSON-LD est utilisé par Google pour son Knowledge Graph.
Des bibliothèques pour JSON-LD existent pour ces langages de programmation: Javascript (jsonld.js), Python (PyLD, RDFLib-jsonld), PHP (php-json-ld, JsonLD), Ruby (JSON-LD for RDF.rb), Java (JSONLD-JAVA), C# (json-ld.net), Go (JSON-goLD).
L'encodage est utilisé par Schema.org, Google Knowledge Graph,,, et est principalement utilisé pour les activités d'optimisation des moteurs de recherche. Google recommande JSON-LD pour le balisage de données structurées lorsque la configuration d'un site le permet, le décrivant comme le format le plus facile à mettre en œuvre et à maintenir à grande échelle, et des enquêtes sur les données d'exploration du Web ont révélé qu'il s'agit du format de données structurées le plus largement adopté, devant Microdata et RDFa.
Il a également été utilisé pour des applications telles que l'informatique biomédicale, et la représentation d'informations de provenance. Une sérialisation JSON-LD du modèle de données PROV, PROV-JSONLD, permet d'échanger des données de provenance au format JSON tout en préservant la sémantique RDF.