Support uniforme de types de données personnalisés dans RDF et SPARQL

Slides:



Advertisements
Présentations similaires
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Advertisements

Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
OTB Analog module: Input configuration with TSX PREMIUM (TSXCPP110)
Cours Web sémantique Langage SPARQL
Langages du Web Sémantique
Laboratoire de Bioinformatique des Génomes et des Réseaux Université Libre de Bruxelles, Belgique Introduction Statistics.
Apéro Techno Romain Maragou - Aliou Sow Web sémantique.
Projet DLM 3.0 État d’avancement Amin Mesmoudi. Architecture Digest Web service Meeting Web service web service Mail Client Query Web service Sparql.
Developpement Process « Coding party !! » Tony Carnal Altran.
PERFORMANCE One important issue in networking is the performance of the network—how good is it? We discuss quality of service, an overall measurement.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
Présentation python : Épisode 1 ● Introduction à Python ● Les types de base et leur manipulation ● Les structures de contrôle ● Les fonctions Étienne Loks.
Formation web sémantique J.M. Vanel RDF, RDF Schema, SPARQL, OWL, Modélisation, moteurs de règles Licence Creative Commons.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
The European Commission support for the production of this publication does not constitute an endorsement of the contents which reflects the views only.
ANNEE ACADEMIQUE Institut Supérieur Emmanuelle D’Alzon de Butembo COURS: THEORIE DE BASE DE DONNEES : 45H PROMOTION: G2 Gestion Informatique.
Introduction au Langage Pascal
Theme Three Speaking Questions
COIN (Coordinated Online Information Network) Semantic integration of water observation data L’application décrite dans cette présentation porte sur l’integration.
Monsieur Jourdain du Web de données
Langage de manipulation de données (LMD)
Formulaire de soumission destiné aux chercheurs
OWL-S.
IGTMD réunion du 4 Mai 2007 CC IN2P3 Lyon
Work: ISA8895 Implementation Section: Interoperability Chapter: B2O
Theme Two Speaking Questions
DARCY Lionel BTS SIO Option SLAM
Tableaux à plusieurs dimensions en langage C
IDL_IDL bridge The IDL_IDLBridge object class allows an IDL session to create and control other IDL sessions, each of which runs as a separate process.
Technologies de l’intelligence d’affaires
Réunion service Instrumentation Activités CMS-Traces
Why is it important to plan ahead for the future?
ABAQUS I Summary Program Capability Components of an ABAQUS Model Elements, Materials and Procedures Modules (analysis, pre and post processing) Input.
Quantum Computer A New Era of Future Computing Ahmed WAFDI ??????
Statistics & Econometrics Statistics & Econometrics Statistics & Econometrics Statistics & Econometrics Statistics & Econometrics Statistics & Econometrics.
Systèmes Intelligents – M2- BD-IA1 Protégé-OWL Tutorial 8 th International Protégé Conférence Madrid, July 2005 Nick Drummond, Matthew Horridge, University.
La couche présentation : ASN.1 et BER Abstract Syntax Notation #1
Global Tags Idées : Contient toutes les conditions du détecteur afin d’avoir une cohérence entre analyses de CMS (reproductibilité a 100%). Idéalement,
Manipulation D’Une Base De Données
Programmation en C++ C++ de base
REVUE DE LITTERATURE. Introduction Première partie majeure dans la rédaction du mémoire, la réalisation d’une revue de littérature consiste à effectuer.
1 La gestion par activités (ABM) pour mieux gérer les coûts et les processus dans l’organisation. S o l u t i o n s `
Tutoriel MATLAB-SIMULINK Projet UNIT 2009 Partenariat : Ecole des Mines d’Alès Ecole des Mines de Saint Etienne Université de Nice Sophia-Antipolis.
Cours 8 : Les Web Services et XML-RPC Février Version 1.0 -
Type Concret – Type Abstrait
1. Financial (Accounting) Statements  Financial or Accounting statements are used for reporting corporate activity. 2 For Stakeholders.
Interopérabilité sémantique libérale pour les services et les objets
1 ISO/TC 176/SC 2/N1219 ISO 9001:2015 Revision overview - General users July 2014.
Lect12EEE 2021 Differential Equation Solutions of Transient Circuits Dr. Holbert March 3, 2008.
6 Copyright © 2004, Oracle. Tous droits réservés. Utiliser des sous-interrogations pour résoudre des interrogations.
Chapitre2: SGBD et Datawarehouse. On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d'informatique décisionnelle.
Qu’est-ce que tu as dans ta trousse?
Efficacité des algorithmes
© Robert Godin. Tous droits réservés.
Qu’est-ce que tu as dans ta trousse?
IDL interface définition langage. Plan Introduction Principaux éléments IDL Types de données IDL Déclaration de module Déclaration d'interface Déclaration.
Definition Division of labour (or specialisation) takes place when a worker specialises in producing a good or a part of a good.
Programmation PHP / PDO
Introdution  Le test appartient à l'activité de Vérification et de Validation d'une application, qui consiste à déterminer si cette dernière a été développée.
Info Bases de données avancées
1-1 Introduction to ArcGIS Introductions Who are you? Any GIS background? What do you want to get out of the class?
POWERPOINT PRESENTATION FOR INTRODUCTION TO THE USE OF SPSS SOFTWARE FOR STATISTICAL ANALISYS BY AMINOU Faozyath UIL/PG2018/1866 JANUARY 2019.
GBSN 2018 Annual Conference Contingency Factors of Corporate Entrepreneurship in Traditional and Modern Sectors: The Case of Morocco Brahim Allali, PhD.
Variables et accès en Java
Formulaire de soumission destiné aux chercheurs
Qu’est ce qu’une page web? Comment fonctionne un site web?
Ontologies, langages, et outils,
Transcription de la présentation:

Support uniforme de types de données personnalisés dans RDF et SPARQL Maxime Lefrançois, Antoine Zimmermann Univ Lyon, MINES Saint-Étienne, CNRS, Laboratoire Hubert Curien UMR 5516, F-42023 Saint-Étienne, France use cases Faciliter l’accès aux formalismes et outils du Web Sémantique pour les entreprises, services Web, et objets contraints

IRIs, Nœuds anonymes et littéraux dans le web des données IRIs permettent de naviguer dans les données liées, jusqu’à découvrir des littéraux Les littéraux encodent une bonne part des données a UNICODE string "hello"^^<world> any IRI

Questions Bien formés ou non ? "bonjour"^^xsd:string "1.23"^^xsd:decimal "bonjour"^^xsd:decimal "darkturquoise"^^css3:color Même valeur ou non ? "1.2e3"^^xsd:double -- "12000"^^xsd:double "darkturquoise"^^css3:color -- "#00CED1"^^rgb:color Plus grand ou non ? "1 cm"^^ex:length -- "5 mm"^^ex:length

Questions Plus concis ou non? [] <size> [ qudt:quantityValue [ qudt:numericValue "17983.2"^^xsd:double ; qudt:unit qudt-unit:millimetre ] ] . vs [] <size> "17983.2"^^<millimetre> . [] ex:p ( ( -4 1 ) ( 3 2 ) ) . vs [] ex:p "[ [ -4 , 1 ] , [ 3 , 2 ] ]"^^ex:2dmatrix . 13 triplets, 4 littéraux 1 triplet, 1 littéral

Les littéraux RDF 1.1 Le type de données xsd:doubleI L(xsd:double I) "1234" "hello" ∉ L(xsd:double I)

Les littéraux RDF 1.1 Le type de données xsd:doubleI L2V(xsd:double I)("1234" ) reals V(xsd:double I) L(xsd:double I) L2V(xsd:double I) "1234"

Les littéraux RDF 1.1 Le type de données xsd:doubleI L2V(xsd:double I)("1234" ) = L2V(xsd:double I)("12.34e2") reals V(xsd:double I) L(xsd:double I) L2V(xsd:double I) "1234" " 12.34e2"

Les littéraux dans SPARQL "1234"^^xsd:double Le type de données xsd:doubleI L2V(xsd:double I)("1234" ) L2V(xsd:double I)("2000" ) reals V(xsd:double I) L(xsd:double I) "1234" "2000"

Reconnaissance des types de données par les moteurs RDF et SPARQL Les moteurs reconnaissent un ensemble fixé de types de données Principalement les types de données XSD Dépend des implémentations Les nouveaux types de données? peu de types de données personnalisés sur le web des données des moteurs ont des points d’extension spécifiques à leur implem de nouveaux types de données font surface "LINESTRING(0 0, 1 1, 1 2, 2 2)"^^<http://www.opengis.net/ont/geosparql#wktLiteral> "Point(33.95 -83.38)"^^<http://www.opengis.net/ont/geosparql#wktLiteral> "<http://www.opengis.net/def/crs/EPSG/0/4326> Point(33.95 -83.38)"^^geo:wktLiteral

Reconnaissance à la volée de nouveaux types de données ? Besoin d’un accord entre l’éditeur du type de données et le moteur RDF/SPARQL Un registre centralisé de types de données ? Ou bien on se base sur les principes du web des données liées comme le suggère la REC RDF 1.1 semantics utiliser des IRI HTTP pour identifier les types de données Lorsque quelqu’un cherche cette IRI, faire en sorte qu’il récupère la définition du type de données

La définition du type de données ? Pas besoin de définir l’ensemble des valeurs Seulement besoin de mécanismes pour vérifier la bonne-forme, l’égalité, la comparaison Module spécifique à un moteur Des fonctions accessibles sur un service web Functions defined in a script Declarative vocabulary-based description

La définition du type de données ? Pas besoin de définir l’ensemble des valeurs Seulement besoin de mécanismes pour vérifier la bonne-forme, l’égalité, la comparaison Module spécifique à un moteur Des fonctions accessibles sur un service web Des fonctions définies dans un script Un graphe RDF qui décrit le type de données avec une ontologie

Support des types de données personnalisés arbitrairement complexes http://w3id.org/lindt <http://ex.org/unit#watt> 1 – utiliser une IRI HTTP 3, 4 – ce code implémente un API pour traiter les littéraux 2 – servir du code exécutable L(D) comparaison <watt> et <kW> L2V(D)

Spécification http://w3id.org/lindt APIs pour les types de données aux espaces de valeurs disjoints APIs pour les types de données dont les espaces de valeurs s’intersectent Contraintes de conformité intra- et inter- types de données

Publication d’un type de données personnalisé simple http://w3id.org/lindt/custom_datatypes#length "1 mile"^^cdt:length "5280 ft"^^cdt:length "63360 inches"^^cdt:length "1.609344km"^^cdt:length "1609.344 metre"^^cdt:length "1.609344E+6 mm"^^cdt:length http://github.com/thesmartenergy/jena Implémentation au cœur de Apache Jena + ARQ

Expérimentation Sur DBpedia 2014 English specific mapping-based properties 819,764 triplets, 21 types de données personnalisés pour des units of measures 223,768 triplets décrivent des longueurs http://dbpedia.org/datatype/millimetre http://dbpedia.org/datatype/centimetre http://dbpedia.org/datatype/metre http://dbpedia.org/datatype/kilometre ( 404) dbpedia:Bathyscaphe_Trieste <http://dbpedia.org/ontology/MeanOfTransportation/length> "17983.2"^^dbpdt:millimetre .

Expérimentation - Datasets Dataset DBPEDIA Dataset CUSTOM Dataset QUDT dbpedia:Bathyscaphe_Trieste <http://dbpedia.org/ontology/MeanOfTransportation/length> "17983.2"^^dbpdt:millimetre . dbpedia:Bathyscaphe_Trieste <http://dbpedia.org/ontology/MeanOfTransportation/length> "17983.2 mm"^^cdt:length . dbpedia:Bathyscaphe_Trieste <http://dbpedia.org/ontology/MeanOfTransportation/length> [ qudt:quantityValue [ qudt:numericValue "17983.2"^^xsd:double ; qudt:unit qudt-unit:millimetre ] ] .

Renvoyer les 100 plus grandes choses Temps de chargement, % full dataset Concision des requêtes, Renvoyer les 100 plus grandes choses Tout en étant plus petites que 5 m, ordonner les résultats du plus grand au plus petit Temps d’exécution des requêtes % full dataset

Support des types de données personnalisés arbitrairement complexes Pour Support des types de données personnalisés arbitrairement complexes Contre Sécurité ? Langage de programmation est surdimensionné ? Précautions Le types de données peuvent mener à de l’indécidabilité ex: L(D) l’ensemble des documents RDF/XML L2V(D) lie un Graphe RDF à l’ensemble des OWL 2 Full ontologies équivalentes

Conclusions Utiliser des types de données personnalisés augmentrait l’interopérabilité sur le web des données Faciliterait la publication de certains jeux de données Première proposition qui vise le support à la volée des types de données arbitrairement complexes Démontré par un type de données pour les longueurs Implémentation sur Apache Jena Spécification et description de l’expérimentation à http://w3id.org/lindt

Perspectives Une bibliothèque de types de données Implémentation sur d’autres moteurs Stratégies pour la comparaison inter types de donnés Explorer d’autres manières de récupérer la définition de types de données Service web Ontologie (e.g., séquence de types primitifs séparés par un caractère)

Supporting Arbitrary Custom Datatypes in RDF and SPARQL Maxime Lefrançois, Antoine Zimmermann Univ Lyon, MINES Saint-Étienne, CNRS, Laboratoire Hubert Curien UMR 5516, F-42023 Saint-Étienne, France use cases Faciliter l’accès aux formalismes et outils du Web Sémantique pour les entreprises, services Web, et objets contraints

Temps de chargement Très proche de QUDT % full dataset Très proche de QUDT Pénalité de 470 ms pour charger le type de données Évalue notre implémentation, pas la démarche

Queries Return the 100 triples that concern the biggest lengths that are lower than 5 m, order the results according to the descending order of the length for DBPEDIA PREFIX dbpdt: <http://dbpedia.org/datatype/> SELECT ?x ?prop ?length ?metres WHERE { VALUES (?factor ?unit) { (0.001 dbpdt:millimetre) (0.01 dbpdt:centimetre) (1 dbpdt:metre) (1000 dbpdt:kilometre) } ?x ?prop ?length . BIND (?factor*xsd:decimal (?length) as ?metres) FILTER(datatype(?length) = ?unit) FILTER( ?metres < 5 ) ORDER BY DESC ( ?metres ) LIMIT 100

Queries for QUDT PREFIX qudt: <http://qudt.org/schema/qudt#> PREFIX qudt-unit: <http://qudt.org/vocab/unit#> SELECT ?x ?prop ?length (?factor*?length as ?metres) WHERE { VALUES (?factor ?unit) { (0.001 qudt-unit:millimetre) (0.01 qudt-unit:centimetre) (1 qudt-unit:metre) (1000 qudt-unit:kilometre) } ?x ?prop [ qudt:quantityValue [ qudt:numericValue ?length ; qudt:unit ?unit ] ] . FILTER( ?factor*?length < 5 ) ORDER BY DESC (?metres) LIMIT 100

Queries for CUSTOM PREFIX cdt: <http://w3id.org/lindt/v1/custom_datatypes#> SELECT ?x ?prop ?length WHERE { ?x ?prop ?length . FILTER(datatype(?length) = cdt:length ) FILTER( ?length < "5m"^^cdt:length ) } ORDER BY DESC (?length) LIMIT 100

Querying time overall better performances % full dataset overall better performances 33% to 47% of DBPEDIA (which hides 4 queries) QUDT has an anchor IRI, to start the search from

Querying time what if we anchor the predicate ? http://dbpedia.org/ontology/Person/height has a greater impact on CUSTOM than QUDT