Requ - PowerPoint PPT Presentation

About This Presentation
Title:

Requ

Description:

Langage de requ te avec syntaxe triplets simplifi e. W3C Candidate Recommendation of ... Donner des patterns alternatifs: PREFIX iut: http://www.iutnice.fr ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 25
Provided by: gandon1
Category:
Tags: alternatifs | requ

less

Transcript and Presenter's Notes

Title: Requ


1
Requêtes sur RDF
  • Le langage de requêtes SPARQLSPARQL Protocol And
    RDF Query Language

2
Le gâteau du web sémantique
Tout est triplet
W3C, T Berners-Lee, Ivan Herman
3
Un langage de requête de triplets
  • Trois morceaux
  • Langage de requête avec syntaxe triplets
    simplifiée W3C Candidate Recommendation of
    SPARQL Query Language for RDF 14 Jun 2007
  • Protocole daccès comme un service Web
    (SOAP)SPARQL Protocol for RDF W3C Candidate
    Recommendation 6 Apr 2006
  • Langage de présentation des résultatsSPARQL
    Query Results XML Format W3C Candidate
    Recommendations 25 Sep 2007
  • Langage de requête sur des données RDF
  • Appariements de graphes / projection
  • Principe courant en trois clauses imitant SQL
  • SELECT clause sélectionnant les valeurs à
    retourner
  • WHERE un pattern de triplets à matcher
  • FILTER des contraintes exprimées avec des
    fonctions de tests internes (XPath 2.0) ou
    externes

4
Un langage de requête de triplets
  • Exemple de la syntaxe en triplets simplifiée avec
    des points d'interrogation pour marquer les
    variables?x rdftype exPersonne
  • Langage de patterns à matcherSELECT ?sujet ?
    propriete ?valeur where?sujet ?propriete ?vale
    ur
  • Le pattern est par défaut une conjonction de
    triplets ?x rdftype exPersonne . ?x
    exnom ?nom
  • Deux formes possibles pour présentation
    résultats
  • le binding i.e. la liste des valeurs
    sélectionnées pour chaque réponse
    rencontrée(format XML stable bien avec XSLT)
  • les sous graphes des réponses rencontrées en
    RDF(format RDF/XML bien pour applications
    utilisant RDF)

5
Requête en deux parties
  • Exemple noms des personnes ayant un emailSELECT
    ?nom WHERE ?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"_b email
    ltmailtothom_at_chaka.sngt_a email
    ltmailtoFabien.Gandon_at_inria.frgt_d email
    ltmailtoavalandre_at_pacinco.comgt_a email
    ltmailtozinzin_at_free.frgt

6
Requête simple et namespace
  • Noms et prénoms des auteursSELECT ?nom
    ?prenomWHERE ?x nom ?nom . ?x prenom ?prenom
    . ?x auteur ?y .
  • Pour utiliser des namespacesPREFIX iut
    lthttp//www.iut-nice.frgtSELECT ?etudiantWHERE
    ?etudiant iutinscrit ?x . ?x iutsiteweb
    http//www.iut-nice.fr .
  • Namespace de base BASE ltgt

7
Exemple de binding
  • Le résultat de la requête précédente en
    XMLlt?xml version"1.0"?gt ltsparql
    xmlns"http//www.w3.org/2005/sparql-results"gt
    ltheadgt ltvariable name"etudiant"/gt lt/headgt
    ltresults ordered"false" distinct"false"gt
    ltresultgt ltbinding name"etudiant"gt
    lturigthttp//www.ugb.sn/data.rdfndienglt/urigtlt/bindi
    nggt lt/resultgt ltresultgt ltbinding
    name"etudiant"gt lturigthttp//www.ugb.sn/data.rdfnd
    ouflt/urigtlt/bindinggt lt/resultgtlt/sparqlgt

8
Exercice
  • Soit un schéma avec les relations "pere_de",
    "mere_de" et les types "Homme" et "Femme",
    demandez les femmes et leurs parents
  • PREFIX ex lthttp//www.exemple.abcgt
  • SELECT ?femme ?pere ?mere
  • WHERE ?femme rdftype exFemme . ?mere
    exmere_de ?femme . ?pere expere_de ?femme .

9
Syntaxe abrégée
  • Les triplets ayant une racine commune peuvent
    être simplifiés ainsi que la relation de
    typageSELECT ?nom ?prenomWHERE ?x a
    Person nom ?nom prenom ?prenom
    auteur ?y .
  • Une liste de valeurs?x prenom "Fabien", "Lucien"
    .
  • Resource anonyme dans pattern requêteprenom
    "Fabien" ou prenom "Fabien"
  • Question ?x a Document auteur nom "Lo .
  • Réponse les documents ?x écrits par un auteur
    ayant pour nom "Lo"

10
Source et Pattern optionnel
  • Sélectionner les sources utilisablesPREFIX iut
    lthttp//www.iutnice.frgtSELECT ?etudiantFROM
    http//www.iutnice.fr/data.rdf WHERE ?etudiant
    iutinscrit ?x . ?x iutsiteweb
    http//www.iutnice.fr .
  • Parties optionnelles PREFIX iut
    lthttp//www.iutnice.frgtSELECT ?etudiant
    ?nomWHERE ?etudiant iutinscrit ?x . ?x
    iutsiteweb http//www.iutnice.fr . OPTIONAL
    ?etudiant iutnom ?nom .

11
Exercice
  • Soit un schéma avec les relations "marie_avec",
    "nom" et les types "Homme" et "Femme", demandez
    le nom des hommes et optionnellement le nom de
    leur femme
  • PREFIX ex lthttp//www.exemple.abcgt
  • SELECT ?nom_homme ?nom_femme
  • WHERE ?homme rdftype exHomme . ?homme
    exnom ?nom_homme . OPTIONAL ?homme
    exmarie_avec ?femme . ?femme exnom
    ?nom_femme .

12
Union
  • Donner des patterns alternatifsPREFIX iut
    lthttp//www.iutnice.frgtSELECT ?etudiantWHERE
    ?etudiant iutinscrit ?x . ?x
    iutsiteweb http//www.iutnice.fr . UNION
    ?x iutsiteweb http//www.fac.fr .

13
Exercice
  • Soit un schéma avec les types "Homme", "Femme",
    et "Enfant" demandez le nom des femmes et des
    enfants
  • PREFIX ex lthttp//www.exemple.abcgt
  • SELECT ?nom
  • WHERE ?femme_ou_enfant exnom ?nom .
    ?femme_ou_enfant rdftype exFemme .
    UNION ?femme_ou_enfant rdftype exEnfant
    .

14
Trier, filtrer et limiter les réponses
  • PREFIX iut lthttp//www.iutnice.frgtSELECT
    ?etudiant ?nomWHERE ?etudiant iutinscrit ?x
    . ?x iutsiteweb http//www.iutnice.fr .
    ?etudiant iutnom ?nom . ?etudiant iutage ?age
    . FILTER ?age gt 22 ORDER BY ?nomLIMIT
    20OFFSET 20
  • Étudiants de plus de 22 ans triés par nom, les
    réponses de 21 à 40

15
Opérateurs de filtre
  • Dans la clause FILTER
  • Comparateurs lt, gt, , lt, gt, !
  • Tests sur les binding des variablesisURI(?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)
    xsdinteger(?x)
  • Fonctions externes / extensions
  • Combinaisons ,
  • Dans la clause WHERE _at_fr , xsdinteger
  • Dans la clause SELECT distinct

16
Exercice
  • Soit un schéma avec le type "Personne", et la
    propriété "taille" (en centimètres) demandez les
    personnes entre 140 et 170 centimètres
  • PREFIX ex lthttp//www.exemple.abcgt
  • SELECT ?x
  • WHERE ?x rdftype exPersonne ?x extaille
    ?t FILTER ( ?t gt 140 ?t lt 170 )
  • xsdinteger(?t)

17
Négation par l'échec
  • Tester si un pattern est introuvablePREFIX
    iut lthttp//www.iutnice.frgtSELECT
    ?etudiantWHERE ?etudiant rdftype
    iutEtudiant . OPTIONAL ?etudiant
    iutauteur ?x . ?x rdftype iutProgramme .
    ?x iutlangage iutJava . FILTER !
    bound(?x)

18
Exercice
  • Soit un schéma avec le type "Personne", et la
    propriété "marie_avec" demandez les personnes non
    mariées
  • PREFIX ex lthttp//www.exemple.abcgt
  • SELECT ?x
  • WHERE ?x rdftype exPersonne . OPTIONAL
    ?x marie_avec ?y . FILTER ! bound(?y)

19
Piège
  • Le négation par l'échec n'est pas une négation
    absoluePREFIX ex lthttp//www.exemple.abcgt
  • SELECT ?personne
  • WHERE ?personne rdftype ?type . FILTER ! (
    ?type exHomme )

20
Demander s'il y a des réponses
  • Vérifier qu'il existe au moins une
    réponsePREFIX iut lthttp//www.iutnice.frgtASK
    ?etudiant iutinscrit ?x . ?x iutsiteweb
    www.iutnice.fr . ?etudiant iutage ?age .
    FILTER ?age gt 30 Que demande cette requête ?
  • Existe-t-il un étudiant de plus de 30 ans?
  • Résultat booléenltsparql xmlns"http//www.w3.org
    /2005/sparql-results"gt ltheadgt lt/headgt
    ltbooleangt lt/booleangtlt/sparqlgt

21
Construire ou Décrire un résultat
  • On peut créer un format de sortie de toute
    piècePREFIX iut lthttp//www.iutnice.frgtCONSTR
    UCT ?etudiant rdftype iutFuturTechnicien .
    WHERE ?etudiant iutinscrit ?x . ?x
    iutsiteweb http//www.iutnice.fr .
  • On peut demander une description généralePREFIX
    iut lthttp//www.iutnice.frgtDESCRIBE
    ?etudiantWHERE ?etudiant iutinscrit ?x . ?x
    iutsiteweb http//www.iutnice.fr .

22
Références
23
Références
  • RDF 6 documents sur http//www.w3.org/RDF
  • RDF Primer
  • RDF Concepts and Abstract Data Model
  • RDF/XML Syntax Specification (Revised)
  • RDF Schema
  • RDF Semantics
  • RDF Test Cases
  • SPARQL
  • SPARQL Query Language for RDFhttp//www.w3.org/TR
    /rdf-sparql-query/
  • SPARQL Query Results XML Formathttp//www.w3.org/
    TR/rdf-sparql-XMLres/
  • SPARQL Protocol for RDFhttp//www.w3.org/TR/rdf-s
    parql-protocol/

24
Sources, références et pointeurs
  • W3C documents at http//www.w3.orgwww.w3.org/XML
    - www.w3.org/RDF - http//www.w3.org/2001/sw/
  • W3C Tutorials http//www.w3.org/2002/03/tutorials
  • W3C 10th Anniversary http//www.w3.org/2004/Talks/
    w3c10-Overview/
  • W3School http//www.w3schools.com/
  • Tutorials on Semantic Web Technologies by Ivan
    Herman
  • www.oasis-open.org
  • Méthodes et outils pour la gestion des
    connaissances, R. Dieng et. al. Dunod
  • Action Web sémantique CNRS http//www.lalic.paris4
    .sorbonne.fr/stic/
  • Bulletin AFIA avril 2003 http//www.lalic.paris4.s
    orbonne.fr/stic/articles/
  • XML Revolution http//www.brics.dk/amoeller/XML/
    index.html
  • OReilly XML.com http//www.xml.com/
  • Websemantique http//semanticweb.org/
Write a Comment
User Comments (0)
About PowerShow.com