Requêtes sur RDF. Tout est triplet. Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language. Le gâteau du web sémantique



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

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

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

L3 informatique TP n o 2 : Les applications réseau

JDev Atelier Datalift

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

(structure des entêtes)

4. SERVICES WEB REST 46

Évaluation d une architecture de stockage RDF distribuée

Introduction aux «Services Web»

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

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

Serveurs de noms Protocoles HTTP et FTP

Développement des Systèmes d Information

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

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Protocoles Applicatifs

Vues d ensembles de documents RDF

Catalogue des formations Edition 2015

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

SERVEUR HTTP Administration d apache

Programmation Web. Madalina Croitoru IUT Montpellier

Application Web et J2EE

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Internet. Web Sécurité Optimisation

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

Architectures Web Services RESTful

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

WebSSO, synchronisation et contrôle des accès via LDAP

Programmation Web Avancée Introduction aux services Web

Hébergement de site web Damien Nouvel

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Exemples de reque tes dans data.bnf.fr

Formation en Logiciels Libres. Fiche d inscription

Devenez un véritable développeur web en 3 mois!

RDF Schema pour les ontologies légères

Dans l'épisode précédent

Mysql. Les requêtes préparées Prepared statements

Introduction aux. services web 2 / 2

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Protection des protocoles

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Définition des Webservices Ordre de paiement par . Version 1.0

Plateforme PAYZEN. Définition de Web-services

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

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

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

1 Introduction et installation

Programmation Web. Introduction

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

Mysql avec EasyPhp. 1 er mars 2006

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Vulnérabilités et solutions de sécurisation des applications Web

Outils de traitements de logs Apache

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

SQL Server et Active Directory

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Manuel d intégration API SOAP SMS ALLMYSMS.COM

Tutoriel XBNE Connexion à un environnement XBMC distant

Fingerprinting d'applications Web

INF8007 Langages de script

Module BD et sites WEB

CREATION WEB DYNAMIQUE

Raja Bases de données distribuées A Lire - Tutoriel

2011 Hakim Benameurlaine 1

BPEL Orchestration de Web Services

Architecture Orientée Service, JSON et API REST

Sommaire. -1-Computer en bref. Web en bref. Le web 3.0,...la mobilité. Evolution du Web web1.0, web2.0, web2.b, web3.0...

Programmation Internet Cours 4

Le langage SQL (première partie) c Olivier Caron

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Introduction à HTTP. Chapitre HTTP 0.9

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

OASIS Date de publication

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

Le Langage SQL version Oracle

Mise en œuvre des serveurs d application

«Cachez-moi cette page!»

Mise à jour : Octobre 2011

OLAP : Mondrian + Pentaho. Maguelonne Teisseire Hugo Alatrista Salas hugo.alatrista- salas@teledetec9on.fr Flavien Bouillot

PHP 5. La base de données MySql. A. Belaïd 1

LES ACCES ODBC AVEC LE SYSTEME SAS

UE 8 Systèmes d information de gestion Le programme

Transcription:

Requêtes sur RDF Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language 1 Tout est triplet W3C, T Berners-Lee, Ivan Herman Le gâteau du web sémantique 2

SPARQL Query Language for RDF W3C Working Draft 4 October 2006 Langage de requêtes SPARQL Protocol for RDF W3C Candidate Recommendation 6 April 2006 Description (WSDL 2.0) pour soumettre une requête à une serveur distant et récupérer la réponse (binding SOAP) SPARQL Query Results XML Format W3C Candidate Recommendation 6 April 2006 Langage de résultat SPARQL 3 3 Forme principale en 3 clauses (SQL): PREFIX ugb: <http://www.ugb.sn/dess#> SELECT?etudiant?nom FROM http//www.ugb.sn/data.rdf?etudiant ugb:inscrit?x.?x ugb:siteweb http//www.ugb.sn.?etudiant ugb:nom?nom.?etudiant ugb:age?age. FILTER (?age > 20 ) ORDER BY?nom LIMIT 20 OFFSET 20 Requêtes sur les triplets 4 4

PREFIX dc: <http://purl.org/dc/elements/1.1/> Host: SELECT?who User-agent: WHERE GET /sparql/?query=encodedquery {?book dc:creator?who HTTP/1.1 www.example HTTP/1.1 Date: Server: Connection: 200 my-sparql-client/0.1 Content-Type: Fri, Apache/1.3.29 06 May OK2005 (Unix) 20:55:12 PHP/4.3.4 GMT <?xml close DAV/1.0.3 <sparql <head> version="1.0"?> application/sparql-results+xml </head> xmlns="http://www.w3.org/2005/sparql-results#"> <results <variable <result> name="book"/> name="who"/> </result> <binding distinct="false" name="book"><uri>http://www.example/book/book5</uri></binding> name="who"><bnode>r29392923r2922</bnode></binding> ordered="false"> Appel SPARQL 5 5 Exemple : noms des personnes ayant un email SELECT?nom?x nom?nom.?x email?email Résultat : tous les patterns solutions sur lesquels le pattern query peut être projeté (une variable peut avoir plusieurs bindings) Exemple : _:a nom "Fabien" _:b nom "Thomas" _:c nom "Louis XIV" _:d nom "Aline" Requête en deux parties x2 _:b email <mailto:thom@chaka.sn> _:a email <mailto:fabien.gandon@inria.fr> _:d email <mailto:avalandre@pacinco.com> _:a email <mailto:zinzin@free.fr> 6

Noms et prénoms des auteurs: SELECT?nom?prenom?x nom?nom.?x prenom?prenom.?x auteur?y. Pour utiliser des namespaces: SELECT?etudiant?x fac:siteweb http://www.u-picardie.fr. Namespace de base : BASE <> Requête simple et namespace 7 Le résultat de la requête précédente en XML <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="etudiant"/> </head> <results ordered="false" distinct="false"> <result> <binding name="etudiant"> <uri>http//www.ugb.sn/data.rdf#ndieng</uri></binding> </result> <result> <binding name="etudiant"> <uri>http//www.ugb.sn/data.rdf#ndouf</uri></binding> </result> </sparql> Exemple de binding 8

Les triplets ayant une racine commune peuvent être simplifiés ainsi que la relation de typage: SELECT?nom?prenom?x a Person; nom?nom ; prenom?prenom ; auteur?y. Une liste de valeurs Syntaxe abrégée SELECT?nom?prenom?x rdf:type Person.?x nom?nom.?x prenom?prenom.?x auteur?y.?x prenom "Fabien", "Lucien". Ressource anonyme dans pattern requête [prenom "Fabien"] ou [] prenom "Fabien" Question:?x a Document; auteur [nom "Lo]. Réponse: les documents?x écrits par un auteur ayant pour nom "Lo" 9 Sélectionner les sources utilisables : SELECT?etudiant FROM http//www.u-picardie.fr/data.rdf?x fac:siteweb http//www.u-picardie.fr. Parties optionnelles : SELECT?etudiant?nom?x fac:siteweb http//www.u-picardie.fr. OPTIONAL {?etudiant fac:nom?nom. Source et Pattern optionnel 10

Donner des patterns alternatifs : SELECT?etudiant { {?x fac:siteweb http//www.u-picardie.fr. UNION {?x fac:siteweb http//www.univlille1.fr. Union 11 PREFIX iut: <http://www.iutnice.fr#> SELECT?etudiant?nom?etudiant iut:inscrit?x.?x iut:siteweb http://www.iutnice.fr.?etudiant iut:nom?nom.?etudiant iut:age?age. FILTER?age > 22 ORDER BY?nom LIMIT 20 OFFSET 20 Étudiants de plus de 22 ans triés par nom, les réponses de #21 à #40 Trier, filtrer et limiter les réponses 12

Dans la clause FILTER: Comparateurs: <, >, =, <=, >=,!= Tests sur les binding des variables: isuri(?x), isblank(?x), isliteral(?x), bound(?x) Filtres à base d'expressions régulières regex(?x, "A.*") Accès aux attributs/valeur lang(), datatype(), str() Fonctions de (re-)typage (casting) xsd:integer(?x) Fonctions externes / extensions Combinaisons &&, Dans la clause WHERE: @fr, ^^xsd:integer Dans la clause SELECT: distinct Opérateurs de filtre 13 Tester si un pattern est introuvable : SELECT?etudiant?etudiant rdf:type fac:etudiant. OPTIONAL {?etudiant fac:auteur?x.?x rdf:type fac:programme.?x fac:langage fac:java. FILTER! bound(?x) Négation 14

Vérifier qu'il existe au moins une réponse : PREFIX iut: <http://www.u-picardie.fr#> ASK {?x fac:siteweb www.u-picardie.fr.?etudiant fac:age?age. FILTER?age > 30 Existe-t-il un étudiant de plus de 30 ans? Résultat booléen : <sparql xmlns="http://www.w3.org/2005/sparqlresults#"> <head> </head> <boolean> </boolean> </sparql> Demander s'il y a des réponses 15 Services SPARQL Plusieurs moteurs SPARQL existent (JENA, KAON, Virtuoso, ) Des sites proposent des services SPARQL, éventuellement avec une interface Liste de services SPARQL : http://esw.w3.org/topic/sparqlendpoints Services SPARQL 16 16

Exercice Le site http://dbpedia.org/ permet de fouiller Wikipedia en utilisant RDF et SPARQL. Un point d'accès SPARQL avec formulaire est disponible à l'adresse http://dbpedia.org/sparql/ ou http://dbpedia.org/snorql/ Ontologie : http://wiki.dbpedia.org/ontology et http://mappings.dbpedia.org/server/ontology/classes Question 1 : Retrouver tous les livres (type http://dbpedia.org/ontology/book) dont l'auteur (propriété author) est Jules_Verne (ressource décrite dans http://dbpedia.org/page/jules_verne) Exercice 17 17 Question 2 : Retrouver toutes les informations liées au livre Voyage_au_centre de la terre Question 3 : Retrouver tous les écrivains nés à Nantes et éventuellement ceux qu'ils ont influencés. Exercice 18