01
📖 Qu'est-ce que JSON-LD ?
JSON-LD (JavaScript Object Notation for Linked Data) est un format standard du W3C qui permet de représenter des données liées (Linked Data) en utilisant la syntaxe JSON, largement répandue dans le développement web.
💡 À retenir : JSON-LD est le pont parfait entre le monde du développement web (JSON) et le web sémantique (RDF). C'est le format recommandé par Google pour les données structurées.
JSON-LD permet de :
- ✅ Ajouter du sens sémantique à vos données JSON
- ✅ Être compatible avec RDF sans changer votre infrastructure
- ✅ Améliorer votre SEO grâce aux données structurées Schema.org
- ✅ Exposer des graphes de connaissances via des APIs modernes
02
🔍 Principe : JSON + contexte sémantique
La force de JSON-LD est d'ajouter un contexte qui donne du sens aux clés JSON.
Sans contexte (JSON classique)
{
"name": "Victor Hugo",
"birthDate": "1802-02-26"
}
→ Une machine ne sait pas ce que "name" signifie vraiment.
Avec contexte (JSON-LD)
{
"@context": {
"name": "https://schema.org/name",
"birthDate": "https://schema.org/birthDate"
},
"name": "Victor Hugo",
"birthDate": "1802-02-26"
}
→ Une machine sait que "name" correspond à schema:name, un standard reconnu.
🎯 Le résultat : Vos données deviennent interopérables et compréhensibles par n'importe quel système respectant les standards du web sémantique.
03
📝 Syntaxe JSON-LD
Mots-clés fondamentaux
| Mot-clé | Description | Exemple |
| @context |
Définit les mappings entre clés JSON et vocabulaires |
"@context": {"name": "schema:name"} |
| @id |
Identifiant unique de la ressource (IRI) |
"@id": "https://.../victor-hugo" |
| @type |
Type de la ressource (classe RDF) |
"@type": "schema:Person" |
Exemple complet
{
"@context": {
"schema": "https://schema.org/",
"name": "schema:name",
"birthDate": "schema:birthDate",
"knows": "schema:knows"
},
"@id": "https://lemondesemantique.fr/orateurs/victor-hugo",
"@type": "schema:Person",
"name": "Victor Hugo",
"birthDate": "1802-02-26",
"knows": {
"@id": "https://lemondesemantique.fr/orateurs/alexandre-dumas"
}
}
04
🔄 Conversion RDF ↔ JSON-LD
JSON-LD est une sérialisation de RDF. Tout document JSON-LD peut être converti en triplets RDF, et inversement.
Triplets RDF équivalents
a schema:Person ;
schema:name "Victor Hugo" ;
schema:birthDate "1802-02-26" .
Conversion avec Python (RDFLib)
from rdflib import Graph
g = Graph()
g.parse("data.json-ld", format="json-ld")
g.serialize(destination="data.rdf", format="turtle")
💡 Bon à savoir : La plupart des triple stores (GraphDB, Fuseki, Stardog) supportent nativement JSON-LD comme format d'import/export.
05
🌟 JSON-LD et Schema.org (SEO)
🎯 Google recommande JSON-LD pour les données structurées dans les pages web. C'est le format le plus simple à implémenter et le mieux compris par les moteurs de recherche.
Exemple : Fiche produit
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Casque audio sans fil",
"description": "Casque Bluetooth avec réduction de bruit",
"brand": {
"@type": "Brand",
"name": "SoundPro"
},
"offers": {
"@type": "Offer",
"price": "99.00",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock"
}
}
</script>
Types Schema.org courants
- Article : pour les articles de blog, actualités
- Product / Offer : pour le e-commerce
- Person / Organization : pour les présentations
- Event : pour les événements
- FAQPage : pour les questions/réponses
- HowTo : pour les tutoriels
⚠️ Important : Le script JSON-LD doit être placé dans le <head> ou à la fin du <body>. Google le lira même s'il n'est pas visible à l'écran.
06
🎯 Exemples concrets JSON-LD
1. Personne (pour nos orateurs)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Charles de Gaulle",
"birthDate": "1890-11-22",
"deathDate": "1970-11-09",
"nationality": "Française",
"description": "Président de la République française",
"sameAs": [
"https://fr.wikipedia.org/wiki/Charles_de_Gaulle"
]
}
</script>
2. Article de blog
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "Introduction à RDF",
"description": "Comprendre les bases de RDF",
"author": {
"@type": "Organization",
"name": "Le Monde Sémantique"
},
"datePublished": "2025-01-15"
}
</script>
3. Graphe de connaissances (plusieurs entités)
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Person",
"@id": "https://lemondesemantique.fr/orateurs/victor-hugo",
"name": "Victor Hugo"
},
{
"@type": "CreativeWork",
"@id": "https://lemondesemantique.fr/discours/les-miserables",
"name": "Les Misérables",
"author": {"@id": "https://lemondesemantique.fr/orateurs/victor-hugo"}
}
]
}
07
⚖️ Avantages et cas d'usage
✅ Avantages de JSON-LD
- Familiarité : Les développeurs connaissent déjà JSON
- SEO puissant : Format préféré de Google
- Non intrusif : Ne modifie pas l'affichage HTML
- Standard W3C : Interopérable avec tout l'écosystème sémantique
- Compressible : Moins verbeux que RDF/XML
🏢 Cas d'usage
- SEO / Référencement : Rich snippets dans Google
- APIs sémantiques : Exposer des graphes de connaissances
- Applications web : Intégration native avec JavaScript
- Migration progressive : Ajouter du sens à des JSON existants
🚀 Chez Le Monde Sémantique
Nous utilisons JSON-LD dans nos pages orateurs et discours pour améliorer notre référencement et fournir une API moderne à nos utilisateurs.
Voir nos pages optimisées →