Rapport de TN10 : Développement D application Sémantique



Documents pareils
Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

Catalogue des formations Edition 2015

Présentation générale du projet data.bnf.fr

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Pentaho Business Analytics Intégrer > Explorer > Prévoir

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton

JDev Atelier Datalift

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

ANNEXE 2 DESCRIPTION DU CONTENU DE L OFFRE BUSINESS INFORMATION AND ANALYSIS PACKAGE

Datalift. + + Architecture Modularité Déploiements. d j = 09/04/2015 Laurent BIHANIC

BIRT (Business Intelligence and Reporting Tools)

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Compte-rendu re union Campus AAR 3 mars 2015

Libérez votre intuition

Chapitre 1 : Introduction aux bases de données

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Le signalement des acquisitions numériques à l échelle nationale Le rôle du hub de métadonnées scénarios et prototype

Les Architectures Orientées Services (SOA)

Compte Rendu d intégration d application

ArcGIS. for Server. Sénégal. Comprendre notre monde

1 Actuate Corporation de données. + d analyses. + d utilisateurs.

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia

1 JBoss Entreprise Middleware

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Un serveur d'archivage

PROSOP : un système de gestion de bases de données prosopographiques

ISTEX, vers des services innovants d accès à la connaissance

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

Panorama des solutions analytiques existantes

Mercredi 15 Janvier 2014

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

ArcGIS. for Server. Comprendre notre monde

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

De l OpenData aux citoyens : potentiel et limites des plateformes collaboratives

Stage : Développement du contenu Web

Master Informatique Aix-Marseille Université

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES

Catalogue Formations Jalios

Qu'est-ce que le BPM?

Entrepôt de données 1. Introduction

La solution pour gérer vos connaissances techniques et scientifiques

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Refonte front-office / back-office - Architecture & Conception -

BUSINESS INTELLIGENCE

les techniques d'extraction, les formulaires et intégration dans un site WEB

Suite Jedox La Business-Driven Intelligence avec Jedox

Business Intelligence avec SQL Server 2012

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Module BD et sites WEB

SECTION 5 BANQUE DE PROJETS

UE 8 Systèmes d information de gestion Le programme

MYXTRACTION La Business Intelligence en temps réel

Catalogue Formation «Vanilla»

Générer du code à partir d une description de haut niveau

IBM Business Process Manager

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

ABILIAN SICS-PC. Abilian SYSTÈME D INFORMATION COLLABORATIF ET SÉCURISÉ POUR LES PÔLES DE COMPÉTITIVITÉ

Atelier 1. Portails documentaires : BioLib et Cemadoc

Portail collaboratif Intranet documentaire Dématérialisation de processus

Business Intelligence avec Excel, Power BI et Office 365

Analyse comparative entre différents outils de BI (Business Intelligence) :

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise.

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Chef de file dans le développement de solutions de gestion de contenu

En route vers le succès avec une solution de BI intuitive destinée aux entreprises de taille moyenne

La Geo-Business Intelligence selon GALIGEO avec 26/10/2005 1

Semantic Web Inside Guillaume Érétéo Directeur R&D

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Bien architecturer une application REST

QUI SOMMES-NOUS? Cette solution s adresse aussi bien aux PME/PMI qu aux grands groupes, disposant ou non d une structure de veille dédiée.

Pilot4IT Tableaux de Bord Agréger et consolider l ensemble de vos indicateurs dans un même portail.

Introduction à Microsoft InfoPath 2010

Chapitre 9 : Informatique décisionnelle

Gestion collaborative de documents

JOnAS Day 5.1. Outils de développements

EXTENSION de Microsoft Dynamics CRM Réf FR 80452

Déjeuner EIM Enterprise Information Management. Mardi 16 novembre 2010 Restaurant l Amourette Montreuil Thomas Dechilly CTO Sollan

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Business Intelligence

WHITE PAPER Une revue de solution par Talend & Infosense

PRÉSENTATION PRODUIT. Plus qu un logiciel, la méthode plus efficace de réconcilier.

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Méthodologie de mise en place de

CQP Développeur Nouvelles Technologies (DNT)

Bénéfices pour votre organisation : une solution pouvant supporter vos besoins d affaires

CATALOGUE DE LA GAMME EASYFOLDER OFFRE GESTION DE CONTENUS NUMERIQUES

Introduction MOSS 2007

Transcription:

Etudiant : Yujue WANG Suiveur UTC : Marie-Hélène ABEL UTC GI Automne 2014 Août 2014 Février 2015 Rapport de TN10 : Développement D application Sémantique Entreprise : Mondeca Lieu : 35 boulevard de Strasbourg Responsable : Anh HUYNH

REMERCIEMENTS Je tiens avant tout àremercier Anh HUYNH, pour sa disponibilité, son aide, le suivi et l accompagnement du projet. Je remercie également l équipe Mondeca pour leur accueil, leur gentillesse et leurs conseils pendant la durée de mon stage. 2

SOMMAIRE REMERCIEMENTS... 2 SOMMAIRE... 3 INDEX DES SCHEMA... 5 1. RESUME TECHNIQUE... 6 2. INTRODUCTION... 7 3. PRÉSENTATION DE LA SOCIÉTÉ MONDECA... 8 3.1. En général... 8 3.2. Les partenaires... 9 3.3. Cas clients... 10 3.4. Intelligent topic manager (ITM)... 10 3.4.1. D un Point de vue commercial... 11 3.4.2. D un point de vue fonctionnel... 12 3.4.3. Les fonctionnalités... 12 3.5. Normes et environnement technique... 13 3.6. Participation de Mondeca aux travaux de standardisation XML... 13 3.7. Participation de Mondeca à des projets de R&D nationaux et européens... 13 4. PRESENTATION DU PROJET, CONTEXTE ET PREREQUIS... 15 4.1. Présentation du projet... 15 4.2. Les prérequis... 15 4.2.1. Concepts et langages du Web Sémantique... 15 4.2.2. GWT (Google Web Toolkit)... 16 x4.2.3. OpenRefine... 18 4.2.4. ITM... 21 4.3. Planning du projet... 25 5. LE DEROULEMENT DU PROJET... 27 5.1. Comparaison en général... 27 5.1.1. Datalift... 27 5.1.2. Trifacta... 28 5.1.3. OpenRefine... 28 5.1.4. Paxata... 29 3

5.2. Comparaison détaillée de Datalift et OpenRefine... 29 6. LA REALISATION... 31 6.1. Mondeca-refine... 31 6.2. Le serveur... 31 6.2.1. Architecture... 32 6.2.2. Réconciliation Service API... 33 6.3. Les étapes en détail... 35 6.3.1. Objet cible... 35 6.3.2. Filtrer data sources... 37 6.3.3. Requêtage et Mapper résultats du LOD avec les cibles... 39 6.3.4. Fusion et Import... 41 6.3.5. Maveniser le projet... 44 7. APPORT PERSONNEL ET PROFESSIONNEL... 47 8. CONCLUSION... 48 9. BIBLIOGRAPHIE... 49 4

INDEX DES SCHEMA Développement d Application sémantique Figure 1 : indépendance du contenu, paramétrage par ontologie et enrichissement automatique... 11 Figure 2 : Catégorie de langage... 16 Figure 3 : Cycle du GWT application... 17 Figure 4 : Ajax vs Tradition HTML... 17 Figure 5 : OpenRefine écosystème... 19 Figure 6: Structure et fonctionnalité d ITM... 21 Figure 7 : Architecture d ITM... 24 Figure 8 : 5 étages du Datalift... 27 Figure 9 : Processus pour traiter les données dans Paxata... 29 Figure 10 : Vue d ensemble sur «Harvest LOD»... 35 Figure 11: cibler les entités... 36 Figure 12: Les entités trouvées dans la base d'itm... 36 Figure 13 : L'écran de contenu de l'entité... 37 Figure 14: Ajouter réconciliation service standard... 38 Figure 15 : Ajouter réconciliation service sparql endpoint... 38 Figure 16 : Proposition de maquette pour le filtrage des sources de données... 39 Figure 17 : Preview API Exemple... 39 Figure 18 : Mapping... 40 5

1. RESUME TECHNIQUE Développement d Application sémantique D un point de vue technique, le stage fut particulièrement enrichissant car la réalisation du projet a nécessitél utilisation de nombreuses technologies. Dans le cadre du projet, l environnement de développement se base sur J2EE dans Eclipse. Le framework GWT (Google Web Toolkit) est utilisépour IHM (Interaction Homme Machine), ce qui permet de créer et maintenir des applications web dynamiques mettant en œuvre Javascript. Côtéserveur, OpenRefine est utilisépour réaliser la récupération des données sur LOD (Linked Open Data) à l aide de son mécanisme d enrichissement les données sémantiquement. Et puis, l outil Apache Maven est aussi utilisé pour la gestion et l automatisation de production du projet et SVN est utilisé pour la gestion des versions concurrentes de sources. D autres technologies ont éténécessaires au développement de ce projet, notamment : CSS pour mettre en forme les pages WEB Json, un format de données textuelles dérivéde la notation des objets du langage Javascript qui permet de stocker et échanger des données entre le serveur et le client. Des normes du Sémantique Web : SPARQL, RDF, SKOS 6

2. INTRODUCTION Dans le cadre de mon stage de fin d études d UTC, j ai eu l opportunité d intégrer et réaliser un projet au sein de l équipe Développement de l entreprise Mondeca, sociétéspécialisée dans le domaine du web sémantique et de la gestion des connaissances. Ce stage m a aidé à approfondir mes connaissances sur l ingénierie des connaissances et de l information, le choix de ce stage fait logiquement suite àmon souhait de contribuer àdévelopper des interfaces. Et puis, les concepts et technologies du Web Sémantique permettent une avancée de mes connaissances sur ce domaine. Les technologies du web sémantique et la gestion intelligente de connaissances s adressent à la fois aux entreprises et aux particuliers. Elles permettent aux entreprises de capitaliser leurs connaissances et de les retrouver plus facilement. Quant aux particuliers, elles leur permettent un accès plus pertinent à l information et à la connaissance. La mission du stage est sur l intégration de la fonctionnalité dans l application ITM pour réconcilier les données avec des Linked Open Data afin d enrichir la base de données d ITM. Ce rapport présente tout d abord la société Mondeca, ses activités industrielles et de recherche, de pointe dans le domaine du Web Sémantique. Ensuite, il présente le sujet du stage, le contexte et le besoin pour faire le sujet. Puis il y a des comparaisons sur des outils qui peuvent aider de réaliser la partie serveur de ce projet et les détails pour réaliser ce projet. Enfin, le rapport conclura sur ce que le stage m a apporté, que ce soit du point de vue professionnel ou du point de vue humain et les perspectives envisagées. 7

3. PRÉSENTATION DE LA SOCIÉTÉ MONDECA 3.1. En général L'organisation et l'accès riches et simples, pragmatiques et performants des contenus, informations et des connaissances différencient les gagnants des perdants dans l'économie de la connaissance. Mondeca, créée en début 2000 est un éditeur de logiciel spécialisédans les solutions de gestion d ontologies. Les ontologies permettent l organisation et l accès aux contenus et connaissances. Le nom de l'entreprise provient d'un endroit appelémont des Cats, lieu d'une abbaye cistercienne située en Flandre française, connue aussi pour sa production de fromage. Le nom fait référence àl'univers de Marguerite Yourcenar, et àune région de longue tradition de publication, d'enseignement et de libertéintellectuelle. Mondeca équipe aujourd hui des grands groupes dans les secteurs de l édition professionnelle, de l industrie, de la défense et du tourisme. Mondeca se positionne sur le marchédu Knowledge Management en proposant sa solution ITM (Intelligent Topic Manager), c est une solution de gestion de connaissances et de ressources documentaires. Ce produit s appuie sur les normes Topic Maps d une part pour représenter la connaissance, et OWL (Web Ontology Language) d autre part pour décrire les ontologies et ainsi structurer la connaissance. Les solutions développées par Mondeca répondent àdifférents types de besoins comme cidessous : Fédération et organisation de contenus hétérogènes Gestion de référentiels métiers Gestion de base de connaissances, terminologies, taxonomies et ontologies Les solutions permettent de modéliser et décrire la connaissance des organisations pour améliorer la recherche et l'accès àl'information pertinente, gérer et produire le graphe de représentation de ces données et centraliser la gestion du référentiel. Elles permettent en outre l agrégation et l annotation sémantique des contenus et leur mise à disposition par le biais de portails sémantiques, les solutions Mondeca ont étéreconnues par la Commission Européenne avec la remise du «IST Prize 2003» qui récompense les 20 produits les plus innovants de l année. 8

Mondeca réalise aussi une activitéde conseil et de formation basée sur son expertise dans les domaines de l organisation des contenus et connaissances, de l édition professionnelle et des normes du web sémantique. Mondeca accompagne également les entreprises àla mise en œuvre des technologies du web sémantique et des ontologies (concepts, normes, processus de modélisation d ontologie), ainsi de réaliser des prestations de conseil pour la mise en œuvre d architecture de systèmes d information et système de gestion des connaissances en particulier dans l industrie de l édition et dans le domaine de l e-tourisme. L offre logicielle est rassemblée sous le nom de Smart Content Factory, c est à dire que une suite de différents logiciels permettant de structurer l information suivant des terminologies et ontologies pré-définies : Intelligent Topic Manager (ITM) : base de données sémantiques qui permettent la gestion des Terminologies, Taxonomies, Thésaurus, Base de connaissances, Dictionnaires de médadonnées. C est un logiciel ouvert, fondé sur les standards du Web Sémantique : XML, URI, RDF, SKOS, OWL, API et Web Services. Content Annotation Manager (CA Manager) : logiciel d annotation sémantique de contenu qui incorpore un module de text-mining commercial (Luxid de Temis) ou libre (Gate) Content Classifier : service de catégorisation automatique àla base de règles Knowledge Browser : explorateur de données RDF Modules de publication de contenu enrichi : par exemple un connecteur vers le moteur de recherche libre Luxid/SolR 3.2. Les partenaires Mondeca est intégréau sein d'un large écosystème d'entreprises. Elle a développéun réseau international de partenaires intégrateurs et consultants qui participent àla commercialisation et à l'intégration de nos produits. Mondeca a aussi construit de multiples partenariats technologiques afin d'offrir des solutions sémantiques complètes qui incluent outils de textmining, moteurs de recherche et bases de données sémantiques. Mondeca poursuit une stratégie de partenariats avec les principaux acteurs intégrateurs de son marché: Les sociétés de consulting et intégration : Logica/Unilog, Cap Gemini, Thales, EuroRSCG, CS, RS2I, etc. Les acteurs disposant de technologies complémentaires et tout particulièrement Antidot, Exalead et Temis en France. 9

3.3. Cas clients Industrie automobile Objectif : utilisation d ITM pour la mise en œuvre d une base de connaissance technique à destination des concepteurs de nouveaux véhicules. Bénéfices : réutilisation de la solution ITM pour tous types de base de connaissance dans l entreprise, capacitéde la solution de gérer la complexitédes connaissances mises en œuvre, gains de productivités. Edition Juridique Objectif : productivitédans le cycle acquisition de contenu, qualification, organisation, publication. Bénéfices : référentiel et bases de connaissances juridiques pour indexer et organiser le contenu. Automatisation de la mise àjour de la base de connaissance et de la base de liens entre textes juridiques en connexion avec des outils de text-mining et catégorisation. Automatisation du processus de génération des outils de navigation sur les publications (index, tables, références croisées ). Armée Objectif : capitalisation de connaissances sur des données océanographiques. Publication de bases de connaissances interactives sur CD-Rom embarqués sur les navires. Points forts : organisation formelle des connaissances et contenus multimédia dans une ontologie. Efficacitédes systèmes de recherche et navigation dans le contenu (visu texte, graphique, cartes). Publication automatisé de bases de connaissances embarquées et interactives (recherche, création de dossiers ). Solution réutilisable pour d autres bases de connaissances. Tourisme Objectif : organisation autour de bases de connaissances touristiques des ressources d une région pour une valorisation et visibilité des ressources touristiques locales. Points forts : solution multilingues pour la valorisation des ressources touristiques et culturelles d un territoire et la fédération des contenus web. Moteur de recherche spécialisée faisant l intermédiation entre les moteurs de recherche généraliste et l offre touristique du territoire. 3.4. Intelligent topic manager (ITM) ITM est une plateforme logicielle pour la gestion des référentiels d entreprises, il permet de gérer de manière unifiée des terminologies métiers, des thésaurus, des taxonomies, un dictionnaire de métadonnées. Basée sur les technologies du web sémantique, ITM est aussi une solution web, simple à déployer dans l intranet, qui permet un travail collaboratif au sein de l entreprise. La mise à disposition de Web Service et des API, ainsi que l utilisation des standards XML, SKOS et RDF assurent une intégration simple dans le système d information. ITM s adresse aux entreprises dont la problématique tourne autour des métiers de la veille économique et de la gestion de connaissance et qui gèrent pour leur activité de larges ensembles de documentations professionnelles (documentation réglementaire, financière, médicale, légale économique, technique ) et des processus techniques évolués. Au travers 10

d une telle solution, les entreprises apportent à leurs employés, équipes de R&D, partenaires et clients des informations pertinentes organisées autour d ontologies, de thésaurus, de taxonomies et de base de connaissances métier. 3.4.1. D un Point de vue commercial ITM s appuie sur trois concepts: La séparation nette entre les outils d organisation du contenu et ceux de gestion du contenu, afin de disposer d une solution d organisation utilisable sans modification des systèmes existants (versus refonte des systèmes de l entreprise) Des modèles d organisation paramétrables en fonction des besoins, du secteur d activité et de l existant (versus développements spécifiquement coûteux et non évolutifs) L enrichissement automatique des bases de connaissance et l organisation du contenu à partir d outils linguistique (versus enrichissement manuel et/ou organisation pauvre) Figure 1 : indépendance du contenu, paramétrage par ontologie et enrichissement automatique 11

3.4.2. D un point de vue fonctionnel ITM gère un réseau sémantique constituéde sujets (topics) reliés entre eux par des rôles et des associations typés. Sur chacun des objets de ce réseau, aussi bien topic, rôle, qu association sont rattachées des données, elles aussi typées (nom, adresse e-mail, note explicative, etc.). ITM prend également en compte la gestion : Des droits d accès et des espaces de travail Des ontologies et thésaurus multilingues Des dates de validitédes informations L un des principes de base d ITM est que son paramétrage se fait par le réseau sémantique lui-même. 3.4.3. Les fonctionnalités Serveur de connaissances : ITM est un serveur performant de connaissances àdestination des employés, experts, service de support, équipe commerciales, équipes de veille et partenaires permettant un accès efficace aux informations métiers pertinentes. Interrogation/recherche/représentation graphique des connaissances : ITM offre aux utilisateurs des fonctions de recherche et navigation, s appuyant sur une solide organisation du contenu et prenant en compte l activité métier, le profil des utilisateurs ainsi que le contenu des bases de connaissance. Les fonctions de recherche s intègrent à des fonctions de représentation graphique de l organisation de sujets. Des recherches telles que «trouver toutes ressources touristiques liées au patrimoine culturel de l Anjou, proche d un restaurant gastronomique» sont exécutés en utilisant la classification des objets et les relations sémantiques qui les relient. Publication : Les services de publication permettent la mise à disposition d un contenu organisé et structuré sous la forme d éditions bureautiques, d un site web d un document XML. Les fonctions de publication sont utilisées pour construire une proposition commerciale complexe, éditer un rapport sur un sujet spécifique ou publier un site web dans le cadre d un projet. Indexation (annotation) et fédération de ressources multimédia : ITM offre un service d indexation des contenus sur la terminologie et les sujets métiers, ainsi que d annotation automatique de documents. Serveur de vocabulaire métier : Les fonctions de serveur de vocabulaire métier mettent àdisposition des utilisateurs la définition et les traductions des différents termes métier. Serveur de taxonomies : Les fonctions de serveur de taxonomies permettent de mettre àdisposition des portails des organisations de contenu àjour et adaptées au profil des utilisateurs. Raisonnement et inférence : 12

Des outils de raisonnement et d inférence peuvent être utilisés pour apporter des services à valeur ajoutée lors de la recherche d information par les utilisateurs mais aussi dans les tâches d administration de la base de connaissance. 3.5. Normes et environnement technique Utilisation des normes du Sémantique Web : XML, OWL, RDF, SKOS (W3C), Topic Maps (ISO) Environnement technique : J2EE, SOA, API, Web services 3.6. Participation de Mondeca aux travaux de standardisation XML Mondeca est activement et directement impliquédans les groupes de normalisation travaillant sur les représentations des connaissances dans un environnement XML avec les participations suivantes : Membre du W3C, participation à l activité Web Onto pour la norme Ontology Web Language (OWL) Membre fondateur du groupe de normalisation XML Topic Maps (TopicMaps.Org), Membre actif du groupe de travail ISO/IEC FCD 13250:1999 Topic Maps Membre actif du groupe SWAD (W3C) participation àla normalisation SKOS 3.7. Participation de Mondeca à des projets de R&D nationaux et européens Fortement impliquédans la définition des standards du Sémantique Web, Mondeca participe à plusieurs projets de recherche nationaux et européens (ANR, FUI, Pôle de compétitivitécap Digital, IST, ICT). Open Food System : Développement de solutions innovantes de cuisine numérique Open Food System est un projet de recherche ayant pour ambition de construire un écosystème de référence permettant de faciliter la préparation des repas grâce àla mise àdisposition de contenus, d appareils et de services innovants. Il réunit, autour du Groupe SEB, 25 partenaires publics et privés. FIORA : Monteur d inférences pour le conseil personnalisé Avec l accroissement rapide du volume d information numérique accessible en ligne et le nombre croissant de services associés (sur Internet ou sur supports mobiles), le e- usager est confrontéàun problème majeur de désorientation lors de son usage des e- 13

services ; si il trouve une multitude d informations, il peine à la transposer à son contexte personnel. Face àce problème, l'objectif du projet est la construction d'un système produisant du contenu et des conseils personnalisés pour un e-usager. La preuve du concept sera apportée via la réalisation de deux expérimentations en situation dans les domaines «Nutrition & Santé»et «e-tourisme». Tersan : Terminologies et Référentiels d interopérabilité sémantique en Santé Développer des solutions d annotation sémantique de structures de données cliniques (prescriptions d actes ou documents structurés de résultats de biologie, d anatomie pathologique, de radiologie, etc.) selon des référentiels d interopérabilité sémantique permettant leur partage et leur exploitation standardisés par des SIS d établissements de santédistincts. Gérer aussi bien les terminologies de référence du domaine de la santé(telles que CIM10, ADICAP, LOINC, SNOMED 3.5 VF, CCAM, etc.) que d autres types de ressources sémantiques (modèles de structures de données et terminologies d interface) indispensables à l émergence d une utilisation effective et à grande échelle de ces terminologies de référence. TWIRL : Twinning virtual World (on-line) Information with Real world (off-line) data sources Proposer un environnement permettant d agréger des données hétérogènes et de les utiliser afin d enrichir les applications les plus utilisées quotidiennement. Fournir une architecture de référence permettant la construction d applications TWIRL, des connecteurs vers différentes sources de données, des mécanismes de gestion et de capitalisation des connaissances, des modules de traitement des informations. Mettre en place deux démonstrateurs «Augmented Life» et «Augmented business» qui permettront de valider l approche TWIRL sur des cas concrets LegiLocal Il vise àaider les collectivités dans leur prise de décision locale en replaçant leurs décisions dans un contexte juridique (national, européen), économique, politique et collaboratif ; Il vise à simplifier l'accès des citoyens aux données administratives, juridiques, publiques locales en proposant aux collectivités un bouquet de services qui s'intègrent aisément àleur site web en s'appuyant sur les technologies du Web Sémantique ; Il doit permettre aux citoyens de s approprier la chose publique en lui donnant la possibilité de participer à des communautés de citoyens s informant et commentant les décisions des collectivités locales. Datalift Le Datalift porte les données brutes structurées venant de plusieurs formats (bases de données, CSV, XML) vers des données sémantiques interconnectées sur le Web de données. Le but du projet est de développer une plateforme pour publier et interconnecter des jeux de données sur le web de données. Datalift àla fois publie des jeux de données provenant d'un réseau de partenaires et propose un ensemble d'outils facilitant le processus de publication de jeux de données : sélection des ontologies pouvant décrire les données, conversion des données en RDF en rapport avec la ou les ontologies sélectionnées, publication sur le web de données, interconnexion des données avec d'autres. 14

4. PRESENTATION DU PROJET, CONTEXTE ET PREREQUIS 4.1. Présentation du projet Mondeca s'appuie sur les technologies J2EE, les standards du Web sémantique et une expertise de haut niveau. La suite logicielle de Mondeca «Smart Content Factory»possède plusieurs composants permettant la gestion de vocabulaires ou de bases de connaissance pour l annotation sémantique des contenus, pour l optimisation des moteurs de recherche, pour la publication de données ouvertes et liées et également pour le raisonnement. La modularitéde la suite permet de s adapter finement aux exigences et besoins des clients. Par conséquent, dans ce projet, il faut maintenir et enrichir ces composants ainsi que de concevoir des IHM, enrichir les aspects Open Data de l application, en particulier d étudier l intégration des composants Freebase de Google et des Sparql EndPoint àla fois au niveau des interfaces utilisateur et des APIS. Objectif : Définir et implémenter les modes d intégration des sources de données liées ouvertes, permettant d enrichir, ou de contrôler les données dans ITM Selon l objectif et la fonctionnalité de cet API àdévelopper dans ce projet, on a nommé «Harvest LOD» (LOD est l abréviation de Linked Open Data) 4.2. Les prérequis 4.2.1. Concepts et langages du Web Sémantique La recherche dans les divers pans du domaine de la gestion de connaissance (Knowledge Management) a notamment fait apparaître la nécessité d inclure une représentation sémantique des connaissances. Ainsi, une ressource, dont le sens resterait opaque du point de vue de la machine, peut être interprétée. Dans le domaine du Web et d Internet, une standardisation a commencé, avec en 1994 la fondation du W3C et les travaux de Berners-Lee sur le Web Sémantique et RDF : (Berners-Lee, 1999). Il y a eu une évolution des formats contenant les données : d abord un langage HTML qui mélange fond et forme, puis un format XML où la forme est indépendante, puis vers le format RDF, contenant des données référencées, reliées entre elles et dont la modélisation repose sur la logique formalisée des prédicats. Pour augmenter l expressivité du modèle RDF, furent enfin développés des modèles de représentations de connaissance permettant d écrire des ontologies : OWL. XML : Langage de balise, doté d un schéma (XML Schéma). Le format XML est la couche basse, syntaxique, qui n impose qu une structure de type arborescente, qui peut être contrôlée par une grammaire appelée DTD. RDF : Ressource Description Framework : représentation des objets du «monde»par la modélisation par triplets : Sujet prédicat objet. Repose sur la logique des 15

prédicats et un certain formalisme. Plusieurs formes d écritures du modèle RDF existent, et la principale est RDF/XML. RDF est une recommandation W3C. Un exemple d API très utilisée pour RDF est celle de Jena. XTM : Topic Map (associations de concept). Langage de représentation des connaissances. La principale différence avec RDF est la modélisation des associations entre N concepts entre eux, contre seulement 2 pour RDF. RDFS : RDF Schéma. Permet de décrire les classes des entités, les propriétés pour les objets de ces classes. Propose un schéma des objets «classes», «ressources», «property», «subpropertyof», «subclassof». OWL : plus expressif que RDFS, il contient 3 niveaux : Lite, DL, Full. Permet de décrire des ontologies, qui, plus qu un diagramme de classe, contient les relations entre classes, les contraintes (ex : les cardinalités). Ce langage de description est issu des travaux réalisés sur DAML+OIL. OWL permet d exprimer un modèle de donné plus expressif par en graphe RDF. OWL Lite permet d avoir la décidabilité lors de l inférence. Le niveau DL, plus expressif, donne une décidabilité après un certain temps de réponse. Enfin, le niveau Full ne permet pas d utiliser un algorithme d inférence qui soit décidable. Identificateur de ressources : il est nécessaire de pouvoir identifier de manière unique les ressources. Les URI ou URN sont utilisées pour les référencer, sous forme de PSI (Published Subject Indicator) en Topic Map. Figure 2 : Catégorie de langage Ontologie : définition du vocabulaire d un domaine de connaissance particulier, les concepts du monde, la structure des classes, les relations entre elles, leurs propriétés, les règles d inférences. 4.2.2. GWT (Google Web Toolkit) GWT est un outil qui permet de réaliser des applications internet riches (Rich Internet Application ou RIA). La particularitéde GWT est de pouvoir écrire une RIA en utilisant uniquement le langage de programmation Java, pour écrire le code du client et celui du serveur. 16

En effet, le compilateur de GWT transforme le code Java qui doit être exécutépar le client en code JavaScript. GWT propose également un modèle homogène entièrement RPC (Remote Procedure Call). La Schéma 3 ci-dessous, illustre les différents life-cycles de la production logicielle d une application GWT. Figure 3 : Cycle du GWT application GWT simplifie le développement Ajax pour les développeurs Java, il est compatible avec tous les navigateurs ainsi il leur permet de travailler dans leur IDE (Integrated development environment) Java préféré. Figure 4 : Ajax vs Tradition HTML 17

x4.2.3. OpenRefine OpenRefine est un outil interactif de transformation de données qui permet de diagnostiquer les problèmes de qualitédans un jeu de données et de les corriger dans la foulée, ainsi que d enrichir les données sémantiquement. OpenRefine a étécrééen 2010 sous le nom Freebase Gridworks par la sociétémetaweb Technologies. Rachetéla même année par Google, l outil est devenu GoogleRefine. Enfin, Google a décidé en de l ouvrir complètement à la communauté en le rendant entièrement open source sous le nom d OpenRefine en 2012. OpenRefine fonctionne sur un mécanisme de plugins permettant d ajouter des extensions pour réaliser des fonctionnalités supplémentaires. Par exemple, l extension RDF nous permet d ajouter des connecteurs à des endpoints SPARQL, afin d exporter les données en RDF. a). Les fonctionnalité principales OpenRefine propose trois fonctionnalités principales: Exploration des données Nettoyer et transformer des données Réconciliation et Matching les données Dans ce projet, on utilise principalement la fonctionnalitéde «Réconciliation et Matching les données»pour enrichir la base de données d ITM. b). La réconciliation OpenRefine offre un workflow innovant à partir de l ingestion de données àla consommation, ce qui a la capacité de concilier la cohérence des informations et de travailler avec des services de traitement de données àdistance. OpenRefine s intègre avec plus de 16 services de réconciliation et son mécanisme de plugins permet à la communauté de contribuer l enrichir en composants et services. Le schéma ci-dessous illustre les différents services et plugins travaillant avec OpenRefine, ainsi que les projets qui ont fait contribuéàenrichir OpenRefine durant l intégration de l outil dans leurs processus de manipulation de données. 18

Figure 5 : OpenRefine écosystème Les sources de données réconciliables Avec OpenRefine, on peut effectuer la réconciliation avec toust web service prenant supportant la «Reconciliation Service API». La réconciliation avec Freebase est intégrée dans OpenRefine, mais il y a plusieurs d autres services de réconciliation qui peuvent également utilisés dans OpenRefine. Général : o Reconcile-csv : c est un service de réconciliation pour des fichiers CSV. Il utilise la correspondance floue pour correspondre àdes entrées dans un ensemble de données entrées dans un autre ensemble de données, ainsi pour aider àintroduire des identifiants uniques dans le système. o Nomenklatura : Nomenklatura est un service simple qui le rend facile de maintenir une liste canonique des entités telles que des personnes, des entreprises ou des rues de l'événement et pour correspondre entrée désordre, comme leur nom contre cette liste canonique. Par exemple, correspondant àacme Widgets, Acme Widgets Inc et Acme Widgets Incorporâtes aux canoniques «Widgets Acme». o Sparql endpoints : Le RDF extension comprend la réconciliation contre toute SPARQL endpoint ou fichier de dump RDF et la publication des résultats dans RDF. Bibliothécaires o VIVO Scientific Collaboration Plateforme : VIVO est une plate-forme nationale interdisciplinaire d US, c est un plate-forme d open source de 19

collaboration scientifique financépar le NIH avec le développement dirigépar Cornell. Leur service de la réconciliation permet concilier contre des entités VIVO (des membres du corps professoral, revues, etc.) dans toute installation de VIVO. o FundRef : Ce service de réconciliation est conçu pour aider les éditeurs (ou quiconque) plus facilement de nettoyer leur données et de mapper avec FundRef Registry. Il est construit sur OpenRefine et FundRef recherche de métadonnées. o JournalTocs : Utilisez JournalTOCs API pour créer vos propres applications web cool qui intègrent le contenu de disponible gratuitement une revue TOC. La plupart des appels d'api JournalTOCs sont gratuits et ne nécessitent pas de processus d'enregistrement. o VIAF : Le VIAF (Virtual File Autorité internationale) combine plusieurs fichiers de nom autorité vers un service de nom autorité d OCLC-hosted unique. Le but du service est de réduire le coût et accroître l'utilité des fichiers d'autorité bibliothèque en faisant correspondre et de relier les fichiers d'autorité largement utilisés et rendre cette information disponible sur le Web. o FAST (Faceted Application of Subject Terminology): FAST est dérivé de Library of Congress Subject Headings (LCSH), l'un des plus utilisés schémas de terminologie sous réserve du domaine de la bibliothèque. Le développement de FAST a étéune collaboration de recherche et OCLC la Bibliothèque du Congrès. Les travaux sur FAST a commencé àla fin de 1998. o Library of Congress Subject Headings (LSCH) : Library of Congress Subject Headings (LCSH) a étéactivement maintenu depuis 1898 àdes matériaux de catalogue tenue àla Bibliothèque du Congrès. En vertu de catalogage coopératif autres bibliothèques à travers les États-Unis utilisent également LCSH pour fournir un accès soumis à leurs collections. Open Data o Dbpedia : L'extension DBpedia (actuellement) fournit la possibilité d'étendre les données DBpedia conciliées avec des colonnes supplémentaires connexes de DBpedia. Il est basé sur l'extension Freebase similaire. o Ordnance Survey: L'API de réconciliation est un service Web simple qui prend en charge la liaison des ensembles de données àla Linked Data Ordnance Survey. L'API accepte une simple recherche du texte, par exemple un label, code ou autre identificateur pour une ressource, puis renvoie une liste de classement des correspondances possibles. Les outils cotéclient peuvent alors utiliser ces résultats soit pour construire des liens vers des Linked Data ou utiliser les identificateurs renvoyés 20

pour extraire d'autres données pour enrichir l'ensemble de données d'origine. 4.2.4. ITM ITM offre une réponse fonctionnelle et technique performante aux besoins de gestion de référentiels d entreprise, annuaires, catalogues de ressources et bases de connaissance. Il assure la gestion de taxonomies et d ontologie partageables dans l entreprise, réalise la classification de contenus en s appuyant sur les bases de référence, organise l information et les connaissances pour une recherche et une navigation plus efficace. Les différentes briques répondent à des besoins essentiels du management de l information : les ontologies pour un apport méthodologique et la démarche de capitalisation, la modélisation de l univers métier, ainsi que la souplesse et l interopérabilité avec d autres solutions les référentiels métiers et de métadonnées pour représenter les vues métiers et organiser les ressources sur ces vues, pour porter les différents constituants de connaissances et le langage du domaine (thésaurus, dictionnaires, taxonomies ) la représentation des connaissances pour l enrichissement de l information et sa mise en relation, pour un accès transverse et performant. Figure 6: Structure et fonctionnalité d ITM a). La modélisation ITM permet à travers une modélisation de s adapter à toute organisation de référentiel métier. La solution ITM repose sur des ontologies permettant ainsi une modélisation parfaite de l univers métiers quelque soit la richesse et la finesse du modèle à décrire. En standard ITM est livréavec une modélisation permettant de gérer des dictionnaires, thésaurus et taxonomies multilingues. 21

b). Référentiel métier - taxonomies ITM est un gestionnaire du référentiel métier constituéde vocabulaires, thésaurus, taxonomies, listes de sujets métier. Le référentiel est partagé à travers l entreprise pour assurer une cohérence de la sémantique utilisée dans les différentes applications, facilitant ainsi l interopérabilité des applications. Différents ensembles terminologiques peuvent être gérés en parallèle et «mappés»ensemble pour fédérer des référentiels hétérogènes. ITM permet de servir ces ressources terminologiques àdifférentes applications : Composant d indexation et classification de contenus Outils de text-mining Monteur de recherche Logiciel d assistance à la traduction Aide àla rédaction Les interfaces web d ITM permettent une maintenance simple et partagée de ce référentiel métier. La maintenance du référentiel métier peut être automatisée grâce au module de textmining qui permet d extraire automatiquement les nouveaux sujets et leurs relations. Selon le contexte l extraction de ces nouvelles connaissances peut être entièrement automatisée ou intégrée dans un workflow de validation. c). Méta-modèle d ITM ITM gère un réseau sémantique constituéde sujets (topics) reliés entre eux par des rôles et des associations. Tous sont typés. Les associations peuvent être n-aires. Les rôles peuvent être orientés, colorés, indexés et avoir une cardinalité. A chacun des objets de ce réseau, aussi bien topic, rôle, qu association, sont rattachées des données typées (data items) : nom, adresse e- mail, description, etc. Les ontologies gérer par ITM sont basée sur un méta-modèle utilisant un petit nombre de méta-classes disjointes. Chaque élément d une ontologie est instance d une et d une seule de ces méta-classes : Class, Association Type, Role Type, Data Item Type. Topics, rôles et association : Un topic représente un sujet unique, un concept ou un objet métier. Le mot «topic»est utiliséen référence àla norme Topic Maps (XTM) de représentation des connaissances ; il correspond àla notion de ressource dans la norme RDF. Un rôle est un lien entre un topic et une association. Une association lie deux ou plusieurs topics par l intermédiaire de rôles. Les associations et leurs rôles sont utilisés pour parcourir le réseau sémantique et exprimer des requêtes. Elles permettent la représentation de relations entre topics. Data items : Un data item représente une propriétéqui peut être rattachée àun topic, une association ou un rôle. Les données stockées par le réseau sont les valeurs associées aux data items. Ces data items sont typés avec un type prédéfini dans le noyau d ITM, ou crée par un utilisateur. Chaque data item est instance d un unique type de data item (logique) ; lui-même représenté par un topic instance d une sous- 22

classe de la méta-classe Data Item Type (physique). Ces types physiques correspondent àdes tables de la base de données sous-jacente. Actuellement six sousclasses sont définies : Name, Text, Link, Time, Numeric, Pointer. Les Attributs : Sur chacun des objets de la base, il est possible d ajouter des attributs, qui peuvent être de deux types Des langues, chaque objet peut se voir affecter une ou plusieurs langues, ce qui n a vraiment de sens que sur des data-items, pas sur des objets du réseau. Des classes, chaque objet peut avoir une ou plusieurs classes. Cela n a vraiment de sens que sur les objets du réseau, pas sur les data-items. Les classes sont les topics faisant partie de la classification. d). Les contraintes Les contraintes permettent de définir, par exemple : quel type de rôle est permis pour un type d association donné, quelle classe de topic peut louer un rôle donnédans une association donnée, ou encore quel type de data item est rattachés àune classe donnée et avec quelle cardinalité. Dans ITM, les contraintes sont CRAC (Class Rôle Association Contraint) et COC (Class Occurrene Contraint). Un CRAC est une association reliant un topic de classe, un topic de type de rôle, et un topic de type d association. Sa sémantique est : «seuls les topics ayant une classe X ont le droit de jouer un rôle de type Y dans une association de type Z». Ce mécanisme permet, connaissant le type d association et le type de rôle, de connaître toutes les classes de topics susceptibles d y être affectées, ou inversement, connaissant une classe de topic, de connaître tous les types de rôles et d associations auxquels il peut participer. Un COC est une association reliant un topic de classe et un topic de type de data-item. Sa sémantique est «seuls les data-items de type X peuvent être affectés au topics de classe Y». e). Architecture technique Vue d ensemble ITM est construit àpartir de technologies ouvertes et flexibles : Java J2EE, XML, JSP, PostgreSQL. ITM respecte le modèle «3 tiers», et est découpéen 3 niveaux : une base de données relationnelle ; des APIs Java d accès à la base ; une couche de présentation, constituée de servlets, de pages JSP, et d applets Java. 23

Figure 7 : Architecture d ITM Base de données La base de données est le coeur d ITM : c est à son niveau qu est défini le modèle de données original sur lequel s appuie l outil. L architecture de cette base est protégée par brevet, et ne peut pas être reproduite ici. En résumé, les informations traitées par ITM sont de trois types : Les données constituant la structure du réseau sémantique, c est-à-dire des triplets (topic, rôle, association) ; Les données attachées aux objets de ce réseau, sous la forme de data-items ; Les liens reliant les objets du réseau aux dataitems. Entre les données du réseau (tables topic, rôle et association) et les données des dataitems (une table par type) se trouvent deux tables permettant de faire le lien des unes vers les autres. Ces deux tables permettent : Pour un même objet du réseau de lui affecter plusieurs data-items ; Pour un même data-item de pouvoir l affecter à plusieurs objets du réseau sans avoir àle dupliquer physiquement. APIs Sans rentrer dans les détails d implémentation, cette couche logicielle d APIs, qui permet d accéder aux données de la base, est constituée de plusieurs modules (module d accès à la base, module de filtrage des données, de gestion des utilisateurs, etc.). La communication avec la base utilise des EJB et se fait à l aide de la bibliothèque JDBC. Les appels àces APIs ne se font qu à partir d un seul et unique point d entrée/sortie, c'est-à-dire que seule la couche «haute» est visible de l extérieur. Ces appels se font au moyen d événements, tels que : Création/mise à jour/suppression d un topic, d une association ou d un rôle ; Mise àjour du contexte utilisateur ; Lancement d une interrogation, etc. C est à partir de ces événements que sont construites les interfaces de navigation, d édition, etc. 24

4.3. Planning du projet Etablir le planning prévisionnel de la mission de stage est une étape importante afin de mener àbien son projet. Sur le planning, les tâches sont représentées pour chaque phase. 25

Planning Missions Août Septembre Octobre Novembre Décembre Janvier Février Se familiser avec l architecture et des fonctionnalités du logiciel ITM et les outils Mondeca Collecte des besoins et premières spécifications fonctionnelles Etude d OpenRefine et présentation d OpenRefine et du sujet du stage Comparaison et évaluation différents outils de traitements de données (OpenRefine, Datalift, Paxata, Trifacta, DataWrangler) pour intégrer dans ITM Comparaison détaillée d OpenRefine et Datalift, estimation de la charge pour compléter le projet Finir la première version pour réaliser les fonctionnalités principales du projet Ecrire les codes sur OpenRefine serveur qui est appelé «mondeca-refine», dans cette application, on peut consulter le serveur d OpenRefine pour accomplir des actions en donnant des commande. Réalisation de la partie cliente. Réalisation de la sélection des sources, de l écran et des actions relatives Requêtage des sources de données externes pour obtenir des résultats du LOD (Linked Open Data) Implémentation de l écran pour afficher les résultats et implémentation des mécanismes pour faire le mapping vers les APIs ITM Réalisation sur la fusion de données et import dans ITM : transformation des résultats de requêtes en RDF import des résultats en RDF dan ITM 26

5. LE DEROULEMENT DU PROJET Le cœur du projet étant le module d interrogation des données externes, une phase importante du projet a été la réalisation d un état de l art sur des outils capables de répondre àce bseoin Nous avons donc d abord fait la comparaison sur les outils similaires pour faire la sélection. Nous avons étudiéles outils suivants : Datalift, Trifacta, OpenRefine et Paxata 5.1. Comparaison en général 5.1.1. Datalift URI : http://datalift.org/ Description: Datalift est une plateforme pour publier et interconnecter des jeux de données sur le web de données. Datalift porte les données brutes structurées venant de plusieurs formats (bases de données, CSV, XML) vers des données sémantiques interconnectées sur le Web de données. La métaphore de Datalift est celle d un ascenseur à cinq étages destiné à l élévation des données Figure 8 : 5 étages du Datalift Les cinq étages permettent de transformer les données brutes et hétérogènes en données interopérables. Les données brutes sont chargées au niveau 0 («Données brutes et hétérogènes»), les ontologies qui permettent de décrire les données sont déterminées au premier étage («Sélection»), puis les données sont transformées au deuxième étage en utilisant l ontologie sélectionnée au niveau 2 («Conversion»). Le troisième étage 27

(«Publication) permet de publier les données structurées en RDF. Le quatrième étage («Interconnexion») gère l alignement avec des données externes (LOD ou endpoint privé). Enfin le dernier et cinquième étage («Exploitation») permet l exploitation des données en les exposant par API, exports ou data visualisation. Communauté/ Licence : Open Source (BSD), Pas très actif Réponse aux besoins : migration de masse enrichissement des données publication des données Type d application : Déploiement sur un serveur d application ou Déploiement autonome sur n importe quel ordinateur (application wrapper) 5.1.2. Trifacta URI : http://www.trifacta.com/ Description : Trifacta est un fournisseur de plate-forme de transformation de données qui permet aux analystes d'affaires, des scientifiques de données et les programmeurs informatiques pour transformer les données en une forme utilisable pour l'analyse. Maintenant dans une phase fermépour le test beta. Communauté/Licence : Propriétaire payant Caractéristiques : Le Data Transformation Platform de Trifacta a pionnéune approche de machine learning-led conduit àla préparation de données. Trifacta offre une espace d interaction visuelle et utilise machine learning algorithme pour accélérer la transformation des données. Trifacta cible de nettoyer les données de Hadoop. Réponse aux besoins : Nettoyer les données Transformer les données Cet outil est principalement de transformer les données pour utiliser les produits BI, Trifacta élimine la nécessité pour les conversions supplémentaires et permet aux utilisateurs de transformer les données brutes ou structurées avec la technologie Prédictive Interaction pour évaluer, nettoyer et extraire les données en un ensemble de données prêt pour l exploration de l entreprise. Mais la plateforme ne peut pas nous aider de réconcilier et enrichir les données. Type d application : serveur 5.1.3. OpenRefine URI : http://openrefine.org/ Description : OpenRefine (ex-google Refine) est un puissant outil pour travailler avec des données désordonnées, les nettoyer, les transformer depuis un format vers un autre, les enrichir avec des web services et les lier avec des bases de données comme Freebase. Communauté/Licence : Open Source, Actif Réponse aux besoins : enrichissement unitaire / migration de masse / Nettoyage des données / Enrichissement des données Type d application : s installer coté client 28

5.1.4. Paxata URI : http://www.paxata.com/ Description : Paxata est une solution de préparation des données en libre-service basé sur le cloud pour aider les analystes d affaires, architectes de données et équipe IT éliminer les difficultés de la combinaison, le nettoyage et l élaboration de leurs données. Paxata introduit une plate-forme d Adaptive Data Préparation construit pour l'analyste d'affaires. Maintenant, les analystes d'affaires ont la capacité de transformer rapidement toutes les données brutes en données prêtes à l'analyse en quelques minutes, l'accélération du temps de transfert de connaissances et l'action dans le Tableau, Qlik ou d'autres outils de BI. Figure 9 : Processus pour traiter les données dans Paxata Communauté/Licence : Propriétaire payant Réponse aux besoins : Transformer les données, mais pas de mécanisme pour faire le mapping et enrichir les données. Type d application : serveur Selon la comparaison sur des critères listéau-dessus, on peut conclure que seulement Datalift et OpenRefine peuvent satisfaire nos besoins sur ce projet. 5.2. Comparaison détaillée de Datalift et OpenRefine La comparaison s est effectuée sur les différentes étapes fonctionnelles du projet. Etape 1 : cibler les objets. 29

Cette étape est pour but de cibler dans ITM les ou les objets àmettre àjour. Elle n impacte pas l outil d interrogation des sources externes. Les détails de cette étape seront présentés dans la partie suivante. Etape 2 : Filtrer data source Dans API Datalift : o Pas de module existant pour filtrer les data sources externes o Proposition : Implémentation d un écran dans ITM pour la sélection des data sources Implémentation d un écran pour la configuration d une nouvelle data source Implémentation du mécanisme de stockage des data sources Implémentation d un écran proposant le choix de l attribut sur lequel faire la réconciliation Dans API OpenRefine : o Administrateur dans OpenRefine : Configurer une nouvelle data source o Utilisateur dans ITM : Implémentation d un écran pour présenter dans ITM la liste des data sources définies dans OpenRefine Implémentation d un écran pour proposer le choix de l attribut sur lequel faire la réconciliation Etape 3 : Requêter Linked Open Data Dans API Datalift : o Interroger les datasources sélectionnées par l utilisateur en adaptant le langage d interrogation Dans API OpenRefine : o Appeler le service d OpenRefine pour récupérer la liste de l entité proposée Etape 4 : Mapping Implémentation d un écran dans ITM pour faire le mapping entre les cibles d ITM et les résultats du LOD o Cas 0/1 topic ciblé dans l étape 1: on mappe les valeurs une à une o Cas N topics ciblé dans l étape 1 : on mappe les modèles Gestion du stockage des mappings Etape 5 : Fusionner et importer Transformer les résultats des requêtes LOD en RDF Importer les résultats en RDF dans ITM Selon la comparaison entre API Datalift et OpenRefine àtravers chaque étape, on pense que OpenRefine peut bien répondre aux notre besoins. Puis, on trouve qu il existe déjà une API Python client library, ce qui offre une interface pour communiquer avec le serveur d OpenRefine. Du coup, grâce à cette API, on trouve que l utilisation d OpenRefine demande 30

moins du temps. Du coup, le chox s est portésur l API OpenRefine comme notre serveur pour faire «Harvest LOD» 6. LA REALISATION 6.1. Mondeca-refine La bibliothèque OpenRefine Python Client est une API compiléen Python, qui permet de communiquer avec le serveur d OpenRefine. Nous avons décidé de l utiliser car elle facilite l intégration de de OpenRefine, afin d enrichir les données ITm par le requêtage des sources externes. Mais pour l intégrer dans ITM qui repose sur des tchnologies J2EE, il a fallu transformer cette API Python client en Java. Nous avons donc commencépar développer une nouvelle API, que l on a appellémondeca-refine. Mondeca-refine hérite des fonctionnalités qui sont déjàréalisées dans l API Python client: La création / la suppression d un projet La reommage d un projet Colonne : o Ajouter une colonne (add column based on this column) o Ajouter une colonne par requêtage d URLs (add column by fetching URLS) o Supprimer une colonne L API Python client library ne propose pas les fonctionnalités sur la réconciliation et les façons de requêter les sources de données externes pour enrichir les données, par conséquent, dans le module Mondeca-refine, nous avons implémentédes fonctionnalités supplémentaires : Réconciliation : o La proposition des types des colonnes o Requêter les services de réconciliation o Exécuter la réconciliation La sélection des entités trouvées dans la source de données externes pour mapper avec les entités dans OpenRefine Supprimer un mapping existant et choisir un nouveau mapping 6.2. Le serveur OpenRefine peut être exécutéen local, mais il est également facile àexécuter sur un serveur distant, car il démarre un serveur Web et permet l'accès de l'utilisateur àtravers une interface utilisateur Web. 31

6.2.1. Architecture Le serveur d OpenRefine est entièrement écrit en Java et son Entry Point est un Java Servlet. Le servlet est hébergésur un Jetty Web Serveur. a). Projets Dans OpenRefine, il y a le concept d un espace de travail similaire à celle dans Eclipse, lorsque l exécution de l OpenRefine, il gère les projets au sein d un même espace de travail et cet espace de travail s incarne dans un répertoire de fichier avec des sous-répertoires, du coup, on peut demander OpenRefine d utiliser certain répertoire en donnant le paramètre dans la ligne commande. OpenRefine implémente une classe, ce qui gère l espace de travail, il garde en mémoire les métadonnées de chaque projet, ces métadonnées comprennent le nom, la date de dernière modification et les autres informations qui sont nécessaire pour présenter, ainsi pour l interaction avec chaque projet. La séparation des métadonnées et des données sur le projet peut aider de minimiser l occupation de mémoire. Un projet est chargéen mémoire quand il a besoin de s afficher ou modifier, et il reste en mémoire une heure après la dernière modification. Périodiquement, le gestionnaire de projet tente de sauver les projets modifiés autant que possible pendant les 30 secondes. b). Modèle des données Les données d un projet se composent de : Raw data : une liste de lignes, chaque ligne consiste une liste de cellules Models : pour présenter et interpréter de données de haut niveau, il permet les même raw data d être considéré de différentes façons par les différents modèles, et puis, il aide de changer les modèles sans touche les raw data. c). Model des colonnes La cellule en ligne n est pas nommée et cela peut être localisé seulement par la liste d indice sur la position. Ainsi, un modèle de colonne doit donner un nom àchaque liste sur la position. Le modèle de colonne stocke également d autres métadonnées pour chaque colonne, y compris le type de Freebase que les cellules de la colonne ont étéréconciliés et les statistiques de réconciliation globales de ces cellues. 32

d). Groupes de colonnes Dans OpenRefine, les données sont importées en type de grille, mais pour traiter les données, on a besoin de les transformer en type d arbre. Grâce à groupes de colonnes, OpenRefine peut réaliser cette transformation. e). Protographe Le modèle de Protographe est similaire àdes groupes de colonnes, mais il est destinéà transformer les données en forme de grille pour s adapter à des schémas de graphes Freebase pour charger dans Freebase. Protographe est le terme technique interne; dans l'interface utilisateur, il est appelécomme le squelette d'alignement de schéma. 6.2.2. Réconciliation Service API L API de réconciliation est un web service simple, qui prend en charge la liaison des ensembles de données àordnance Survey Linked Data. Cet API accepte une recherche simple par le texte, par exemple, le label, le code ou autre identificateur pour une ressource, puis, il renvoie une liste de classement des correspondances possibles. Les outils côtéclient peuvent alors utiliser ces résultats soit pour construire des liens vers des Linked Data ou utiliser les identificateurs renvoyés pour extraire d'autres données pour enrichir l'ensemble de données d'origine. a). API paramètres Il y a plusieurs façons de l'invocation de l'api réconciliation. Plusieurs d'entre eux sont pris en charge pour assurer une bonne intégration avec OpenRefine. Pour soutenir l'utilisation plus facile en dehors de cet outil, l'api originale a étéétendue légèrement pour soutenir paramètres de requête simple plutôt que des objets JSON codés. Le tableau suivant résume les paramètres : Paramètre Notes query Si fourni, alors soit pour matcher le text, soit Json littérale décrivant la recherche. La requête sans «query» retournera les métadonnées de service queries Si fourni, alors il doit être un Json codée littérale, il est utilisédans «Multiple Query Mode» limit Limiter le nombre de résultats renvoyés. Par défaut =10 type L'URI de type RDF pour filtrer les matchs type_strict Pour contrôler le type de macher, Les valeurs légales sont «any», «all», «should» callback Un Jsonp callback, qui indique la fonction cotéclient pour appeler avec 33

les résultats. C est fourni pour supporter l intégration d OpenRefine. b). HTTP requête L'API de réconciliation prend en charge les requêtes GET et POST. Les clients sont encouragés àutiliser les requêtes GET par défaut comme l'api sera de retour en-têtes de mise en cache. L'API sera également répondre aux requêtes «OPTION» et «HEAD», OPTION est OPTIONS est soutenu dans le cadre de la mise en œuvre de la spécification de Cross-Origin Resource Sharing, par contre, HEAD permet requêtes HTTP conditionnelles, par exemple, pour vérifier si les données de endpoint triplet àétémis àjour. c). HTTP réponse Les clients doivent prêt àtraiter tous les codes de réponse http valides, le tableau suivant résume les codes de réponse qui peuvent être les plus fréquemment rencontrées: Code Description 200 Requêter avec succès 304 Pas de modification. En réponse àune requête GET conditionnelle ou HEAD, cette réponse indique que la donnée sous-jacente n'a pas changé depuis la demande précédente, et les résultats mis en cache peuvent être réutilisé. 400 Requête invalide 405 Méthode non autorisée 500 Erreur du serveur lors d'une recherche d). Format de la réponse L'API de réconciliation ne supporte que JSON en sortie comme ci-dessous : 34 Id : L URI de la ressource macher

Name : Le RDF label de ressource Score : Un score pour le match, entre 0 et 1 Match : true ou false pour indiquer un match exact Type : Un tableau contient les propriétés de RDF associées àla ressource 6.3. Les étapes en détail Figure 10 : Vue d ensemble sur «Harvest LOD» 6.3.1. Objet cible Objectif : Cibler le ou les objets àmettre àjour dans ITM. Pour utiliser le nouveau API «Harvest LOD» dans ITM, l utilisateur doit commencer par cibler le ou les objets qu il souhait mettre à jour dans ITM, à l aide de l interface de ITM. L utilisateur va rechercher l entité, sur lequel il veut mettre àjour les attributs, en utilisant le champ de recherche dans l interface d ITM. 35

Figure 11: cibler les entités Figure 12: Les entités trouvées dans la base d'itm Dans les résultats de recherche (Figure 12), l utilisateur peut choisir le ou les objets dans les résultats pour mettre àjour les attributs. Il existe trois cas sur la sélection d entité: Cas 1 : Plusieurs entités sélectionnés Dans ce cas là, on n a pas besoin d accéder aux contenus du chaque entitépour lancer le requêtage, il existe une action de masse sur l écran (Figure 12) pour lancer le requêtage sur tous les entités sélectionnés. Cas 2 : Une entitésélectionnée Dans ce cas là, on peut accéder au contenu de cette entitésélectionné. Dans l écran qui affiche le contenu de l entité (Figure 13), il y a une action unitaire pour lancer l action du API «Harvest LOD». Par contre, si on n accède pas àcette entité, on peut aussi lancer l action du API «Harvest LOD»à l aide de l écran de résultat de recherche (Figure 12), dans cet écran, il y a une action de masse pour faire le requêtage. 36

Cas 3 : Aucune entitésélectionné Dans ce cas là, il n existe pas de objet qu on veut mettre àjour dans la base d ITM, donc il faut d abord ajouter une action de masse pour le requêtage externe àpartir du libellécherché, puis créer automatiquement un topic de ce libellédans ITM. Figure 13 : L'écran de contenu de l'entité 6.3.2. Filtrer data sources Objectif : Filtrer les data sources pour faire la réconciliation sur les ou les entités (s) ciblé(s). A partir de cette étape, on va commencer àutiliser le serveur d OpenRefine. Dans un premier temps, afin de simplifier l intégration, on a choisi de configurer les data sources dans OpenRefine par l administrateur. Du coup, dans l écran de ITM, une action «Harvest LOD» est ajoutée dans la liste des actions pour faire la configuration sur les data sources et cette action est réservée seulement à l administrateur. Dans ce projet, on utilise principalement deux type de data sources : Freebase (le service standard pour OpenRefine) et les Sparql Endpoints. a). Service standard Freebase En raison de l intégration de Freebase dans OpenRefine, il est simple pour ajouter le service Freebase, on peut l ajouter à l aide directement de l action «Add Standard Service» en donnant l URI du Freebase Service. 37

Figure 14: Ajouter réconciliation service standard b). Services Sparql Endpoints OpenRefine lui-même ne peut pas ajouter les services de Sparql, mais grâce à l extension RDF, on peut le faire avec succès. Pour ajouter le service Sparql, il faut donner un nom du service, un URI de l endpoint, le type de cet endpoint et le proprétéutilisésur les labels des sources dans cet endpoint. En cas d erreur, le sparql endpoint service ne peut pas ajouter. Figure 15 : Ajouter réconciliation service sparql endpoint Une fois la configuration faite par l administrateur, l utilisateur peut récupérer une liste de data sources de réconciliation pour commencer à filtrer le data source. Dans ITM, la commande est envoyée au serveur d OpenRefine et le serveur d OpenRefine utilise «Reconciliation Service API»pour récupérer une liste de l entité potentielle correspondant aux critères. L utilisateur choisit un type d entités àpartir de cette liste pour performer la réconciliation. 38

Figure 16 : Proposition de maquette pour le filtrage des sources de données 6.3.3. Requêtage et Mapper résultats du LOD avec les cibles Objectif : Requêter le data source et faire le mapping entre les cibles dans ITM et résultats venant de data sources externes. Dans le résultat du LOD, si on a seulement un résultat, alors OpenRefine mappe ce résultat avec la cible automatiquement, sinon, c est l utilisateur qui fait le mapping. Pour faciliter de faire le mapping, OpenRefine fournit un «Preview API» pour s affiche des informations dans un page HTML, l utilisateur peut voir les informations sur chaque résultat du LOD et décider de mapper le quel. Figure 17 : Preview API Exemple Dans le «preview API», on lui donne un identificateur, après l API rend des informations sur l entitié dans un page HTML, ce qui s affiche sur un iframe dans OpenRefine. S il n'y a pas de service de prévisualisation spécifiédans les métadonnées du service de la réconciliation, et 39

si l'espace d'identifiant de l'entitéest un identifiant Freebase ou l espace d'identification de MID, alors OpenRefine utilise le service de topicblock de Freebase. Lorsque le ou les entités sont mappé, pour obtenir les attributs sur chaque entitédans les data source externe, on utilise la fonction «Fetching URI»dans OpenRefine en donnant l URI de data source externe. Puis on peut obtenir le résultat des attributs sur chaque topic, généralement le résultat est en Json. Voici est un exemple: { "id": "/m/0d6lp", "property": { "/architecture/architectural_structure_owner/structures_owned": { "valuetype": "compound", "values": [ { "text": "Candlestick Park - kconragan - Ownership", "lang": "en", "id": "/m/075ff2m", "creator": "/user/kconragan", "timestamp": "2009-08-19T22:16:54.000Z", "property": { } Pour faire le mapping sur les attributs, on implémente un écran pour faciliter cette action comme le schéma ci-dessous : Figure 18 : Mapping Sur le schéma de Mapping, dans le tableau Attribut il contient tous les attributs de la classe du topic ou topics ciblés, dans le tableau Colonne, ce sont les résultats de LOD, et puis, le tableau Association contient les associations et les rôles associés à cette classe. L utilisateur peut refaire un mapping via cet écran ou choisir un fichier de mapping déjàexiste. Et puis, on peut aussi sauvegarder le mapping qu on a refait par le button «Save». 40

6.3.4. Fusion et Import Pour réaliser l enrichissement sur les topics dans ITM, il faut importer le mapping qu on a fait dans ITM. Dans ITM, il existe le mécanisme pour importer le fichier de mapping mais le fichier doit contenir les données de type RDF, du coup, pour réaliser la fusion et l import, il faut utiliser deux autre API : «xmljon2rdf»et «import-rdf». a). xmljson2rdf API «xmljson2rdf» est un outil de Mondeca, qui transforme du XML ou JSON en RDF. L'extraction des données depuis XML ou JSON se configure par un langage de correspondances décrit dans ce document. Le langage de correspondance définit les modèles de classes et propriétés RDF dont les instances sont créées àpartir de valeurs constantes ou lues àdes XPaths déterminés. Le résultat RDF est écrit ensuite dans le format RDF/XML. Les étapes de la transformation : détecte si le fichier d'entrée est XML ou JSON. Si le fichier d'entrée est JSON, l'outil le transforme en XML applique le fichier de correspondances pour générer un fichier XML intermédiaire contenant des instances et propriétés génère àpartir du fichier intermédiaire le fichier de sortie RDF/XML Logs de la transformation : L outil de transformation crée un répertoire «log»dans le répertoire de travail et écrit dans ce répertoire, les logs peuvent nous aider de vérifier les erreurs pendant la transformation Fichier de correspondances : Le fichier de correspondances est un fichier XML définissant une liste de modèles de classes et de modèles de propriétés. Les ressources RDF correspondant àces classes et les déclarations de propriétés RDF sont ensuite créées par l'outil de transformation lorsqu'il parcourt le fichier d'entrée. Les valeurs insérées peuvent être des constantes ou extraites du fichier d'entrée par des XPaths. Voici la structure d'un fichier de correspondances : 41

La balise 'namespaces' contient une liste de balises 'namespace'. Chaque balise 'namespace' définit un alias d'espace de noms (balise 'name') pour une certaine URI (balise 'value'). Chaque correspondance de classe contient les balises suivantes: types: contient une liste de balises 'type'. Ces balises affectent leurs valeurs en tant que URI de classes RDFS aux ressources extraites. Les types peuvent être constants ou extraits par XPath depuis l'entrée; expressions: contient une liste de balises 'expression'. L'outil de transformation cherche dans l'entrée les éléments correspondant aux expressions XPaths et pour chaque correspondance crée une ressource RDF àpartir du modèle de classe; URIMapping: définit la valeur affectée pour l'uri de la ressource créée. Si la valeur est préfixée par '_:', elle est considérée comme un identifiant de noeud blanc RDF et non comme une URI; propertytypemappings: contient une liste de modèles de propriétés (définis ci-dessous) pour cette classe. A l'intérieur de la balise 'propertytypemappings' d'un modèle de classe les modèles de propriétés sont définis par ces balises: La signification de ces balises est: datatype: définit si l'objet de la propriétéest une ressource (datatype = 'object') ou un datatype (datatype = 'label'); 42