Archive for the ‘Open Data’ Category

Open Data et Web Sémantique : tous les musées en France

Friday, February 28th, 2014

Nous vous invitons aujourd’hui à découvrir une nouvelle application web. Réalisée sur leur temps libre par Julien Homo et Gautier Poupeau, deux collaborateurs d’Antidot experts du web sémantique, cette application participe au concours organisé par le Ministère de la Culture et de la Communication et l’association Wikimedia France autour des données du projet SemanticPedia.

Cette application est une nouvelle version de l’application “Musées de France”, une réalisation didactique qui nous a permis de présenter sur ce blog les possibilités de nos logiciels Antidot Information Factory (AIF) et Antidot Finder Suite (AFS).

Mais assez parlé : à vous maintenant d’utiliser l’application “Musées en France” pour découvrir la richesse de notre patrimoine muséographique !

Musées en France : musée des Augustins à Toulouse

Exemple : la fiche du musée des Augustins à Toulouse

Et si vous voulez en savoir plus, nous levons aussi le voile sur le pourquoi et le comment de cette réalisation.

Bonne visite virtuelle !

 

Allons au musée en train

Friday, October 11th, 2013

Troisième épisode de notre feuilleton « Enrichir des données avec Antidot Information Factory » : après avoir transformé un fichier Excel en une application de recherche, puis intégré des photos librement disponibles sur le web, nous allons maintenant ajouter une information supplémentaire pour chacun de nos musées : la gare SNCF la plus proche.

Et ce qu’il y a de bien avec l’Open Data, c’est qu’on y trouve pléthore d’informations bien utiles. Ainsi, la liste des gares de la SNCF est disponible, tout comme celle des aéroports et des stations de métro (mais pas encore pour toutes les villes…). Pour notre exemple, nous nous focaliserons uniquement sur les gares.

De la même façon que pour la liste des musées de France, les gares ont leur fichier Excel sur data.gouv.fr. Une différence importante : ce fichier contient déjà les coordonnées de géolocalisation de chaque gare :

excel_railstations

Reste à rapprocher ces lignes Excel de nos musées. L’idéal serait d’avoir un web service répondant aux requêtes telles que « Quelle est la gare la plus proche de ce point (X,Y) ? ». On y enverrait les coordonnées du musée obtenues par l’enrichissement géographique et on aurait ainsi la gare recherchée.

Un fichier Excel n’est pas un web service, bien entendu, mais heureusement nous pouvons le créer assez facilement. En effet, un service de recherche tel que celui des musées peut être vu différemment que l’on soit un être humain (via une appli web ou mobile) ou une machine (via un web service). Le moteur de recherche AFS répond en effet aux requêtes reçues dans les formats techniques tels que XML et JSON qui sont les standards d’interopérabilité applicative sur le web.

Ainsi, le fichier Excel des gares de France devient un service de recherche géolocalisé en suivant les mêmes étapes que pour les musées :

railstation_paf_chain

 

  • transformation XML du fichier Excel

 

  • séparation de chaque ligne

 

  • indexation géolocalisée

 

  • déploiement

 

 

 

Une fois ce service de recherche de gare déployé, nous allons l’utiliser dans la chaine de traitement des musées pour obtenir la gare la plus proche. Pour cela, on réutilise le module d’appel de web service en se basant sur les paramètres d’appel d’un service de recherche AFS.

Ainsi, une requête telle que :

/search?afs:service=2013&afs:feed=RailroadFR
&afs:filter=geo:dist(45.76,4.86)<10000
&afs:sort=geo:dist(45.76,4.86),ASC

renvoit un flux XML des gares SNCF situées à moins de 10 km du point (45.76, 4.86), triées par distance croissante avec ce point.

Nous pouvons alors utiliser ce service de recherche comme un web service pour trouver la gare la plus proche de chaque musée.

Pour cela, nous rajoutons un nouveau module de requête web service à la chaine de traitement sur les données des musées :

paf_chain

Il se paramètre ainsi, toujours dans le Back Office d’Antidot Information Factory :

railstation_filter_param

Il suffit alors de relancer la chaine de traitement et le tour est joué : dans la fiche signalétique de chaque musée apparaît la gare la plus proche :

web_museum_3

Cela semble un peu magique, non ?

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

Wednesday, September 4th, 2013

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…