La tendance dans les technologies Web est de déporter de plus en plus de calculs côté client. Cela permet aux fournisseurs de services d'alléger les serveurs et de réduire la bande passante lors des échanges de données, et accessoirement aux utilisateurs de mieux maîtriser leurs données. Dans cette présentation, nous proposons d'appliquer également cette tendance aux technologies du Web sémantique.
Les principaux verrous quant à l'implémentation côté client de technologies habituellement localisées côté serveur sont d'une part la lourdeur des calculs (qui tend à être contrebalancée par l'amélioration des performances des clients) et la connaissance partielle des données, limitée aux données publiques et à celles du client. Nous aborderons des stratégies existantes pour surmonter ou contourner ces difficultés.
Forts de plusieurs expériences dans les domaines du Web, des services et du Web sémantique, nous avons spécifié et sommes en train de développer un framework fondé sur RDF-REST [SALAD 2013] permettant de réaliser des mashups de ressources sémantiques [SALAD 2014]. Ce framework est entièrement programmé en JS et respecte les standards du Web et les principes des architectures RESTful. Nous présenterons les grands principes de ce framework, ainsi que les aspects techniques et les outils sur lesquels s'appuie son implémentation.
Les applications de ce framework vont du mashup de données à la découverte de services REST en passant par le Web des objets. Nous donnerons notamment l'exemple d'une application de gestion de conférence existante et en cours d'évolution pour intégrer ce framework.
Réaliser une application Web sémantique grâce à l’outil VIVO - Cas pratique ...
Applications pour les mashups sémantiques côté client
1. Laboratoire d'InfoRmatique en Image et Systèmes d'information
LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université Lumière Lyon 2/Ecole Centrale de Lyon
http://liris.cnrs.fr/
Applications Web sémantiques côté client
Lionel Médini, Pierre-Antoine Champin,
Michaël Mrissa, Amélie Cordier
Journée SemWeb.pro 2014
SemWeb.pro - 05/11/2014
2. Applications Web / Web Sémantique
État actuel côté Web sémantique
Web Sémantique côté client - SemWeb.pro - 05/11/2014 2
Pré-traitements
•Collecte
•Conversion
• Lifting
• Linking
• Enrichissement
Exposition
•Usage interne
(persistance)
•Mise à disposition
sur le LOD cloud
Utilisation
•Requêtage
• Traitements métier
(inférences)
•Composition des vues
3. Applications Web / Web Sémantique État actuel côté Web
3
"If you want intelligent clients, stop building intelligent servers." Ruben Verborgh – WWW2014
Web Sémantique côté client - SemWeb.pro - 05/11/2014
4. Web Sémantique côté client Quid des outils de raisonnement ? Panorama de l’offre
Moteurs d’inférences « classiques »
Embarqués dans des applications natives
Optimisés pour des tâches précises
Moteurs d’inférences en JavaScript
EYE sur NodeJS (FOL)
OWLReasoner (OWL2 EL) Moteur de requêtes SPARQL limité
4
Web Sémantique côté client - SemWeb.pro - 05/11/2014
5. Architecture sémantique côté client
5
OWL
Parsing
Classifi- cation
Parsing
Query rewriting
Query answering
Query
Presentation
RDF/XML
Ontology (JSON)
Relational DB (JSON)
SPARQL query (JSON)
SQL query (String)
SPARQL http://dataconf.liris.cnrs.fr/test/worker_reasoner/test_in_main_thread.html http://dataconf.liris.cnrs.fr/test/worker_reasoner/test_in_worker.html
Web Sémantique côté client - SemWeb.pro - 05/11/2014
7. Architecture sémantique côté client
7
OWL
Parsing
Classifi- cation
Parsing
Query rewriting
Query answering
Query
Presentation
Ontology
Relational DB (JSON)
SPARQL query (JSON)
SQL query (String)
SPARQL http://dataconf.liris.cnrs.fr/test/worker_reasoner/test_in_main_thread_direct_reasoning.html
Web Sémantique côté client - SemWeb.pro - 05/11/2014
8. Mashup sémantique Framework pour le mashup de ressources sémantiques
Framework : RDF-REST [Champin 2013]
Reasoner embarqué : OWLReasoner
Travail en cours
[Médini 2014]
8
Web Sémantique côté client - SemWeb.pro - 05/11/2014
9. Exemple d’application DataConf [Médini 2013]
Récupération des données : WWW2012
Raisonnement côté client + enrichissement : ESWC2013 Sympozer
Utilisation d’un D2R pour le SPARQL endpoint
Architecture modulaire côté client (AngularJS)
Mashup sémantique
RDF-REST V2
OWLReasoner V2
ESWC2015 ?
9
Web Sémantique côté client - SemWeb.pro - 05/11/2014
10. Autres applications envisagées Collecte / analyse de traces d’utilisation
Raisonnement à base de traces [Cordier 2013]
EIAH / MOOCS (Trace-Me)
Linked services (LDP, Hydra) [Bennara 2014] Web des Objets
WoT runtime environment
Raisonnement pour l’adaptation contextuelle multi- niveaux
Infrastructure SMA, agents qui échangent et raisonnent sur des informations sémantisées …
10
Web Sémantique côté client - SemWeb.pro - 05/11/2014
11. Problèmes rencontrés Performances
Pas de maîtrise du client
Pas de maîtrise du réseau
Pré-traitements côté serveur
Pré-chargement des données
Caching
Optimisations
Expressivité du langage
Complexité des requêtes
Quid des modifications locales de l’ontologie ?
11
Web Sémantique côté client - SemWeb.pro - 05/11/2014
12. Problèmes rencontrés Dépendance envers des sources externes
Disponibilité
Prévoir un fallback
Pas de data cleaning
Tester la consistance Vue locale des données
Raisonnement sur de l’information « incomplète »
Algorithmes de raisonnement distribués [Lumineau 2010, Meyffret 2012]
Nécessitent d’identifier l’information nécessaire
12
Web Sémantique côté client - SemWeb.pro - 05/11/2014
13. Conclusion Marché des app Web sémantiques prometteur
Allègement des traitements côté serveur
Clients de plus en plus performants
Technologies Web mâtures Perspectives d’optimisations
Fonctionnement du moteur d’inférences
Technologies Web (WebCL, ASM JS…)
Choix de l’exécution côté serveur / client
13
Web Sémantique côté client - SemWeb.pro - 05/11/2014
14. À vous de jouer !
14
Web Sémantique côté client - SemWeb.pro - 05/11/2014
15. Références [Champin 2013] : RDF-REST: A Unifying Framework for Web APIs and Linked Data. P-A. Champin. Dans Services and Applications over Linked APIs and Data (SALAD), workshop at ESWC, Montpellier (FR). pp. 10-19. CEUR 1056. 2013. [Médini 2014] : Towards semantic resource mashups. L Médini, P-A. Champin, M. Mrissa, A. Cordier. Dans Services and Applications over Linked APIs and Data (SALAD), workshop at ESWC, Heraklion. pp. 6-9. CEUR Vol-1. 2014. [Médini 2013] : DataConf and Its Linked Open Data Ecosystem: Produce, Link and Consume Scientific Conference Metadata. L Médini, F. Bâcle, F. Le Peutrec, B. Durant de la Pastellière. Dans Proceedings of the LinkedUp Veni Competition on Linked and Open Data for Education held at the Open Knowledge Conference (OKCon 2013), Mathieu d'Aquin, Stefan Dietze, Hendrik Drachsler, Marieke Guy, Eelco Herder ed. Geneva. pp. 3-10. CEUR Workshop Proceedings 1124. ISSN 1613- 0076. 2014. [Cordier 2013] : Trace-Based Reasoning --- Modeling interaction traces for reasoning on experiences. A. Cordier, M. Lefevre, P-A. Champin, O Georgeon, A. Mille. Dans The 26th International FLAIRS Conference, St. Pete Beach, Florida, USA. 2013. [Bennara 2014] : An Approach for Composing RESTful Linked Services on the Web. M. Bennara, M. Mrissa, Y. Amghar. Dans 23rd International World Wide Web Conference Fifth International Workshop on Web APIs and RESTful Design, ACM ed. Séoul. 2014. [Lumineau 2010] : SimTOLE : un Simulateur P2P dédié à l’Alignement d’Ontologies à Large Echelle (demo). N. Lumineau, L Médini. Dans Dans 10ième Conférence Internationale Francophone sur l'Extraction et la Gestion des Connaissances (EGC’2010), Hammamet. pp. 633-634. 2010. [Meyffret 2012] : Recommandation basée sur la confiance : une approche sociale et locale. S. Meyffret, L Médini, F. Laforest. Document Numérique 15(1) pp. 33-56, Hermès. 2012.
15
Web Sémantique côté client - SemWeb.pro - 05/11/2014