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