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 :
- Itérer dans DBpedia sur tous les livres qui ont un numéro ISBN.
- Créer un lien owl:sameAs entre l’URI d’un livre dans DBpedia et son URI correspondant dans Book Mashup en utilisant le modèle suivant pour les URI Book Mashup : http://www4.wiwiss.fu-berlin.de/bookmashup/books/ {numéro ISBN}.
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 :
- Interconnexion entre DBpedia et Geonames. Des informations sur des lieux géographiques sont présentes dans la base de données Geonames, ainsi que dans DBpedia. Afin d’identifier les lieux qui apparaissent dans les deux ensembles de données, l’équipe de Geonames utilise une heuristique basée sur les propriétés qui repose sur le titre de l’article ainsi que sur des informations sémantiques, comme la latitude et la longitude, mais aussi le pays, la division administrative, le type d’entité, la population et des catégories. L’exécution de cette heuristique entre les deux sources de données a permis de trouver 70500 correspondances qui ont été fusionnées comme des liens Geonames owl:sameAs avec l’ensemble de données DBpedia de la même façon qu’avec l’ensemble de données Geonames.
- Interconnexion entre Jamendo et MusicBrainz. Vous pouvez vous référer au post du blog d’Yves Raimond relatif à son approche de l’articulation entre Jamendo et MusicBrainz.