Pour m’essayer concrètement au web des données, j’ai publié mon fichier FOAF. Il est ici.
Pour valider sa syntaxe, sa conformité RDF, on peut utiliser le Validator du W3C. Le résultat peut prendre la forme de triples validés et/ou de graphe.
Dans toutes les pages de ce blog, on trouve la ligne suivante dans le header :
<link rel="meta" type="application/rdf+xml" title="FOAF" href="http://www.kepeklian.com/sem/foaf.rdf" />
Ca permet aux plugin sémantiques de Firefox de se déclencher.
Voici quelques outils qui permettent de visualiser les données liées :
Twitter propose un accès FOAF.
Aram Mardirossian, docteur en histoire du droit, spécialiste du droit canonique de l’Antiquité tardive et du Haut Moyen Age, nous offre une série d’émissions de radio que l’on peut écouter sur Radio Ayp en Ile-de-France sur 99.5 et partout sur Internet http://www.radio-aypfm.com/. Le sujet de cette série qui a débuté le 5 janvier 2010 est l’histoire riche et mouvementée de l’Eglise d’Arménie, depuis le début du IVe, avec la conversion du Roi Tiridate IV jusqu’au milieu du XIe siècle en 1064, date de la prise d’Ani par les Turcs Seldjoukides.
Les trois parties que composent les émissions successives sont « des légendes apostoliques à la conversion de Tiridate le Grand », « les querelles christologiques » puis « l’église arménienne sous la domination arabe ». Il s’agit d’une chronique exposée avec beaucoup de rigueur et destinée à être accessible au plus grand nombre. Les faits historiques sont présentés à partir de toutes les sources disponibles.
Les émissions peuvent être aussi podcastées depuis le site de Radio Ayp.
Voici la traduction française en 10 posts, respectant la découpe en section de l’original, du tutoriel How to Publish Linked Data on the Web publié par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
Ce document explique la façon de publier des données liées sur le Web. Après un aperçu général de la notion de données liées, plusieurs recettes pratiques sont présentées pour la publication d’information sous forme de données liées sur le Web.
Il reste encore 3 annexes dans le tutoriel dont la traduction suivra.
Voici la 10e partie de ma traduction du fameux tutorial » How to Publish Linked Data on the Web? « écrit par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
10 – D’autres outils et d’autres lectures utiles
Pour plus d’information sur le Web lié (Linked Data) vous pouvez vous référez à ceci :
10.1 – Pour une vue d’ensemble et des bases théoriques
10.2 – Documentations techniques
10.3 – Projets et expériences pratiques dans la publication de données liées
10.4 – Des clients de données liées
10.5 – Des moteurs de recherche dans le Web des données liées
Voici la 9e partie de ma traduction du fameux tutorial » How to Publish Linked Data on the Web? « écrit par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
9 – Découverte de données liées sur le Web
La façon habituelle de découvrir des données liées dans le Web consiste à suivre les liens RDF au sein des données que le client connait déjà. Afin de rendre la poursuite de la découverte encore plus aisée, les fournisseurs d’information peuvent décider de mettre en oeuvre des mécanismes de découverte complémentaires :
Ping le Web sémantique
Ping le Web sémantique est un service d’enregistrement des documents RDF dans le Web, il est utilisé par plusieurs autres services et applications clientes. Vous pouvez ainsi augmenter les chances de faire découvrir vos données par l’enregistrement de votre URI avec « Ping le Web sémantique ».
Lien HTML d’auto-découverte
Il est également judicieux dans de nombreux cas d’établir des liens depuis des pages Web existantes vers vos données RDF, par exemple en mettant dans votre page d’accueil personnalisée des liens vers votre profil FOAF. Ces liens peuvent être définis en utilisant l’élément HTML dans l’en-tête
de votre page HTML.<link rel="alternate" type="application/rdf+xml" href="link_to_the_RDF_version" />
Les éléments HTML sont utilisés par des extensions du navigateur comme Piggybank et Semantic Radar pour découvrir des données RDF dans le Web.
Semantic Web Crawling : un extension de sitemap
Semantic Web Crawling : une extension de Sitemap. L’extension de sitemap permet aux éditeurs de données de faire état de l’endroit où est situé le RDF et de savoir quels moyens alternatifs sont prévus pour y accéder (données liées, SPARQL endpoint, dump RDF). Les clients du Web sémantique et les robots du Web sémantique peuvent utiliser cette information pour accéder aux données RDF de la manière la plus efficace pour la tâche qu’ils ont à accomplir.
Liste de Dataset dans le wiki ESW
Afin de faciliter la découverte vos données, non seulement pour les machines mais aussi pour les humains, vous devez insérer votre dataset à la liste Dataset du wiki ESW. N’hésitez pas à inclure quelques exemples d’URI de ressources intéressantes de votre ensemble de données (dataset), de sorte que les gens aient des points de départ pour la navigation.
Voici la 8e partie de ma traduction du fameux tutorial » How to Publish Linked Data on the Web? « écrit par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
8 – Test et débogage de données liées
Après avoir publié vos informations sous la forme de données liées dans le Web, vous devez maintenant vérifier si elles peuvent être correctement consultées.
Un moyen simple pour tester cela consiste à soumettre plusieurs de vos URI au service de validation Vapour, celui-ci génère un rapport détaillé sur la façon dont vos URI réagissent aux différentes requêtes HTTP.
A côté de cela, il est également important de voir si vos informations s’affichent correctement dans différents navigateurs de données liées et si les navigateurs peuvent suivre les liens au sein de vos données RDF. Prenez donc plusieurs URI de votre ensemble de données et entrer les dans la barre de navigation des navigateurs suivants qui sont liés de données :
Si vous rencontrez des problèmes, vous devez effectuer les opérations suivantes :
Si vous n’arrivez pas à comprendre par vous-même ce qui ne va pas, demandez de l’aide sur la liste de diffusion Open Linking Data.
Voici la 7e partie de ma traduction du fameux tutorial » How to Publish Linked Data on the Web? « écrit par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
7. Recettes pour exposer des informations sous la forme de données liées
Ce chapitre fournit des recettes pratiques pour la publication de différents types d’informations sous la forme de données liées. Les informations doivent remplir au moins les conditions suivantes pour être considérées comme « publiées en tant que données liées sur le Web » :
Parmi les recettes suivantes, lesquelles correspondent à vos besoins ?
Après avoir publié vos informations sous forme de données liées, vous devez vous assurer qu’il y a des liens RDF externes pointant vers des URI de votre ensemble de données, de sorte que les navigateurs RDF et les robots puissent trouver vos données. Il existe deux méthodes de base pour y parvenir :
7.1 – Servir des fichiers statiques
La plus simple façon de servir les données liées est de produire des fichiers RDF statiques et les télécharger sur un serveur web. Cette méthode est généralement choisie dans les situations où
Il y a plusieurs aspects à considérer :
Configuration du serveur pour des types MIME correct
Les anciens serveurs Web ne sont parfois pas configurés pour renvoyer le bon type MIME lorsqu’ils doivent servir des fichiers RDF/XML. Les navigateurs de données liées peuvent ne pas reconnaitre les données RDF servies de cette façon parce que le serveur fait valoir que ce n’est pas RDF/XML, mais du texte brut. Pour savoir si votre serveur a besoin d’une correction de ce problème, utilisez l’outil cURL et suivez les étapes décrites dans ce tutoriel.
La façon de réparer cela dépend du type de votre serveur web. Dans le cas d’Apache, ajoutez cette ligne au fichier de configuration httpd.conf, ou à un fichier. Htaccess dans le répertoire du serveur web où les fichiers RDF sont placés :
AddType application/rdf+xml .rdf
Cela indique à Apache de servir les fichiers ayant une extension .rdf en utilisant le bon type MIME pour RDF/XML, à savoir application/rdf+xml. Remarque, cela signifie que vous avez nommer vos fichiers avec l’extension .rdf.
Pendant que vous y êtes, vous pouvez également ajouter ces lignes pour faire en sorte que votre serveur web soit prêt pour d’autres syntaxes RDF (N3 et Turtle) :
AddType text/rdf+n3;charset=utf-8 .n3
AddType application/x-turtle .ttl
Taille du fichier
La publication de pages HTML de très grandes tailles n’est pas recommandée, car elles se chargent très lentement dans les navigateurs et consomment inutilement de la bande passante. La même chose est vraie quand il s’agit de publication de données liées : vos fichiers RDF ne devraient pas être plus grand que, disons, quelques centaines de kilo-octets. Si vos fichiers sont plus volumineux et décrivent de multiples ressources, vous devez les diviser en plusieurs fichiers RDF, ou l’utilisation Pubby tel que c’est décrit dans la recette 7.3 et ainsi les servir par morceaux.
Lorsque vous servez plusieurs fichiers RDF, assurez-vous qu’ils sont liés les uns aux autres par le biais de triplets RDF qui impliquent des ressources décrites dans les différents fichiers.
Le choix des URI pour les ressources non-informatives
L’approche de fichiers statiques ne supporte pas les 303 redirections nécessaires pour les URI des ressources non-information. Heureusement il existe une autre méthode conforme aux normes de nommer les ressources non-information, qui fonctionne très bien avec les fichiers statiques RDF, mais a un inconvénient, nous discuterons plus tard. Cette méthode est fondée sur les URI avec dièse.
Lorsque vous servez d’un fichier statique RDF à, disons, http://example.com/people.rdf, vous devez alors le nom de la non-information sur les ressources décrits dans le fichier en ajoutant un identificateur de fragment d’URI du fichier. L’identifiant doit être unique dans le fichier. De cette façon, vous vous retrouvez avec des URI comme cela pour votre non-ressources d’information :
Cela fonctionne parce que les clients HTTP déréférencent les URI avec dièse en séparant la partie qui suit le dièse et en déréférençant l’URI résultant. Un navigateur de données liées va ensuite se scruter la réponse (le fichier RDF dans ce cas) et trouver des triplets qui en disent plus sur la ressource non-informative, obtenant ainsi un effet assez similaire à la redirection 303.
L’inconvénient de cette approche est que le nommage des URI n’est pas très « cool » au sens des critères énoncés dans la section 3. Il y a une référence à un format de représentation spécifique dans les identifiants (l’extension .rdf). Et si plus tard vous décidez de renommer le fichier RDF, ou si vous décidez de diviser vos données en plusieurs fichiers, alors tous les identifiants changeront et les liens existants casseront.
C’est pourquoi vous ne devriez utiliser cette approche que si la structure globale et la taille de l’ensemble de données ne risquent pas de changer beaucoup dans l’avenir, ou pour une solution temporaire pour des données transitoires où la stabilité des liens n’est pas si importante.
Extension de la recette pour des redirections 303 et la négociation de contenu
Cette approche peut être étendue pour utiliser des redirections 303 et même pour permettre la négociation de contenu, si vous êtes prêt à faire toutes sortes de gymnastique. Malheureusement, ce processus dépend de votre serveur web et de sa configuration. Le W3C a publié plusieurs recettes qui montrent comment faire avec un serveur web Apache : Best Practice Recipes for Publishing RDF Vocabulaires. Le document est officiellement destiné aux éditeurs de vocabulaires RDF, mais les recettes marchent aussi pour d’autres types de données RDF servies à partir de fichiers statiques. Notez qu’au moment d’écrire il reste un problème avec la négociation de contenu dans ce document qui pourrait être résolu en passant le serveur Apache du mode mod_rewrite à celui de mod_negotiation.
7.2 – Servir des bases de données relationnelles
Si vos données sont stockées dans une base de données relationnelle, c’est généralement une bonne idée de les y laisser et de publier uniquement une vue sur les données de votre base sous la forme de données liées.
Un outil qui permet de servir des vues de bases de données relationnelles sous forme de données liées est D2R Server. D2R Server repose sur un mapping déclaratif entre les schémas de la base et les termes RDF ciblés. Sur la base de ce mapping, D2R Server sert une vue de données liées sur votre base de données et fournit un endpoint SPARQL pour la base de données.
AddType text/rdf+n3;charset=utf-8 .n3 AddType application/x-turtle .ttl

Il existe plusieurs serveurs D2R ligne, par exemple Berlin DBLP Bibliography Server, Hannover DBLP Bibliography Server, Web-based Systems @ FU Berlin Group Server ou EuroStat Countries and Regions Server.
La publication d’une base de données relationnelles sous la forme de données liées comporte habituellement les étapes suivantes :
Alternativement, vous pouvez aussi utiliser :
7.3 – Exposer d’autres types d’informations
Si vos informations sont actuellement représentées dans des formats CSV, Microsoft Excel, ou BibTeX et si vous voulez les servir comme des données liées sur le Web, voici des bonnes idées à réaliser dans ce qui suit :
L’approche décrite ci-dessus est entre autres adoptée par le projet DBpedia. Ce projet utilise des scripts PHP pour extraire des données structurées à partir de pages Wikipédia. Ces données sont ensuite converties en RDF et stockés dans un référentiel Virtuoso OpenLink qui fournit un endpoint SPARQL. Afin d’obtenir une vue sous forme de données liées, Pubby est placé en front pour exploiter l’endpoint SPARQL.
Si votre ensemble de données est de taille suffisamment petite pour s’adapter complètement dans la mémoire principale du serveur Web, alors vous pouvez vous passer d’un repository RDF, et utiliser l’option conf:loadRDF de Pubby pour charger les données RDF à partir d’un fichier RDF directement dans Pubby. Cela pourrait être plus simple, mais à la différence d’un dépôt réel RDF, Pubby tient tout en mémoire principale et ne propose pas d’endpoint SPARQL.
7.4 – Mise en œuvre autour des applications existantes ou des API Web
Un grand nombre d’applications Web ont commencé à rendre leurs données disponibles sur le Web au travers d’API Web. Des exemples de sources de données fournissant de tels API sont donnés par des entreprises comme eBay, Amazon, Yahoo, Google et Google Base. Une liste plus complète des API se trouve sur Programmable Web. Différentes API fournissent différentes requêtes et interfaces d’extraction et renvoient les résultats en utilisant un certain nombre de formats différents tels que XML, JSON ou ATOM. Ceci conduit à trois limitations générales des API Web :
Ces limitations peuvent être surmontées par la mise en œuvre de wrappers de données liées sur la base des API. En général, les wrappers de données liées procèdent comme ceci :
Exemples de wrappers de données liées notamment :
Le RDF Book Mashup
Le RDF Book Mashup expose l’information sur les livres, leurs auteurs, les critiques et les librairies en ligne, et les rend disponible sous forme RDF sur le Web. Le RDF Book Mashup assigne un URI HTTP pour chaque produit qui a un numéro ISBN. Lorsque l’un de ces URI est déréférencé, le Mashup demande des données sur le livre, son auteur ainsi que des notes de lecture et des offres commerciales à l’aide des API d’Amazon et des API Google Base. Ces données sont ensuite transformés en RDF et retournés au client.

Le RDF Book Mashup est implémenté comme un petit script PHP qui peut être utilisé comme modèle pour la mise ou point d’autres wrappers similaires dans d’autres API Web. Vous trouverez plus d’information sur le Book Mashup et la relation entre les API Web et les données liées en général dans The RDF Book Mashup: From Web APIs to a Web of Data (diapositives).
Exporteurs SIOC pour WordPress, Drupal, phpBB
Le projet SIOC a développé des wrappers de données liées pour les moteurs de plusieurs blogs populaires, des systèmes de gestion de contenu et des forums de discussion. Voyez exporteurs SIOC pour une mise à jour la liste de leurs wrappers. Le projet fournit également un API d’exportation en PHP qui permet aux développeurs de créer d’autres outils d’export SIOC sans qu’il soit nécessaire d’entrer dans des détails techniques sur la façon dont l’information est représentée en RDF.
Virtuoso Sponger
Virtuoso Sponger est un cadre pour le développement de wrappers de données liées (appelés cartouches) autour de différents types de sources de données. La source de données peut varier depuis la page HTML contenant des données structurées jusqu’aux API Web. Voyez Injecting Facebook Data into the Semantic Data Web pour une démonstration sur la façon utilisée par Sponger pour générer une vue de données liées sur Facebook.
Voici la 6e partie de ma traduction du fameux tutorial » How to Publish Linked Data on the Web? « écrit par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
6 – Comment définir des liens vers d’autres sources de données RDF
Les liens RDF permettent aux navigateurs et aux robots d’exploration de naviguer parmi les sources de données et de découvrir des données supplémentaires.
Le domaine d’application permet de déterminer quelles propriétés RDF sont utilisées comme prédicats. Par exemple, les propriétés des liens couramment utilisées dans le domaine de description des personnes sont foaf:knows, foaf:based_near et foaf:topic_interest. Des exemples combinant ces propriétés avec des valeurs de propriété de DBpedia, de la bibliographie DBLP et du RDF Book Mashup peuvent être trouvés dans les profils FOAF de Tim Berners-Lee et d’Ivan Herman.
Il est de pratique courante d’utiliser la propriété owl:sameAs pour exprimer qu’une autre source de données donne aussi des informations sur une ressource non-informative particulière. Un lien owl:sameAs indique que deux références URI se rapportent à la même chose. Ainsi owl:sameAs est utilisé pour exprimer la correspondance entre différents alias URI (voir section 2.1). On peut voir des exemples d’utilisation de owl:sameAs pour indiquer que deux URI parlent de la même chose dans le profil FOAF de Tim qui stipule que http://www.w3.org/People/Berners-Lee/card#i identifie la même ressource que http://www4.wiwiss.fu-berlin.de/bookmashup/persons/Tim+Berners-Lee et http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007. D’autres exemples d’utilisation se trouvent dans DBpedia et le serveur DBLP de Berlin.
Les liens RDF peuvent être définis manuellement, ce qui est généralement le cas pour les profils FOAF, mais ils peuvent aussi être générés par des algorithmes automatisés de liaison. Cette approche est habituellement prises pour interconnecter les grands ensembles de données.
6.1 – Configurer manuellement des Liens RDF
Avant de pouvoir mettre des liens RDF manuellement, vous devez savoir quelque chose sur les ensembles de données avec lesquels vous souhaitez établir un lien. Afin d’obtenir un aperçu des différents ensembles de données qui peuvent être utilisés comme cibles de liens consultez la liste des ensembles de données liées et ouvertes (Linking Open Data Dataset list). Une fois que vous avez identifié des ensembles de données particuliers comme des cibles de lien appropriées, vous pouvez rechercher manuellement dans ces URI les références sur lesquelles vous souhaitez créer un lien. Si une source de données ne fournit pas une interface de recherche, comme par exemple un SPARQL endpoint ou un formulaire HTML, vous pouvez utiliser des navigateurs de données liées comme Tabulator ou Disco pour explorer l’ensemble des données et trouver les bons URI.
Vous pouvez également utiliser des services tels que Uriqr ou Sindice pour rechercher des URI existants et choisir le plus populaire si vous trouvez plusieurs candidats. Uriqr vous permet de trouver des URI pour les personnes que vous connaissez, simplement en cherchant avec leur nom. Les résultats sont classés en fonction du rang de référencement de l’URI particulier dans les documents RDF du Web, mais vous devrez tout de même mettre un peu d’intelligence humaine dans le choix de l’URI le plus approprié à utiliser. Sindice indexe le Web sémantique et peut vous indiquer quelles sources mentionnent un URI donné. Ainsi, ce service peut vous aider à choisir l’URI le plus populaire pour un concept.
Rappelez-vous que les sources de données sont susceptibles d’utiliser des redirections HTTP-303 pour rediriger des clients identifiants des URI de ressources non-informatives vers des URI identifiant les ressources d’information qui décrivent les ressources non-informatives. Dans ce cas, assurez-vous que vous liez bien la référence d’URI identifiant la ressource non-informative, et non le document sur ce sujet.
6.2 – Auto-production de Liens RDF
L’approche décrite ci-dessus n’est pas envisageable sur des masses de données, par exemple l’interconnexion de 70.000 lieux dans DBpedia avec leurs entrées correspondantes dans Geonames. Dans ce cas, il est logique d’utiliser un algorithme de couplage automatisé d’enregistrements pour générer les liens entre les sources de données RDF.
Le couplage d’enregistrements (record linkage) est un problème bien connu dans la communauté bases de données. Le projet Linking Open Data recueille des données relatives à l’usage des algorithmes de couplage d’enregistrements dans le contexte des données liées sur la page wiki Equivalence Mining.
On est encore un manque de bons outils faciles à utiliser pour générer automatiquement des liens RDF. Dans la pratique, il est donc habituel de mettre en œuvre des algorithmes de couplage d’enregistrements sur des ensembles de données spécifiques pour générer des liens entre les sources de données RDF. Nous décrivons maintenant deux classes d’algorithmes :
Les algorithmes basés sur des modèles (pattern based)
Dans de nombreux domaines, il existe des règles de nommage reconnues. Par exemple, dans le domaine de la publication il y a les numéros ISBN, dans le domaine financier, il existe les identificateurs ISIN. Si ces identifiants sont utilisés pour former une partie des URI HTTP pour identifier des ressources particulières, alors il est possible d’utiliser des algorithmes basé sur des modèles simples pour générer des liens entre ces ressources RDF.
Un exemple d’une source de données qui utilise les numéros ISBN dans la constitution de ses URI est le RDF Book Mashup, qui, utilise par exemple l’URI http://www4.wiwiss.fu-berlin.de/bookmashup/books/0747581088 pour identifier le livre « Harry Potter and the Half-Blood Prince ». On voit bien que si on a le numéro ISBN dans ces URI, il était facile pour DBpedia de générer des liens owl:sameAs entre les livres dans DBpedia et le Mashup Book. DBpedia utilise l’algorithme basée sur le modèle suivant :
L’exécution de cet algorithme pour tous les livres dans DBpedia crée plus de 9000 liens RDF, qui sont reliés avec l’ensemble de données DBpedia. Par exemple, le lien résultat pour le livre de Harry Potter est le suivant :
<http://dbpedia.org/resource/Harry_Potter_and_the_Half-Blood_Prince>
owl:sameAs <http://www4.wiwiss.fu-berlin.de/bookmashup/books/0747581088>
Algorithmes plus complexes fondés sur les propriétés
Dans les cas où il n’existe aucun identifiant commun entre les ensembles de données, il est nécessaire d’employer des des algorithmes de couplage plus complexes basées sur les propriétés. Nous décrivons ici deux algorithmes :
Voici la 5e partie de ma traduction du fameux tutorial » How to Publish Linked Data on the Web? « écrit par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
5 – Que dois-je retourner en tant que description RDF pour une URI ?
En supposant que nous ayons parfaitement exprimé toutes nos données à l’aide de triplets RDF : quel triplet devrait être retourné (après une redirection 303) en réponse au déréférencement de l’URI identifiant une ressource non-informative ?
Dans ce qui suit, nous donnons deux exemples de descriptions RDF qui respectent les règles ci-dessus. Le premier concerne le cas des informations sur l’auteur et la propriété servies par un propriétaire d’URI. Le deuxième concerne le cas d’informations non officielles servies par quelqu’un qui n’est pas le propriétaire de l’URI décrites.
5.1 – Description de l’autorité
L’exemple suivant montre une partie de la représentation en Turtle de la ressource d’information http://dbpedia.org/data/Alec_Empire. La ressource décrit le musicien allemand Alec Empire. En utilisant la terminologie de l’architecture du Web, il s’agit d’une description officielle telle qu’elle est servie après une redirection 303 par le propriétaire de l’URI http://dbpedia.org/resource/Alec_Empire. Les déclarations d’espace de noms ont été omises.
# Metadata and Licensing Information
<http://dbpedia.org/data/Alec_Empire>
rdfs:label "RDF description of Alec Empire" ;
rdf:type foaf:Document ;
dc:publisher <http://dbpedia.org/resource/DBpedia> ;
dc:date "2007-07-13"^^xsd:date ;
dc:rights
<http://en.wikipedia.org/wiki/WP:GFDL> .
# La description
<http://dbpedia.org/resource/Alec_Empire>
foaf:name "Empire, Alec" ;
rdf:type foaf:Person ;
rdf:type <http://dbpedia.org/class/yago/musician> ;
rdfs:comment
"Alec Empire (born May 2, 1972) is a German musician who is ..."@en ;
rdfs:comment
"Alec Empire (eigentlich Alexander Wilke) ist ein deutscher Musiker. ..."@de ;
dbpedia:genre <http://dbpedia.org/resource/Techno> ;
dbpedia:associatedActs <http://dbpedia.org/resource/Atari_Teenage_Riot> ;
foaf:page <http://en.wikipedia.org/wiki/Alec_Empire> ;
foaf:page <http://dbpedia.org/page/Alec_Empire> ;
rdfs:isDefinedBy <http://dbpedia.org/data/Alec_Empire> ;
owl:sameAs <http://zitgist.com/music/artist/d71ba53b-23b0-4870-a429-cce6f345763b> .
# Les liens arrière - Backlinks
<http://dbpedia.org/resource/60_Second_Wipeout>
dbpedia:producer <http://dbpedia.org/resource/Alec_Empire> .
<http://dbpedia.org/resource/Limited_Editions_1990-1994>
dbpedia:artist <http://dbpedia.org/resource/Alec_Empire> .
Notez que la description contient un lien owl:sameAs indiquant que http://dbpedia.org/resource/Alec_Empire et http://zitgist.com/music/artist/d71ba53b-23b0-4870-a429-cce6f345763b sont des URI alias se référant à la même ressource non-informative.
Pour faciliter aux clients de données liées la compréhension de la relation entre http://dbpedia.org/resource/Alec_Empire, http://dbpedia.org/data/Alec_Empire, et http://dbpedia.org/page/Alec_Empire, les URI peuvent être reliés entre eux en utilisant les propriétés rdfs:isDefinedBy et foaf:page comme c’est recommandé dans l’article Cool URI.
5.2 – Description non officielle
L’exemple suivant montre la représentation en Turtle dans la ressource d’information http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LinkedDataTutorial/ChrisAboutRichard qui est publiée par Chris pour fournir des informations à propos de Richard. Notez qu’en Turtle, le raccourci syntaxique <> peut être utilisé pour se référer à l’URI du document actuel. Richard possède l’URI http://richard.cyganiak.de/foaf.rdf#cygri et est donc la seule personne autorisée qui peut fournir une description sur cet URI. Ainsi en utilisant la terminologie de l’architecture du Web, on dit que Chris fournit des informations non officielles sur Richard.
# Metadata and Licensing Information
<>
rdf:type foaf:Document ;
dc:author <http://www.bizer.de#chris> ;
dc:date "2007-07-13"^^xsd:date ;
cc:license <http://web.resource.org/cc/PublicDomain> .
# La description
<http://richard.cyganiak.de/foaf.rdf#cygri>
foaf:name "Richard Cyganiak" ;
foaf:topic_interest <http://dbpedia.org/resource/Category:Databases> ;
foaf:topic_interest <http://dbpedia.org/resource/MacBook_Pro> ;
rdfs:isDefinedBy <http://richard.cyganiak.de/foaf.rdf> ;
rdf:seeAlso <> .
# Les liens arrière - Backlinks
<http://www.bizer.de#chris>
foaf:knows <http://richard.cyganiak.de/foaf.rdf#cygri> .
<http://www4.wiwiss.fu-berlin.de/is-group/resource/projects/Project3>
doap:developer <http://richard.cyganiak.de/foaf.rdf#cygri> .
Voici la 4e partie de ma traduction du fameux tutorial » How to Publish Linked Data on the Web? « écrit par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
4 – Quels vocabulaires dois-je utiliser pour représenter l’information ?
Afin de faciliter le traitement de vos données aux applications clientes, vous devez réutiliser autant que faire se peut les termes de vocabulaires bien connus. Vous ne devez définir de nouveaux termes vous-même que si vous ne trouvez pas les termes requis dans les vocabulaires existants.
4.1 – Réutilisation des termes existants
L’ensemble des vocabulaires bien connus évolue dans la communauté du Web sémantique. Pour vérifier si vos données peuvent être représentées en utilisant des termes de ces vocabulaires avant d’en définir de nouveaux, commencez par regarder ici :
Une liste plus complète de vocabulaires bien connus est maintenue par le projet communautaire W3C SWEO Linking Open Data dans le wiki ESW. Une liste des 100 espaces de nom RDF les plus courants (août 2006) est fournie par UMBC eBiquity Group.
Il est courant de mélanger des termes de vocabulaires différents. Nous recommandons particulièrement l’utilisation des propriétés rdfs:label et foaf:depiction chaque fois que possible, car ces termes sont bien utilisés par les applications clientes.
Si vous avez besoin des références URI pour des lieux géographiques, des domaines de recherche, des thèmes généraux, des artistes, des livres ou des CD, vous devriez considérer l’utilisation des URI de sources de données présentes dans le projet communautaire W3C SWEO Linking Open Data, par exemple, Geonames, DBpedia, Musicbrainz, dbtune ou RDF Book Mashup. Les deux principaux avantages à utiliser des URI à partir de ces sources de données sont les suivants :
Une liste plus étendue d’ensembles de données avec des URI déréférençables est maintenue par le projet de la communauté Linking Open Data dans le wiki ESW.
Dans les profils FOAF de Tim Berners-Lee et Ivan Herman, vous trouverez de bons exemples sur la façon dont des termes de différents vocabulaires bien connus sont mélangés au sein d’un seul document et sur la manière de réutiliser des URI existants.
4.2 – Comment définir les conditions ?
Lorsque vous ne pouvez pas trouver de bons vocabulaires existants qui couvrent toutes les classes et les propriétés dont vous avez besoin, vous devez définir vos propres termes. La définition de nouveaux termes n’est pas difficile. Les classes et les propriétés RDF sont elles-mêmes des ressources identifiées par des URI et publiées sur le Web. Donc tout ce que nous avons dit à propos de la publication des données liées s’applique à elles aussi.
Vous pouvez définir des vocabulaires RDF en utilisant le langage RDF Vocabulary Description Language 1.0: RDF Schema ou le langage Web Ontology Language (OWL). Pour les introductions aux RDFS, voir la section sur le vocabulaire de documentation dans le tutorial SWAP, et la section très détaillée RDF Schema du Primer RDF. OWL est introduit dans OWL Overview.
Nous donnons ici quelques conseils pour ceux qui sont familiers avec ces langues :
L’exemple suivant contient la définition d’une classe et une propriété en suivant les règles ci-dessus. L’exemple utilise la syntaxe de Turtle. Les déclarations d’espace de noms ont été omises.
# Définition de la classe « Lover »
<http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LoveVocabulary#Lover>
rdf:type rdfs:Class ;
rdfs:label « Lover »@en ;
rdfs:label « Liebender »@de ;
rdfs:comment « A person who loves somebody. »@en ;
rdfs:comment « Eine Person die Jemanden liebt. »@de ;
rdfs:subClassOf foaf:Person .
# Définition de la propriété « aime »
<http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LoveVocabublary#loves>
rdf:type rdf:Property ;
rdfs:label « loves »@en ;
rdfs:label « liebt »@de ;
rdfs:comment « Relation between a lover and a loved person. »@en ;
rdfs:comment « Beziehung zwischen einem Liebenden und einer geliebten Person. »@de ;
rdfs:subPropertyOf foaf:knows ;
rdfs:domain <http://sites.wiwiss.fu-berlin.de/suhl/bizer/pub/LoveVocabulary#Lover> ;
rdfs:range foaf:Person .
Notez que les termes sont définis dans un espace qui est contrôlée par Chris Bizer et qu’elles sont liées au vocabulaire FOAF utilisant des liens rdfs:subPropertyOf et rdfs:subClassOf liens.
Voici la 3e partie de ma traduction du fameux tutorial » How to Publish Linked Data on the Web? « écrit par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
3 – Choisir les URI
Les ressources sont nommées avec des références URI. Quand vous publiez des données liées, vous devez consacrer un certain effort au choix de bons URI pour vos ressources.
D’une part, ils doivent être de noms que d’autres éditeurs pourront utiliser en toute confiance pour lier vos ressources à leurs propres données. D’autre part, vous aurez à mettre en place l’infrastructure technique afin de les rendre déréférençable, et cela peut ajouter quelques contraintes sur ce que vous pouvez faire.
Cette section énumère quelques éléments à garder à l’esprit.
Voici plusieurs idées pour le choix de ces URI associés :
Ou
Ou
Exemples d’URI cool :
Voir aussi :
Voici la 2e partie de ma traduction du fameux tutorial » How to Publish Linked Data on the Web? « écrit par Chris Bizer (Web-based Systems Group, Freie Universität Berlin, Germany), Richard Cyganiak (Web-based Systems Group, Freie Universität Berlin, Germany) et Tom Heath (Knowledge Media Institute, The Open University, Milton Keynes, UK).
2 – Principes de base
Ce chapitre décrit les principes de base des données liées. Comme les données liées sont étroitement alignées sur l’architecture générale du Web, nous résumons d’abord les principes de base de cette architecture. Ensuite, nous donnons un aperçu du modèle de données RDF et donnons des recommandations sur la façon dont le modèle de données doit être utilisé dans le contexte de données liées.
2.1 – Architecture Web
Cette section résume les principes de base de l’architecture du Web et introduit une terminologie telle que ressource et représentation. Pour plus d’informations, vous pouvez vous référer à l’Architecture du World Wide Web, Volume 1 recommandation du W3C et les résultats actuels du W3C Technical Architecture Group (TAG).
2.1.1 – Ressources
Pour publier des données sur le Web, nous devons d’abord identifier les points d’intérêt de notre domaine. Ce sont les choses dont nous voulons décrire les propriétés et les relations dans les données. Dans la terminologie de l’architecture du Web, tous les objets d’intérêt sont appelés ressources.
Dans « Dereferencing HTTP URIs », le W3C Technical Architecture Group (TAG) distingue entre deux types de ressources : les ressources informatives et de ressources non-informatives (également appelés « autres ressources »). Cette distinction est très importante dans un contexte de données liées. Toutes les ressources que nous trouvons dans le Web traditionnel (on l’appelle aussi le Web des documents), comme des textes, des images et d’autres fichiers multimédias, sont des ressources informatives. Mais beaucoup de choses que nous voulons partager ne sont pas des données, par exemple : des personnes, des produits physiques, des lieux, des protéines, des concepts scientifiques, et ainsi de suite. En règle générale, tous les « objets du monde réel » qui existent en dehors du Web sont des ressources non-informatives.
2.1.2 – Identifiant de ressource
Les ressources sont identifiés à l’aide d’identifiant uniforme de ressource (URI). Dans le contexte des données liées, nous nous limitons uniquement à l’utilisation d’URI HTTP et évitons d’autres schémas d’URI comme les URN et DOI. Les URI HTTP forment de bons noms pour deux raisons : ils fournissent un moyen simple de créer des noms uniques au monde sans une gestion centralisée, et les URI fonctionnent pas seulement comme un nom, mais aussi comme un moyen d’accéder à de l’information sur une ressource dans le Web. La préférence pour HTTP sur d’autres formes d’URI est longuement discutée dans le projet de TAG du W3C URN, espaces de noms et les répertoires.
2.1.3 – Représentations
Les ressources d’information peuvent avoir des représentations. Une représentation est un flux d’octets dans un certain format, tels que HTML, RDF / XML, ou JPEG. Par exemple, une facture est une ressource d’information. Elle pourrait être représentée comme une page HTML, comme un document PDF imprimable, ou comme un document RDF. Une ressource unique d’information peut avoir de nombreuses représentations différentes, par exemple dans des formats différents, des qualités de résolution, ou des langues naturelles.
2.1.4 – Déréférencement d’URI HTTP
Le déréférencement d’URI est le processus de recherche d’un URI sur le Web afin d’obtenir des informations sur la ressource référencée. Le projet du W3C TAG concernant le déréférencement d’URI HTTP introduit une distinction sur la façon de déréférencer les URI de ressources informatives et de ressources non informatives :
Les ressources informatives : Quand un URI qui identifie une ressource informative est déréférencé, le serveur du propriétaire de l’URI génère habituellement une nouvelle représentation, un nouvel instantané de l’état actuel de la ressource informative, et la renvoie au client en utilisant le code de réponse HTTP 200 OK.
Les ressources non-informatives ne peuvent pas être déréférencées directement. Par conséquent, l’architecture du Web utilise une astuce pour permettre le déréférencement d’URI identifiants de ressources non-informatives : au lieu d’envoyer une représentation de la ressource, le serveur envoie au client l’URI d’une ressource informative qui décrit la ressource non des informations en utilisant le code de réponse HTTP 303 See Other. C’est ce qu’on appelle une redirection 303. Dans un second temps, le client déréférence cette nouvelle URI et obtient une représentation décrivant la ressource non-informative.
Note : Il existe deux approches que les éditeurs de données peuvent utiliser pour fournir aux clients des URI de ressources informatives décrivant les ressources non-informatives : les URI avec dièse et la redirection 303. Ce document porte essentiellement sur l’approche de la redirection 303. Voir la Section 4.3 de URI cool pour le Web sémantique pour une discussion sur les compromis entre les deux approches.
2.1.5 – Négociation de contenu
Les navigateurs HTML affichent généralement les représentations RDF comme du code brut RDF, ou tout simplement les téléchargent sous forme de fichiers RDF sans les afficher. Ce n’est pas très utile pour l’utilisateur moyen. Par conséquent, une bonne représentation HTML en plus de la représentation RDF d’une ressource aide les humains à comprendre à quoi se réfère un URI.
Ceci peut être réalisé en utilisant un mécanisme HTTP appelé négociation de contenu. Les clients HTTP envoient les en-têtes HTTP avec chaque requête pour indiquer quels types de représentation ils préfèrent. Les serveurs peuvent inspecter ces en-têtes et sélectionnez une réponse appropriée. Si les en-têtes indiquent que le client préfère le HTML, alors le serveur peut générer une représentation HTML. Si le client préfère le RDF, alors le serveur peut générer du RDF.
La négociation de contenu pour les ressources non-informatives est généralement mise en œuvre de la manière suivante. Quand un URI identifiant une ressource non-informative est déréférencé, le serveur envoie une redirection 303 à une source d’information appropriée pour le client. Ainsi, une source de données se sert souvent de trois URIs relatives à chaque ressource non-informative, par exemple :
La figure ci-dessous montre comment un déréférencement d’URI HTTP identifiant une ressource non-informative joue en même temps que la négociation de contenu :

http://www.w3.org/TR/swbp-vocab-pub/img/deref-ont-uri-rdf.png
Un exemple complet d’une session HTTP pour le déréférencement d’un URI identifiant une ressource non-informative est donné en Annexe A.
2.1.6 – URI Alias
Dans un environnement ouvert comme le Web, il arrive souvent que les différents fournisseurs d’information parlent de la même ressource non-informative, par exemple un lieu géographique ou une personne célèbre. Comme ils ne se connaissent pas les uns des autres, ils introduisent des URIs différentes pour identifier le même objet du monde réel. Par exemple : la source de données DBpedia donne des informations qui sont extraites de Wikipedia utilise l’URI http://dbpedia.org/resource/Berlin pour identifier Berlin. Geonames, une source de données fournissant des renseignements sur des millions de lieux géographiques, utilise l’URI http://sws.geonames.org/2950159/ pour identifier Berlin. Comme les deux URI se réfèrent à la même ressource non-informative, ils sont appelés alias URI. Les alias URI sont courants sur le Web des données, puisqu’il n’est pas réaliste de s’attendre à ce que tous les fournisseurs soient d’accord pour donner le même URI afin d’identifier la même ressource non-informative. Les alias URI assurent une fonction sociale importante dans le web de données, leurs déréférencements produisent des descriptions différentes de la même ressource non-informative, ils permettent ainsi à différents points de vue et opinions de s’exprimer. Afin d’être toujours en mesure de suivre les informations que les différents prestataires expriment sur la même ressource non-informative, ceux-ci peuvent placer des liens owl:sameAs vers des alias URI qu’ils connaissent. Cette pratique est approfondie dans la section.
2.1.7 – Descriptions associées
Dans ce tutoriel, nous utilisons un nouveau terme qui ne fait pas partie de la terminologie standard de l’architecture du Web, mais qui est utilisé dans le contexte les données liées. Le terme est description associée et il se réfère à la description d’une ressource non-informative qu’un client obtient par le déréférencement d’un URI spécifique identifiant cette ressource non-informative. Par exemple : en déréférençant l’URI http://dbpedia.org/resource/Berlin, la requête application/rdf+xml donne, après une redirection, une description associée égale à la description RDF de http://dbpedia.org/resource/Berlin dans la ressource informative http://dbpedia.org/data/Berlin. L’utilisation de ce nouveau terme est logique dans un contexte de données liées comme il est de pratique courante d’utiliser plusieurs URI pseudonymes pour se référer à la même ressource non-informative et aussi parce que les différents alias URI se déréférencement en plusieurs descriptions différentes de la ressource.
2.2 – Le modèle de données RDF
Lors de la publication de données liées sur le Web, nous représentons des informations sur les ressources en utilisant le cadre de description de ressources (Resource Description Framework, RDF). RDF fournit un modèle de données qui est d’une part extrêmement simple, mais aussi, d’autre part, strictement adaptée à l’architecture Web.
En RDF, une description d’une ressource est représentée par un nombre de triplets. Les trois parties de chaque triplet sont appelées : sujet, prédicat, et objet. Un triplet reflète la structure de base d’une phrase simple, comme celle-ci:
Chris - a – l’adresse email – chris@bizer.de
(sujet) – (prédicat) – (objet)
Le sujet d’un triplet est l’URI identifiant la ressource décrite.
L’objet peut être soit une valeur littérale simple, comme une chaîne, un nombre, une date ou l’URI d’une autre ressource qui est en quelque sorte liée au sujet.
Le prédicat, au milieu, indique quel type de relation existe entre le sujet et l’objet, par exemple s’il s’agit du nom ou de la date de naissance (dans le cas d’un littéral), l’employeur ou quelqu’un que la personne connaît (dans le cas d’une autre ressource). Le prédicat est aussi un URI. Ces URI proviennent de vocabulaires, des collections d’URI qui peuvent être utilisées pour représenter des informations sur un domaine particulier. Vous pouvez vous référer à la section 4 pour plus d’informations sur les vocabulaires à utiliser dans le contexte des données liées.
Certaines personnes imaginent l’ensemble des triplets RDF comme un graphe RDF. Les URI figurant des sujets et des objets y sont les nœuds du graphe, et chaque triplet est un arc (flèche) qui relie le sujet à l’objet.
Deux principaux types de triplets RDF peuvent être distingués, les triplets littéraux et les liens RDF :
Triplets littéraux
Liens RDF
Les liens RDF sont le fondement du Web des données. Le déréférencement d’URI qui apparaissent comme la destination d’un lien donne une description de la ressource liée. Cette description contient généralement des liens RDF supplémentaires qui pointent d’autres URI qui à leur tour peuvent également être déréférencé, et ainsi de suite. Ceci est la façon dont les descriptions des ressources individuelles sont tissées dans le web de données. C’est aussi la façon dont le Web de données peut être parcouru en utilisant un navigateur de données liées ou exploré par le robot d’un moteur de recherche.
Prenons un navigateur RDF comme par exemple Disco ou Tabulator. L’internaute utilise le navigateur pour afficher des informations sur Richard depuis son profil FOAF. Richard s’est lui-même identifié avec l’URI http://richard.cyganiak.de/foaf.rdf#cygri. Lorsqu’un internaute tape cette URI dans son navigation, celui-ci déréférence l’URI sur le Web, demandant le type de contenu application/rdf+xml et affiche les informations récupérées (cliquez ici pour voir ce que fait Disco). Dans son profil, Richard a déclaré qu’il est basé près de Berlin, en utilisant l’URI de DBpedia http://dbpedia.org/resource/Berlin comme alias d’URI de la ressource non-informative de Berlin. Si l’internaute est intéressé par Berlin, il indique au navigateur de déréférencer cet URI en cliquant dessus. Le navigateur déréférence alors cet URI en demandant un contenu application/rdf+xml.

http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/RDFlinks1.gif
Après avoir été redirigé par un code de réponse HTTP 303, le navigateur récupère un graphe RDF décrivant Berlin avec plus de détail. Une partie de ce graphe est représenté ci-dessous. Le graphe contient un triplet littéral indiquant que Berlin a 3.405.259 habitants et un autre lien RDF vers une ressource représentant une liste des villes allemandes.

http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/RDFlinks2.gif
Comme les deux graphes partagent l’URI RDF http://dbpedia.org/resource/Berlin, ils se regroupent naturellement comme illustré ci-dessous.

http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/RDFlinks3.gif
L’internaute peut également être intéressé par d’autres villes allemandes. Par conséquent, il laisse le navigateur déréférencer l’URI identifiant la liste. Le graphe RDF obtenu contient plusieurs liens vers des villes allemandes, par exemple, Hambourg et Munich, comme indiqué ci-dessous.

http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/RDFlinks4.gif
Vu selon une perspective Web, les liens RDF les plus intéressants sont ceux qui relient une ressource à des données externes publiées par d’autres sources de données. En effet, ils relient différentes îles de données dans le Web. Techniquement, un tel lien RDF externe est un triplet RDF, qui a pour sujet un URI d’une source de données et pour objet un URI d’une autre source de données. L’encadré ci-dessous contient des liens RDF externes variés tirés de différentes sources de données sur le Web.
2.2.1 – Exemples de liens RDF externe
# Deux liens RDF provenant de DBpedia
<http://dbpedia.org/resource/Berlin>
owl:sameAs <http://sws.geonames.org/2950159/> .
<http://dbpedia.org/resource/Tim_Berners-Lee>
owl:sameAs <http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007> .
# Liens RDF pris dans le from Tim Berners-Lee’s FOAF profile
<http://www.w3.org/People/Berners-Lee/card#i>
owl:sameAs <http://dbpedia.org/resource/Tim_Berners-Lee> ;
foaf:knows <http://www.w3.org/People/Connolly/#me> .
# RDF links taken from Richard Cyganiaks’s FOAF profile
<http://richard.cyganiak.de/foaf.rdf#cygri>
foaf:knows <http://www.w3.org/People/Berners-Lee/card#i> ;
foaf:topic_interest <http://dbpedia.org/resource/Semantic_Web> .
2.2.2 – Avantages à utiliser le modèle de données RDF dans le contexte des données liées
Les principaux avantages de l’utilisation du modèle de données RDF dans un contexte de données liées sont les suivantes :
2.2.3 – Caractéristiques RDF qu’il vaut mieux éviter dans le contexte des données liées
Afin de faciliter pour les clients la fusion et l’interrogation de données, nous recommandons de ne pas utiliser pleinement l’expressivité du modèle de données RDF, mais un sous-ensemble des fonctionnalités de RDF. En particulier :

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Void « Default
Life
Earth
Wind
Water
Fire
Light 