Des articles enrichis grâce au web de données (DBpedia, Isidore)

Des articles enrichis grâce au web de données (DBpedia, Isidore)

(english summary scroll down)

Je continue à creuser le sillon entamé précédemment de démos simples et réutilisables de ce que peuvent apporter les données disponibles sur le web pour enrichir un texte, sans infrastructure compliquée. Pour cela je vous invite à entrer dans le laboratoire de sparna.fr ! http://labs.sparna.fr sera un terrain de jeu qui hébergera dans le futur d’autres applications et illustrations des technologies du web de données et de l’open data, « so stay tuned » !

Mais revenons à la démo, ou aux démos puisqu’il s’agit de 2 pages :

Qu’est-ce qu’elles illustrent ?

  1. La génération du contenu d’une partie du contenu à partir des données du web : ici, la génération automatique de la liste des articles du même auteur dans la page Isidore;
  2. L’affichage d’informations contextuelles lorsqu’on clique sur un élément annoté dans le texte : dans le cas de l’article scientifique, on va chercher sur Isidore, dans le cas de la news, sur DBpedia, mais le principe est le même : on affiche un encart avec titre, photo, définition ou description et un lien vers une page plus complète;
  3. Dans la démo DBpedia, la l’affichage sur une carte des noms de lieux mentionnés dans le texte : les noms des villes, régions ou pays sont marqués avec un identifiant DBpedia, et on va récupérer dynamiquement l’information de positionnement dans DBpedia, pour afficher un marqueur sur la carte; la carte et le texte sont synchronisés, quand on passe la souris sur un lieu géographique dans le texte, le marqueur correspondant sur la carte se met en surbrillance, et inversement;
  4. Dans la démo Isidore, la navigation dans les termes des thesaurus; certains mots du texte dans l’article (« habitat », « XVIIIe siècle », etc.) renvoient vers les concepts abstraits d’un thesaurus; on récupère alors les notions plus génériques et plus spécifiques de cette notion, qui seront elles-mêmes cliquables et permettent donc de naviguer dans la hiérarchie des terminologies associées à l’article;
  5. Dans le démo DBpedia, la possibilité d’afficher les informations dans plusieurs langues, simplement en changeant un paramètre de la page : essayez en français, en russe, en néerlandais, etc. vous avez compris l’idée, il suffit de changer le paramètre de langue dans l’adresse de la page;
  6. Enfin, tout cela illustre l’interrogation de bases SPARQL directement depuis les pages HTML, sans infrastructure serveur, puisque les requêtes sont envoyées en utilisant JSONP depuis du javascript; A noter que cela demande que le endpoint SPARQL supporte le JSONP; c’est le cas de Virtuoso qui est utilisé pour DBpedia et Isidore; Sesame le supportera dans sa prochaine version.

Que peut-on imaginer à partir de ça ? Plusieurs idées :

  • se brancher derrière un annotateur automatique qui mettrait les annotations automatiquement (type DBpedia Spotlight), pour présenter une interface de navigation enrichie à partir de n’importe quel texte;
  • imaginer une interface de navigation dans des thesaurus SKOS que l’on pourrait « brancher » sur n’importe quelle source de données contenant du SKOS pour naviguer dans des terminologies;

Vos idées et vos cas d’usage sont les bienvenus ! n’hésitez pas à montrer ces pages comme des démos ou à les récupérer et les adapter avec votre propre contenu !


English summary :

I have launched http://labs.sparna.fr and I am presenting 2 demos of articles augmented with linked data :

These pages illustrate :

  • How you can generate part of the content dynamically from the web of data : the list of articles from the same author in the Isidore demo is fetched dynamically when the page loads;
  • How you can pull and display contextual information besides the text, in an « infobox », when the reader clicks an underlined word;
  • How you can fetch geographic coordinates from DBpedia to automatically plot the locations mentionned in the text on a map (provided they have been « tagged » with a DBpedia identifier), in the DBpedia demo;
  • How you can navigate thesaurus terms in the Isidore demo : some words correspond to thesaurus concepts (« habitat », « XVIIIe siècle »), thus generic and specific concepts are displayed in the infobox;
  • That the data in DBpedia can be fecthed in diferent languages to adapt to the reader’s language : try to load the DBpedia demo in french, in russian, in dutch… and try playing with the 2-letter language code in the URLs to display other languages;
  • How SPARQL queries can be executed directly from within an HTML page without requiring any server infrastructure, provided the SPARQL endpoint supports JSONP;

Don’t hesitate to save the webpages and adapt them with your own annotated content, and drop me a note if you have other use-cases in mind !

Next Post:
Previous Post:
There are 9 comments for this article
  1. Thomas Francart Author at 11 h 53 min

    Il semblerait que le « clic droit > enregistrer sous > page web complète » ne fonctionne pas bien avec la carte google maps. Si vous voulez réutiliser ces démos vous pouvez télécharger directement les sources des pages HTML et tous les javascripts et css associés ici.

  2. ROZAT at 8 h 48 min

    Bonjour, et merci pour ce nouvel exercice intéressant ! Je me pose des questions sur l’utilisation des données Isidore. Quel est le/les référentiel(s) que l’on voit lorsque les « thèmes » apparaissent à droite ? Ce thésaurus contient-il des définitions (j’imagine que non, sinon elles seraient aussi affichées) ? On pourrait imaginer renvoyer aussi vers d’autres vocabulaires, si il existait des correspondances (avec RAMEAU par exemple).
    Ce ne sont pas des questions sur la techno mais plus sur les vocabulaires utilisés. Je trouve que c’est une idée très intéressante de mettre les référentiels en valeur, ils ne doivent pas servir qu’aux documentalistes 😉 Ils apportent au lecteur des connaissances fiables pour analyser et comprendre l’article rapidement.
    Enfin, comment le lien avec MediHal est-il fait ? Toutes les métadonnées MediHal sont-elles disponibles en RDF ?
    Merci par avance pour tes réponses, bonne journée.

    • Thomas Francart Author at 13 h 27 min
      • L’information sur le référentiel est bien présente dans Isidore sous la forme d’une propriété skos:inScheme (« maison forte » fait partie de RAMEAU par exemple). Je ne l’affiche pas dans l’infobox car la requête SPARQL commence à être un brin compliquée.
      • Pour les définitions et les alignements, pas facile à dire. On trouve quelques skos:scopeNote dans le endpoint, mais pas de skos:definition. La liste des référentiels utilisés dans Isidore est à http://www.rechercheisidore.fr/referentiels, RAMEAU en fait partie. Mais c’est clair qu’avoir un mini-navigateur de référentiel (plus complet que ce que j’ai fait) en regard du texte pendant la lecture pourrait apporter pas mal de choses.
      • Le lien avec MediHal est en fait présent dans les données RDF (c’est une valeur de la propriété dcterms:identifier); je ne sais pas si les données de MediHal elles-mêmes sont disponibles en RDF.
  3. Stéphane POUYLLAU at 22 h 02 min

    Sur MédiHAL, les métadonnées d’origine sont dans le 3store, ex. sur une photos :

    SELECT ?p ?o WHERE {
    ?p ?o
    }

    Pour avoir toutes les ressources de MédiHAL, par exemple sur un pays (via l’id geonames.org) :

    PREFIX dcterms:
    PREFIX dces:
    PREFIX foaf:

    select ?id ?titre ?mots_cles ?uri_enrichissements_ISIDORE ?uri_pays ?nom_auteur ?prenom_auteur ?coord_geo where {
    ?p ?o.
    ?o dcterms:identifier ?id.
    ?o dcterms:title ?titre.
    ?o dces:subject ?mots_cles.
    ?o dcterms:subject ?uri_enrichissements_ISIDORE.
    ?o dcterms:creator ?creator.
    ?creator foaf:familyName ?nom_auteur.
    ?creator foaf:givenName ?prenom_auteur.
    ?o dcterms:coverage ?uri_pays.
    ?o dces:coverage ?coord_geo
    FILTER (regex(?id, « 10670 ») && regex(?uri_pays, « 223816 ») && regex(?coord_geo, « [0-9] »))
    } LIMIT 500

    • Thomas Francart Author at 9 h 14 min

      Salut Stéphane, merci. Les « < » et « > » et toutes les URIs des requêtes SPARQL sont mal passées dans le commentaire, il faudrait les remettre en les escapant &lt; et &gt;

  4. René Manassé at 14 h 45 min

    Besoin d’un tutoriel avec Sésame, sa pourra m’aider dans mes recherches, please, je suis bloqué dans la réutilisation avec sésame.

    Merci d’avance

Répondre à Stéphane POUYLLAU Cancel comment reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>