Cours Web sémantique Langage SPARQL

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 8 Langage HTML.
C#3 et le projet Linq Mitsuru FURUTA
Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010.
SPARQL Comment illuminer vos mashups en consommant les données du Linked Data ? SemWeb.pro, Paris, 18 janvier 2011 Présentation et exemples :
Transformation de documents XML
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Corese Moteur de recherche sémantique pour RDF
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Web Sémantique RDF
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
1 Semantic Web Olivier Corby. 2 Semantic Web Évolution du Web pour permettre le traitement automatique des informations (par programme) Documents structur.
Personnaliser et étendre les fonctions de recherche dOffice SharePoint Server 2007.
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
le langage les éléments
Domaines nominaux XSLT
TP 3-4 BD21.
Bases de données orientées-objets
Jérôme CUTRONA PHP et bases de données Jérôme CUTRONA 01:07:51 Programmation Web
1 ères journées professionnelles du Web Sémantique Paris, le 17 Janvier 2011 Ivan Herman W3C.
Points importants de la semaine Les caractères. Les chaînes de caractères.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données Javascript – SQL - LemanOS.
Cours n°3 Les formulaires
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Mitsuru FURUTA Relations techniques développeurs Microsoft France
Sympa et les familles de listes
L’utilisation des bases de données
XML-Family Web Services Description Language W.S.D.L.
Langages du Web Sémantique
Langages de représentation RDF (Resource Description Framework)
LE LANGAGE SQL Langage de manipulation de données (LMD)
W3C SPARQL (Simple Protocol And RDF Query Language) BALI Ahmed Master informatique 2012/ Basé sur le cours de olivier.
Langages du Web Sémantique
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
Recommandations et procédure d’attribution de DOI
RDF(S)
L’utilisation des bases de données
Algèbre relationnelle et SQL
Introducing Semantic Sensors in the SensApp Application Participant: Djeddi Samir. Encadrants: Mosser, Sébastien, UNS-I3S, MODALIS. Faron-Zucker, Catherine,
Le langage Javascript pour le web
Xpath XML Path language par Yves Bekkers
1 PHP 1.Langage PHP 1.1. Types de base, variables et constantes 1.2. Opérateurs et expressions 1.3. Instructions 1.4. Fonctions 2.Accès aux bases de données:
ENS-LYON juin 2013 Evolution des catalogues : Métadonnées, Interopérabilité, web sémantique, FRBR et RDA Participer.
1 CSI 2532 Lab3 6 Février 2012 Programmation avancée SQL.
Support des connaissances TP2 XSL-T
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 SQL jointure PHILIPPE BANCQUART.
Limiter et trier des données
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
PHP & My SQL.
Les moteurs de recherche Paul de Theux. Sommaire Google: leader presque incontesté Fonctionnement Syntaxe Limites.
Linq & les expressions lambda. L Language In Integrated Q Query.
PHP 5° PARTIE : LES COOKIES
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Access Les requêtes Table médias Table (*) Requêtes simples.
Training Module 1.3 Introduction aux RDF & SPARQL PwC firms help organisations and individuals create the value they’re looking for. We’re a network of.
X xx yyy Document XML Résolution d'entités Résolution espaces de nommages Reader Parsing Contrôle de validité structurelle Contrôle arbre bien formé Contrôle.
{ Windows et PHP Un couple qui évolue Pierre Couzy – Microsoft France
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Institut Supérieur d’Informatique
D4 : Organiser la recherche d'informations numériques
Sélection de colonnes (la projection)
XSD XML Schema Definition Année universitaire UP web.
Jena API java pour RDF Lylia Abrouk.
Initiation aux bases de données et à la programmation événementielle Cours N°2 : langage d’interrogation de données. (Les requêtes statistiques et autres).
Le Langage d ’ Interrogation des donn é es (LID) Module 2.
Projet DLM 3.0 État d’avancement Amin Mesmoudi. Architecture Digest Web service Meeting Web service web service Mail Client Query Web service Sparql.
Préparé par : Marouane FELJA
Transcription de la présentation:

Cours Web sémantique Langage SPARQL Lylia ABROUK lylia.abrouk@u-bourgogne.fr

Introduction Un langage et protocoles de requêtes pour l’interrogation de métadonnées sous forme de fichiers RDF Langage d’interrogations de triples RDF {sujet, objet, predicat} Un langage de requête : http://www.w3.org/TR/rdf-sparql-query/ Un protocole : http://www.w3.org/TR/rdf-sparql-protocol/ Un format de résultat en XML : http://www.w3.org/TR-rdf-sparql-XML-res/

Requête SPARQL PREFIX rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?nom ?image ?description WHERE { ?personne rdf:type foaf:Person . ?personne foaf:name ?nom . ?image rdf:type foaf:Image . ?personne foaf:img ?image . ?image dc:description ?description }

Résultat Sparql <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="nom"/> <variable name="image"/> <variable name="description"/> </head> <results ordered="false" distinct="true"> <result> <binding name="nom"> <literal>Pierre Dumoulin</literal> </binding> <binding name="image"> <uri>http://example.net/Pierre_Dumoulin.jpg</uri> < /binding> <binding name="description"> <literal>Photo d'identité de Pierre Dumoulin</literal> </binding> </result> <result> <binding name="nom"> <literal>Paul Dupont</literal> </binding> <binding name="image"> <uri>http://example.net/Paul_Dupont.jpg</uri> </binding> <binding name="description"> <literal>Photo d'identité de Paul Dupont</literal> </binding> </result> </results> </sparql>

Syntaxe SPARQL Une requête SPARQL est un nuplet (GP,DS,SM,R) où : GP est un motif de graphe (motif de la requête) DS est un ensemble de données RDF (base de données) SM est un “transformateur de solution” : Projection, Distinct, Order, Limit, Offset R est un format de résultat : SELECT, CONSTRUCT, DESCRIBE, ASK

Syntaxe SPARQL Requête : Q = (GP,DS,SM, SELECTVS) SELECT VS FROM DS WHERE { GP }

Requête simple SELECT ?x WHERE { ?x <http://www.w3.org/2001/vcard-rdf/3.0#FN> "John Smith" } | x | ================================= <http://somewhere/JohnSmith/>

Requête simple SELECT ?x, ?fname WHERE {?x <http://www.w3.org/2001/vcard-rdf/3.0#FN> ?fname} | x | name | ============================================| <http://somewhere/RebeccaSmith/> | "Becky Smith" | | <http://somewhere/SarahJones/> | "Sarah Jones" | | <http://somewhere/JohnSmith/> | "John Smith" | | <http://somewhere/MattJones/> | "Matt Jones" | ----------------------------------------------------

Requête simple SELECT ?givenName WHERE { ?y <http://www.w3.org/2001/vcard-rdf/3.0#Family> "Smith" . ?y <http://www.w3.org/2001/vcard-rdf/3.0#Given> ?givenName . } | givenName | ============= | "John" | | "Rebecca" |

Requête simple PREFIX vcard: <http://www.w3.org/2001/vcard-rdf/3.0#> SELECT ?y ?givenName WHERE { ?y vcard:Family "Smith" . ?y vcard:Given ?givenName . }

Filtres Opérations pour tester les chaines de caractères, expressions régulières SQL « LIKE » FILTER regex(?x, "pattern" [, "flags"]) SELECT ?g WHERE { ?y vcard:Given ?g . FILTER regex(?g, "r ", " i ")} Réponse -- ---- g ------ ========= "Rebecca" "Sarah   " ---------------

Test Le mot clé FILTER impose des contraintes sur les variables SELECT ?resource WHERE { ?resource info:age ?age FILTER (?age >= 24) } resource ================================= <http://somewhere/JohnSmith/>

OPTIONAL OPTIONAL permet de dire qu’un pattern peut être optionnel SELECT ?name ?age WHERE { ?person vcard:FN ?name OPTIONAL { ?person info:age ?age } } |name | age | ======================= | "Becky Smith" | 23 | | "Sarah Jones" | | | "John Smith" | 25 | | "Matt Jones" | |

OPTIONAL SELECT ?name ?age WHERE { ?person vcard:FN ?name ?person info:age ?age } |name | age | ======================= | "Becky Smith" | 23 | | "John Smith" | 25 |

OPTIONAL+FILTER SELECT ?name ?age WHERE { ?person vcard:FN ?name . OPTIONAL { ?person info:age ?age . FILTER ( ?age > 24 ) } } |name | age | ======================= | "Becky Smith " | | | "Sarah Jones" | | | "John Smith" | 25 | | "Matt Jones" | |

OPTIONAL+FILTER SELECT ?name ?age WHERE { ?person vcard:FN ?name . OPTIONAL { ?person info:age ?age . } FILTER ( !bound(?age) || ?age > 24 ) } |name | age | ======================= | "Becky Smith " | | | "Sarah Jones" | | | "John Smith" | 25 | | "Matt Jones" | | OPTIONAL + bound() permet d’exprimer la quantification existentielle.

UNION _:a foaf:name "Matt Jones" . _:b foaf:name "Sarah Jones" . _:c vcard:FN "Becky Smith" . _:d vcard:FN "John Smith" . SELECT ?name WHERE { { [] foaf:name ?name } UNION { [] vCard:FN ?name } } SELECT ?name1 ?name2 WHERE { { [] foaf:name ?name1 } UNION { [] vCard:FN ?name2 } }

OPTIONAL+UNION SELECT ?name1 ?name2 WHERE { ?x a foaf:Person OPTIONAL { ?x foaf:name ?name1 } OPTIONAL { ?x vCard:FN ?name2 } } OPTIONAL : pour augmenter le nombre de solutions trouvées UNION : pour concaténer

RDF Dataset SELECT ?bobAge WHERE { GRAPH data:graph1 { ?x foaf:mbox <mailto:bob@work.example> . ?x foaf:age ?bobAge }

DISTINCT select distinct ?x ?z where { ?x c:friend ?y ?y c:friend ?z } Ne retourne pas deux fois les mêmes valeurs de x et z

ORDER BY select ?pers ?date where { ?pers c:author ?doc ?doc c:date ?date order by ?date

LIMIT/OFFSET select * where { PATTERN} LIMIT 20 OFFSET 10 Au plus 20 résultats A partir du 11ème

CONSTRUCT Construire un graphe résultat : construct {?boy c:hasSister ?girl} where { ?girl c:hasBrother ?boy }

ASK / DESCRIBE ASK va répondre par OUI ou NON à une question ask {?x p ?y} DESCRIBE permet d’obtenir des informations détaillées

Tests isURI(?x) isLiteral(?y) isBlank(?z) bound(?t) lang(?x) = ‘en’ datatype(?y)= xsd:string