linked data

Traduction : How to Publish Linked Data on the Web? (5/10)

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 ?

  1. La description : la représentation doit inclure tous les triplets de votre ensemble de données dont l’URI de la ressource est le sujet. Ceci est la description immédiate de la ressource.
  2. Les liens arrière (backlinks) : la représentation devrait aussi inclure tous les triplets de votre ensemble de données dont l’URI de la ressource est l’objet. Ces triplets sont apparemment redondants, en effet, ils peuvent déjà être trouvés par l’URI de leur sujet, mais ça permet aux navigateurs et aux robots d’exploration (crawlers) d’emprunter les liens dans les deux sens.
  3. Les descriptions connexes : vous pouvez inclure toute information additionnelle sur les ressources connexes qui peuvent avoir un intérêt dans des scénarios types d’utilisation. Par exemple, vous souhaitez peut-être envoyer des informations sur un auteur avec celles qui concernent un de ses livres, car de nombreux clients intéressés par les livres peuvent également être intéressé par l’auteur. Une approche modérée est recommandée, car celle qui consiste à renvoyer un mégaoctet de RDF sera considéré comme excessive dans la plupart des cas.
  4. Les métadonnées : la représentation devrait contenir toutes les métadonnées que vous souhaitez joindre à vos données publiées, comme par exemple l’URI identifiant l’auteur, mais aussi ceux sur les licences. Elles doivent être enregistrées comme des descriptions RDF de la ressource d’information qui décrit une ressource non-informative ; c’est-à-dire que le sujet des triplets RDF devrait être l’URI de la ressource d’information. En joignant des méta-informations à cette ressource d’information plutôt qu’à la ressource décrite lui-même ou à des déclarations spécifiques sur la ressource RDF (comme avec la réification RDF), cela apparentent très bien à l’utilisation des graphes nommés et du langage de requêtes SPARQL dans les applications clientes de données liées. Afin de permettre aux consommateurs des informations d’utiliser vos données dans des conditions juridiques claires, chaque document RDF devrait contenir une information sur la licence sous laquelle le contenu peut être utilisé. Référez-vous à Creative Commons ou Talis pour les licences standard.
  5. La syntaxe : Il existe différentes manières de sérialiser les descriptions RDF. Votre source de données devrait au moins fournir une description RDF comme RDF/XML qui est la seule syntaxe officielle pour RDF. Comme RDF/XML n’est pas très lisible, votre source de données pourrait en outre fournir des descriptions Turtle lorsqu’on lui demande application/x-tortue comme mime-type. Dans les situations où vous pensez que les gens pourraient vouloir utiliser vos données avec des technologies XML telles que XSLT ou XQuery, il pourrait être également utile de recourir à une sérialisation Trix, puisque TriX fonctionne mieux avec ces technologies que RDF/XML.

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> .

Traduction : How to Publish Linked Data on the Web? (4/10)

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 :

  1. Les URI sont déréférençables, cela signifie qu’une description de ce concept peut être trouvée sur le Web. Par exemple, en utilisant l’URI DBpedia http://dbpedia.org/page/Doom pour identifier le jeu vidéo Doom vous obtenez une description détaillée du jeu, y compris les résumés en 10 langues différentes et de diverses classifications.
  2. Les URI sont déjà liés à des URI d’autres sources de données. Par exemple, vous pouvez naviguer à partir de l’URI DBpedia http://dbpedia.org/resource/Berlin vers des données sur Berlin fournies par Geonames et Eurostat. Ainsi, en utilisant des URI de ces ensembles de données, vous reliez vos données grâce à un réseau de sources de données dense et en croissance rapide .

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 :

  1. Ne définissez pas un nouveau vocabulaire à partir de zéro, mais complétez les vocabulaires existants avec des termes supplémentaires (dans votre propre espace de noms) pour représenter vos données selon vos besoins.
  2. Définissez pour les humains et pour les machines. Au stade actuel du développement du Web de données, il y a plus de gens que de machines qui viennent visiter votre site, même si le Web de données est a priori plus destiné aux machines. N’oubliez pas d’ajouter de la prose, par exemple rdfs:comment pour chaque terme inventé. Et fournissez toujours une étiquette pour chaque terme qui utilise la propriété rdfs:label.
  3. Faites des termes d’URI dereferenceables. Il est essentiel que les termes d’URI soient déréférenceables afin que les clients puissent rechercher la définition d’un terme. Suivez donc les recettes du W3C sur les meilleures pratiques de la publication de vocabulaires RDF pour faire des termes d’URI déréférenceables.
  4. Faites usage de termes d’autres personnes. L’utilisation de termes d’autres personnes, ou de mapping sur eux, contribue à promouvoir le niveau d’échange de données sur le Web de données, de la même manière que les liens hypertextes construisent le Web de documents. Des propriétés communes pour fournir des telles applications sont rdfs:subClassOf ou rdfs:subPropertyOf.
  5. Faites état explicitement de toutes les informations importantes. Par exemple, indiquez explicitement tous les ranges [c’est le terme anglais] et tous les domaines. N’oubliez pas : les humains peuvent souvent faire des conjectures, mais pas les machines. Ne négligez pas d’informations importantes !
  6. Ne créez pas de termes trop limités, ou fragiles ; laissez une certaine souplesse pour permettre les évolutions. Par exemple, si vous utilisez des fonctionnalités OWL complètes pour définir votre vocabulaire, vous pourrez avoir des choses qui conduisent à des conséquences non désirées et à des incohérences quand quelqu’un d’autre utilisera vos références dans une définition de vocabulaire différent. Ainsi, à moins que vous sachiez exactement ce que vous faites, utilisez RDF-Schema pour définir des vocabulaires.

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.


Traduction : How to Publish Linked Data on the Web? (3/10)

Voici la 3e partie de ma traduction du tutorial é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.

  • Utilisez les URI HTTP pour tout. Le schéma Http:// est le seul à être largement utilisé dans les outils et les infrastructures actuels. Tous les autres schémas exigent un effort supplémentaire pour la résolution des services Web, qui utilise des répertoires d’identifiant, et ainsi de suite. Les arguments en faveur de l’utilisation du protocole HTTP sont discutés en plusieurs endroits, par exemple dans noms et adresses de Norman Walsh, et URN, espaces de noms et répertoires (projet) du W3C TAG.
  • Choisissez vos URI dans un espace de noms HTTP sous votre contrôle, où vous pouvez les rendre effectivement déréférençable. Ne les définissez pas dans l’espace de noms de quelqu’un d’autre.
  • Evitez les trucs qui concernent la réalisation dans vos URI. Bref, les noms mnémoniques sont meilleurs. Considérons ces deux exemples :
    • http://dbpedia.org/resource/Berlin
    • http://www4.wiwiss.fu-berlin.de:2020/demos/dbpedia/cgi-bin/resources.php?id=Berlin
  • Essayez de garder vos URI stables et persistants. Modifiez plus tard votre URI brisera tous les liens déjà établis, il est donc conseillé de leur consacrer une pensée supplémentaire à un stade précoce.
  • Les URI que vous pouvez choisir sont limitées par votre environnement technique. Si votre serveur est appelé demo.serverpool.wiwiss.example.org et qu’obtenir un autre nom de domaine n’est pas possible, alors votre URI devra commencer par http://demo.serverpool.wiwiss.example.org/. Si vous ne pouvez pas exécuter votre serveur sur le port 80, votre URI devra commencer par http://demo.serverpool.example.org:2020/. Autant que possible, vous devez nettoyer ces URI en ajoutant quelques règles de réécriture d’URI à la configuration de votre serveur Web.
  • Nous finissons souvent avec trois URI relatives à une simple ressource non-informative :
    1. un identifiant pour la ressource,
    2. un identificateur pour une ressource informative liée qui soit adaptée aux navigateurs HTML (avec une représentation de page Web),
    3. un identificateur pour une ressource informative liées qui soit adaptée aux navigateurs RDF (avec une représentation RDF/XML).
    4. Voici plusieurs idées pour le choix de ces URI associés :

    1. http://dbpedia.org/resource/Berlin
    2. http://dbpedia.org/page/Berlin
    3. http://dbpedia.org/data/Berlin
    4. Ou

    1. http://id.dbpedia.org/Berlin
    2. http://pages.dbpedia.org/Berlin
    3. http://data.dbpedia.org/Berlin
    4. Ou

    1. http://dbpedia.org/Berlin
    2. http://dbpedia.org/Berlin.html
    3. http://dbpedia.org/Berlin.rdf
  • Vous aurez souvent besoin d’utiliser une sorte de clé primaire à l’intérieur de votre URI, pour s’assurer que chacun est unique. Si vous le pouvez, utilisez une clé qui est significative de votre domaine. Par exemple, si vous traitez de livres, le recours à une partie du numéro ISBN dans l’URI est mieux que l’utilisation d’une clé primaire venant d’une table de base de données interne. Cela facilite également l’interprétation d’équivalence pour obtenir des liens RDF dérivés.

Exemples d’URI cool :

Voir aussi :


Traduction : How to Publish Linked Data on the Web? (2/10)

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 :

  • Http://www4.wiwiss.fu-berlin.de/factbook/resource/Russia (URI identifiant la non-information sur les ressources Russie)
  • Http://www4.wiwiss.fu-berlin.de/factbook/data/Russia (ressource informative avec une représentation RDF/XML décrivant Russie)
  • Http://www4.wiwiss.fu-berlin.de/factbook/page/Russia (ressource informative avec une représentation HTML décrivant Russie)

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 :

  1. Le client effectue une requête HTTP GET sur un URI identifiant une ressource non-informative. Dans notre cas un URI de vocabulaire. Si le client est un navigateur de données liées, et préfère une représentation RDF/XML de la ressource, il envoie un en-tête Accept: application/rdf+xml avec la requête. Un navigateur HTML enverrait un Accept: text/html au lieu de l’en-tête.
  2. Le serveur reconnaît l’URI pour identifier une ressource non-informative. Comme le serveur ne peut pas renvoyer une représentation de cette ressource, il répond en utilisant le code de réponse HTTP 303 See Other et envoie au client l’URI d’une ressource informative décrivant la ressource non-informative. Dans le cas RDF : RDF content location.
  3. Le client demande à présent par un GET au serveur d’obtenir une représentation de cette ressource informative, en demandant à nouveau application/rdf+xml.
  4. Le serveur envoie au client un document RDF/XML contenant une description de la ressource originale vocabulary URI.
http://www.w3.org/TR/swbp-vocab-pub/img/deref-ont-uri-rdf.pnghttp://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

  • Ce sont ceux qui ont pour objet un littéral RDF tels qu’une chaîne, un nombre ou une date. Les triplets littéraux sont utilisés pour décrire les propriétés des ressources. Par exemple, les triplets littéraux sont utilisés pour décrire le nom ou la date de naissance d’une personne.

Liens RDF

  • Ils représentent les liens typés entre deux ressources. Les liens RDF se composent de trois références d’URI. Les URI qui sont à la position du sujet et de l’objet identifient des ressources liées entre elles. L’URI qui est à la position du prédicat, définit le type du lien. Par exemple, un lien RDF peut affirmer qu’une personne est employée par une organisation. Un autre lien RDF peut attester que des personnes en connaissent certaines autres.

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.gifhttp://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.gifhttp://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.gifhttp://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.gifhttp://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 :

  • Les clients peuvent rechercher tous les URI dans un graphe RDF sur le Web pour obtenir des informations supplémentaires.
  • L’information provenant de sources différentes fusionnent naturellement.
  • Le modèle de données permet d’établir des liens entre les données RDF à partir de sources différentes.
  • Le modèle de données permet de représenter l’information qui est exprimée à l’aide des schémas différents dans un seul modèle.
  • En combinaison avec des langages de schéma comme RDF-S ou OWL, le modèle de données permet d’utiliser autant de structures qu’on veut, peu comme beaucoup. Cela signifie qu’on peut représenter autant des données fortement structurés que des données semi-structurées.

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 :

  • Nous déconseillons l’utilisation de nœuds vides. Il est impossible de définir des liens RDF externes sur un nœud vide, et la fusion de données provenant de différentes sources devient beaucoup plus difficile lorsque des nœuds vides sont utilisés. Par conséquent, toutes les ressources d’une certaine importance doivent être nommées en utilisant des références URI. Notez que les spécifications actuelles de FOAF ont rejeté les nœuds vides en faveur de références URI (voir rdf:about= »#me » dans leur exemple, et le post de Tim Berners-Lee sur le même sujet Offrez-vous un URI).
  • Nous déconseillons l’utilisation de la réification RDF car les sémantiques de la réification sont pas claires et les déclarations réifiées sont peu commodes pour interroger avec le langage de requêtes SPARQL. A la place, les métadonnées peuvent être jointes aux ressources informatives, comme cela est expliqué dans la section 5.
  • Vous devriez réfléchir à deux fois avant d’utiliser les collections RDF ou les conteneurs RDF car ils ne fonctionnent pas bien ensemble avec SPARQL. Est-ce que votre application a vraiment besoin d’une collection ou un conteneur ou bien l’information peut-elle également être exprimé en utilisant plusieurs triplets ayant le même prédicat ? La deuxième option simplifie les requêtes SPARQL.

How to Publish Linked Data on the Web / Comment publier des données liées sur le Web ? (1/10)

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) ont écrit ce beau tutorial de référence dont je veux donner ici une traduction pour en faciliter la diffusion dans l’espace francophone.

Je publierai cette traduction en 10 fois, respectant ainsi la découpe en section de l’original.

Résumé

Ce document fournit un tutoriel sur 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, nous présentons plusieurs recettes pratiques pour la publication d’information sous forme de données liées sur le Web.

1 – Introduction : les données liées sur le Web

L’objectif des données liées est de permettre aux gens de partager des données structurées sur le Web aussi facilement qu’ils peuvent partager des documents d’aujourd’hui.

Le terme de données liées (en anglais : linked data) a été inventé par Tim Berners-Lee dans sa note d’architecture Linked Data sur le Web de données liées. Le terme se réfère à un style de publication et d’interconnexion des données structurées sur le Web. L’hypothèse de base est que plus les données sont étroitement liées à d’autres données, plus leur valeur et leur utilité augmente. En résumé, les données liées concernent tout simplement l’utilisation du Web pour créer des liens typés entre données provenant de sources différentes.

Les principes de base des données liées sont les suivantes :

  1. utiliser le modèle de données RDF pour publier des données structurées sur le Web
  2. utiliser des liens RDF pour interconnecter les données provenant de sources différentes

L’application de ces deux principes conduit à la création de données communes sur le Web, un espace où les gens et les organisations peuvent déposer et consommer des données de toutes sortes. Cet espace commun de données est souvent appelé le Web de données ou de Web sémantique.

Le Web de données peut être consultés à l’aide d’un navigateur de données liées (en anglais : Linked Data browser), tout comme le Web des documents est accessible en utilisant un navigateur HTML. Toutefois, au lieu de suivre des liens entre les pages HTML, les navigateurs de données liées permettent aux utilisateurs de naviguer entre les différentes sources de données en suivant les liens RDF. Cela permet à l’utilisateur de démarrer d’une source de données pour passer ensuite d’autres sites Web, potentiellement une infinité de sources de données connectées par des liens de RDF. Par exemple, si un utilisateur étudie les données sur une personne provenant d’une source, il peut être intéressé à poursuivre sur des informations sur la ville où réside cette personne. En suivant un lien RDF, l’utilisateur peut naviguer vers l’information sur cette ville figurant dans un autre ensemble de données.

Tout comme le Web traditionnel de documents peut être exploré en suivant les liens hypertextes, le Web de données peut être exploré en suivant les liens RDF. En travaillant sur les données explorées, les moteurs de recherche peuvent fournir des capacités de recherche sophistiquées, semblables à celles fournies par les bases de données relationnelles classiques. Parce que les résultats des requêtes elles-mêmes sont des données structurées, non pas seulement des liens vers des pages HTML, ils peuvent être immédiatement traitées, permettant ainsi une nouvelle classe d’applications basées sur le Web des données.

La glu qui maintient ensemble le Web traditionnel, celui qu’appelle le Web des documents, ce sont les liens hypertextes entre les pages HTML. La glu du Web de données, ce sont les liens RDF. Un lien RDF établit simplement qu’une donnée est en relation avec une autre donnée. Ces relations peuvent être de différents types. Par exemple, un lien RDF qui relie des données sur des personnes peut indiquer que deux personnes se connaissent, un lien RDF qui connecte les informations d’une personne avec des informations sur des publications dans une base de données bibliographiques pourrait stipuler que la personne est l’auteur d’un document précis.

Il existe déjà beaucoup de données structurées accessibles sur le Web via des API Web 2.0, comme par exemple pour eBay, Amazon, Yahoo et Google Base. Par rapport à ces API, les données liées ont l’avantage de fournir un mécanisme d’accès unique et normalisé au lieu de s’appuyer sur différents formats d’interfaces et de résultat. Cela permet aux sources de données :

  • d’être plus facilement explorées par les moteurs de recherche,
  • d’être accessibles à l’aide de navigateurs génériques de données,
  • d’avoir des liens avec des sources de données différentes.

Après avoir posé les concepts des données liées, le reste de ce document se structure comme suit :

  • la section 2 énonce les principes de base des données liées.
  • la section 3 fournit des conseils pratiques sur la façon de nommer les ressources avec des références URI,
  • la section 4 examine des termes bien connus de vocabulaires et de sources de données qui devraient être réutilisé pour représenter de l’information,
  • la section 5 explique quelles informations doivent être incluses dans les descriptions RDF qui sont publiés sur le Web,
  • la section 6 donne des conseils pratiques sur la façon de générer des liens entre les données RDF à partir de sources de données différentes,
  • la section 7 présente plusieurs recettes complètes pour l’édition de différents types d’information comme données liées sur le Web à l’aide des outils liés publication des données existantes,
  • la section 8 concerne le test et le débogage de sources de données liées,
  • la la section 9 donne un aperçu des mécanismes de substitution pour la découverte de données liées sur le Web.
  • et la la section 10 qui vous fournit des liens vers des documents de référence et de nombreux outils.

  • Catégories

  • Calendrier

    avril 2024
    L M M J V S D
    « Mai    
    1234567
    891011121314
    15161718192021
    22232425262728
    2930  
  • Archives

  • Copyright © 1996-2010 Blogabriel. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress