Allons plus loin dans l’enrichissement de données avec Antidot Information Factory

Nous avons vu précédemment qu’avec la version 7.6 de nos outils, la création de chaînes de traitement de données était extrêmement simple : il est possible de réaliser une application web de recherche de musées en quelques minutes. Pour autant, nos clients utilisent Antidot Information Factory dans des projets où les chaines de traitement sont plus beaucoup plus complexes.

Afin de montrer comment AIF répond aussi à des besoins plus avancés, nous allons donc améliorer notre application « Musées de France » en enrichissant les données initiales. Nous avons retenu trois enrichissements :

  1. trouver des photos sur un site de photos en ligne (Flickr ou Wikimedia par exemple)
  2. trouver les gares SNCF les plus proches de chaque musée
  3. ajouter un contenu textuel présentant chaque musée

Des photos !

Le premier enrichissement a pour objectif de montrer qu’AIF est très à l’aise avec des données multimédia. Nous y introduirons également l’organisation des données dans chaque « objet document », que nous avions passée sous silence dans le précédent billet.

Flickr.com possède des API accessibles en web services, tout comme Google Maps. En utilisant le même module d’interrogation d’un web service, nous allons obtenir une liste de photos associées à chaque musée. Nous utiliserons ensuite un module de téléchargement qui récupérera les 3 premières photos renvoyées par Flickr.

N.B. : Les photos renvoyées par Flickr ne sont pas forcément des photos du musée en question, il peut s’agir de photos prises à proximité du musée. Nous accepterons cette simplification pour l’exemple.

Organisons nos données

Vous vous souvenez que notre base de données des musées de France était, à l’origine, un tableau Excel. Comment associe-t-on des photos à une ligne Excel ?

C’est ce que nous allons faire facilement, car Information Factory se fonde sur un modèle de données riche et organisé. Chaque ressource manipulée – ici une ligne Excel désignant un musée de France – est une mini base de données. Avec AIF, nous allons ranger les informations manipulées dans des couches de données bien identifiées, chaque couche ayant un rôle bien défini.

DocUnit-Layers-sections

La couche principale se nomme « Contents » et elle contient la transformation XML de la ligne Excel décrivant le musée.

Layer-Contents

Certaines couches ont des libellés spécifiques car elles sont destinées à des usages particuliers. D’autres sont à la disposition du créateur de la chaine de traitement.

Ainsi, les résultats de géolocalisation seront placés dans une couche de données nommée « USER_1 » :

Layer-Geo

Dans notre exemple, nous allons ranger les résultats de la recherche d’images Flickr dans « USER_2 » et nous conserverons les liens vers les 3 premières photos dans « USER_3 » :

Layer-Flickr  →  Layer-URLs

Enfin, nous rangerons ensuite les photos elles-mêmes dans les couches « USER_4 » à « USER_6 » :

Layer-Photos

Utilisons Flickr via son API

Pour faire cela, de la même façon que l’on avait appelé le web service de Google Maps, appelons celui de Flickr en lui passant en paramètre la latitude et la longitude de chaque musée :

Appel Flickr

Nous récupérons alors le contenu des ces images, sous forme de fichiers au format JPEG, que nous stockons directement dans des couches de notre objet Musée. En effet, la solution Antidot Information Factory intègre un composant de stockage NoSQL appelé Content Repository. Grâce à lui, les photos seront directement accessibles via des web services pour toute application qui en aurait besoin. C’est ainsi que le widget d’affichage d’un objet musée sur l’application web pourra présenter les 3 photos.

Voilà, nos fiches présentant les musées sont désormais illustrés de photos !

 

Nous verrons dans le prochain billet comment indiquer, pour chaque musée, quelle sont les gares SNCF les plus proches…

Comment enrichir des données en quelques clics ?

En termes simples, Antidot Information Factory est une usine pour assembler et faire tourner des chaînes de traitement de l’information. Un des points forts d’AIF réside dans le fait que ces chaînes sont modulables à souhait, ce qui garantit qu’elles pourront toujours être adaptées à la structure des contenus à traiter. Elles permettent de se concentrer sur ce que l’on veut obtenir des données initiales, d’un point de vue fonctionnel, en faisant abstraction de la complexité technique sous-jacente et sans avoir besoin de programmer quoi que ce soit.

Il nous a donc paru important que le moyen d’assembler et de maintenir de ces chaînes de traitement ne soit pas un obstacle à la créativité. C’est pourquoi nous proposons, avec la version 7.6 d’Antidot Information Factory, un éditeur de chaînes de traitement. Intégré au Back-Office Antidot, cet outil visuel en mode web permet de créer une chaine de traitement en quelques clics, en définissant simplement ce que l’on souhaite faire des données dont on dispose.

Réutiliser des données ouvertes

Prenons un exemple dans le domaine de l’Open Data, et imaginons que je veuille créer un service de découverte des musées français. Pour cela, je veux

  • télécharger la liste des musées de France sur le portail officiel data.gouv.fr, où cette ressource est disponible au format Excel
  • m’abstraire du format Excel pour pouvoir enrichir les données
  • créer un objet de contenu spécifique pour chaque musée
  • géocoder chacun de ces objets pour pouvoir les placer sur une carte
  • indexer ces données enrichies dans un moteur de recherche sémantique comme AFS
  • déployer l’application de recherche ainsi créée sur le cloud Antidot

Assembler simplement des modules de traitement

Cette suite d’actions est très facile à réaliser avec AIF, car ses 6 étapes se configurent aisément dans le Back Office Antidot, en piochant dans le catalogue des modules AIF prêts à l’emploi.

Cliquez sur rouedentee pour voir cette démonstration en haute définition.

En effet, AIF intègre plus de 60 modules catégorisés par usage :

  • connexion aux sources
  • transformation de format
  • enrichissement
  • appel à des web services externes
  • etc.

Résultat : notre application web « Musées de France »

C’est sur ce principe que notre application « Monuments Historiques » avait été réalisée l’an dernier, et c’est avec Antidot Information Factory que des clients comme Isidore, le MuCEM… travaillent désormais leurs données.

Et, grâce à AIF et à notre moteur de recherche AFS, vous profitez maintenant de notre application de découverte des musées de France, que vous pouvez même utiliser en vacances sur votre smartphone ou tablette !

Home Musées

 

Ceci n’est qu’une première étape, qui avait pour objectif de vous montrer à quel point Antidot Information Factory est simple à mettre en œuvre.

À suivre !

Dans nos prochains billets, nous vous montrerons comment AIF permet d’aller beaucoup plus loin, avec des chaînes de traitement plus puissantes… et toujours aussi faciles à assembler !

Découvrez les Monuments Historiques grâce à l’Open Data !

Pourquoi cette application ?

L’ouverture du site data.gouv.fr le 5 décembre 2011, aussitôt suivie d’autres initiatives, a marqué une accélération du mouvement Open Data en France.

Nous avons voulu apporter notre pierre à l’édifice, en réalisant une démonstration qui met en avant le grand intérêt qu’il y a à pouvoir mailler des données issues de différentes sources grâce aux standards du web sémantique, et la capacité de notre solution Antidot Information Factory à le faire rapidement et simplement, dans une approche industrielle.

Et parce que la France demeure année après année la première destination touristique mondiale, parce que nos territoires regorgent de trésors architecturaux et patrimoniaux, nous avons choisi de réaliser une application de recherche qui vous permet de partir à la découverte de près de 44.000 monuments historiques français !

Quelques explications (un peu) techniques :

Notre application « Monuments historiques » a été réalisée en exploitant 7 sources de données ouvertes :

  1. la liste des Immeubles protégés au titre des Monuments Historiques disponible sur data.gouv.fr. Cette source de données décrit 43.720 monuments dans un fichier CSV.
  2. la liste des gares de voyageurs du Réseau Ferré National avec leurs coordonnées  telle que fournie par data.gouv.fr. Cette source de données décrit 3.065 gares dans un fichier XLS. Elle est exploitée pour situer les monuments à proximité d’une gare.
  3. la liste des stations du métro parisien avec leurs coordonnées, fournie par OpenStreetMap. Cette source de données décrit 301 stations et elle est exploitée pour situer les monuments à proximité d’une station de métro.
  4. les données du code officiel géographique (COG) de l’INSEE. Cette source de données décrit 22 régions, 99 départements, plus de 4.000 cantons et chefs lieux dans un graphe RDF.
  5. Les photos des monuments historiques de Wikipedia proposée par Wikimedia Commons. Cette source de données, notamment alimentée par le concours Wiki loves monuments, apporte 122.828 photos pour 12.586 monuments historiques désignés par leur code PA : il s’agit d’un code délivré de façon unique pour chaque monument et présent dans la liste citée en 1.
  6. La description des monuments historiques de Wikipedia fournie par DBpedia. Cette source de données en RDF décrit 3,64 millions d’objets, dont 413.000 lieux. Cette source est accessible directement à partir des informations de Wikimedia Commons
  7. Les informations de géolocalisation de Yahoo! via Yahoo! PlaceFinder. Cette source permet de géolocaliser à partir de leur adresse les monuments non géolocalisés dans Wikimedia Commons ou DBpedia

La chaine de traitement mise en œuvre pour la réalisation de cette application avec Antidot Information Factory est la suivante :

  1. Une première étape de nettoyage, normalisation et transformation en RDF des fichiers CSV et XLS issus de data.gouv.fr au moyen de Google Refine.
  2. Récupération des données de Wikimedia Commons : un processus de traitement Antidot Information Factory collecte les informations via l’API de Wikimedia et les transforme en RDF : Antidot Information Factory a permis de construire ce processus industriel sans avoir à écrire une seule ligne de code, simplement en assemblant des modules de traitement pris dans une bibliothèque de 50 modules existants.
  3. Récupération des données d’OpenStreetMap pour les stations de métro via son API.
  4. Collecte de toutes les informations de géolocalisation par Antidot Information Factory via l’API de Yahoo! PlaceFinder, pour les lieux non déjà géolocalisés.
  5. Maillage de toutes les données issues des 7 sources par Antidot Information Factory : le résultat est un graphe RDF comprenant plus de 4,5 millions de triplets, dont près de 450.000 ont été inférés à partir des sources.
  6. Ce triple store est ensuite la source unique mise en entrée du module d’indexation du moteur de recherche Antidot Finder Suite.

Le résultat est une application web de recherche permettant  de trouver des monuments historiques

  • par une recherche en plein texte
  • dans une région, un département ou une ville donnés
  • par type de monument : église, château, statue, site industriel
  • par période historique : préhistoire, moyen-âge, renaissance etc
  • par type de propriétaire : personne ou société privée, commune, Etat…

avec combinaison possible de tous ces critères, sous forme de « facettes de recherche » très simples à manipuler.

Conclusion (provisoire)

Cette application a été réalisée en quelques jours, sans impliquer de développeurs et par simple paramétrage de notre solution Antidot Information Factory. Cela montre, s’il en est encore besoin, la puissance et la justesse de l’approche et des technologies du Web Sémantique promues par le W3C.

Cette application démontre que l’Open Data favorise l’émergence de nouveaux usages : par la mise à disposition de données qui sont facilement reliées à d’autres données, la seule limite devient notre imagination et notre capacité à proposer de nouveaux services innovants et utiles !

Merci à tous les fournisseurs de données qui ont rendu possible cette réalisation, notamment le Ministère de la Culture et de la Communication pour la liste des monuments historiques et la Société Nationale des Chemins de Fer pour la liste des gares, avec une mention toute particulière pour les contributeurs de Wikipedia, que vous pouvez soutenir par un don.

A vous maintenant de partir à la découverte de nos monuments historiques, au gré de vos envies !


Crédits : Etalab | Wikimedia Commons | DBpedia | Open Street Map | INSEE | Wikipedia francophone | Wikipedia anglophone

Application réalisée avec Antidot Information Factory – Nous contacter : [email protected]


Le contenu de ce billet est sous licence CC BY-SA. Traduction en anglais disponible ici.