Requ - PowerPoint PPT Presentation

About This Presentation
Title:

Requ

Description:

Langage de requ te avec syntaxe triplets simplifi e SPARQL QUERY LANGUAGE FOR ... Donner des patterns alternatifs: PREFIX iut: http://www.iutnice.fr ... – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 20
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 SPARQL QUERY LANGUAGE FOR RDF W3C REC
    15 JAN. 2008
  • Protocole daccès comme un service Web
    (SOAP)SPARQL PROTOCOL FOR RDF W3C REC 15 JAN.
    2008
  • Langage de présentation des résultatsSPARQL
    QUERY RESULTS XML FORMAT W3C REC 15 JAN. 2008
  • 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 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 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
    lthttp//www.iut-nice.frgt .
  • Namespace de base BASE ltgt

6
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
    ltresultsgt 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/resultsgtlt/sparq
    lgt

7
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 .
  • Plusieurs 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"

8
Source
  • Sélectionner les sources utilisablesPREFIX iut
    lthttp//www.iutnice.frgtSELECT ?etudiantFROM
    lthttp//www.iutnice.fr/data.rdfgt WHERE
    ?etudiant iutinscrit ?x . ?x iutsiteweb
    lthttp//www.iutnice.frgt
  • Trouver la source
  • PREFIX iut lthttp//www.iutnice.frgtSELECT ?src
    ?etudiantWHERE GRAPH ?src ?etudiant
    iutinscrit ?x . ?x iutsiteweb
    lthttp//www.iutnice.frgt

9
Pattern optionnel
  • Parties optionnelles PREFIX iut
    lthttp//www.iutnice.frgtSELECT ?etudiant
    ?nomWHERE ?etudiant iutinscrit ?x . ?x
    iutsiteweb lthttp//www.iutnice.frgt . OPTIONAL
    ?etudiant iutnom ?nom

9
10
Union
  • Donner des patterns alternatifsPREFIX iut
    lthttp//www.iutnice.frgtSELECT ?etudiantWHERE
    ?etudiant iutinscrit ?x . ?x
    iutsiteweb lthttp//www.iutnice.frgt UNION
    ?x iutsiteweb lthttp//www.fac.frgt

11
Trier, filtrer et limiter les réponses
  • PREFIX iut lthttp//www.iutnice.frgtSELECT
    ?etudiant ?nomWHERE ?etudiant iutinscrit ?x
    . ?x iutsiteweb lthttp//www.iutnice.frgt .
    ?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

12
Opérateurs de filtre
  • Dans la clause FILTER
  • Comparateurs lt, gt, , lt, gt, !
  • Opérateurs - /
  • 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

13
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))

14
Piège
  • La 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 )

15
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
    lthttp//www.iutnice.frgt . ?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

16
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 lthttp//www.iutnice.frgt .
  • On peut demander une description généralePREFIX
    iut lthttp//www.iutnice.frgtDESCRIBE
    ?etudiantWHERE ?etudiant iutinscrit ?x . ?x
    iutsiteweb lthttp//www.iutnice.frgt .

17
Références
18
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/

19
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