Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

SPARQL Query Forms

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 23 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a SPARQL Query Forms (20)

Anuncio

Más de Leigh Dodds (20)

Más reciente (20)

Anuncio

SPARQL Query Forms

  1. 1. SPARQL Query Forms Leigh Dodds, Oxford SWIG, March 2008 Photo Credit: Glen Bowman
  2. 2. Why are there 4 SPARQL Query Forms? SPARQL Use Cases doesn’t help very much…
  3. 3. …neither does the SPARQL specification <ul><li>SELECT </li></ul><ul><li>Returns all, or a subset of, the variables bound in a query pattern match. </li></ul><ul><li>CONSTRUCT </li></ul><ul><li>Returns an RDF graph constructed by substituting variables in a set of triple templates. </li></ul><ul><li>ASK </li></ul><ul><li>Returns a boolean indicating whether a query pattern matches or not. </li></ul><ul><li>DESCRIBE </li></ul><ul><li>Returns an RDF graph that describes the resources found. </li></ul>
  4. 4. What are they for?
  5. 5. SELECT Equivalent to SQL SELECT Returns a nice, regular table
  6. 6. SELECT PREFIX table: <http://www.daml.org/2003/01/periodictable/PeriodicTable#> SELECT ?name ?weight WHERE { ?element table:name ?name; table:atomicWeight ?weight. } ORDER BY DESC(?weight) LIMIT 10
  7. 7. ASK Returns a true/false value Is there data that looks like this ? Do you have any information about that ?
  8. 8. ASK PREFIX foaf: <http://xmlns.com/foaf/0.1/> ASK WHERE { ?person a foaf:Person ; foaf:mbox <mailto:leigh@ldodds.com>. } (SPARQL equivalent of a vanity search!)
  9. 9. CONSTRUCT Returns an RDF graph Extract a specific subset of the queried data I want this , this , and this
  10. 10. CONSTRUCT PREFIX foaf: <http://xmlns.com/foaf/0.1/> CONSTRUCT { ?friend a foaf:Person; foaf:name ?name; foaf:homepage ?home. } WHERE { ?person foaf:mbox <mailto:leigh@ldodds.com>; foaf:knows ?friend. ?friend foaf:name ?name; foaf:homepage ?home. }
  11. 11. DESCRIBE Returns an RDF graph Tell me about this or things that look like this … but you decide what’s relevant
  12. 12. DESCRIBE PREFIX foaf: <http://xmlns.com/foaf/0.1/> DESCRIBE ?friend WHERE { ?person foaf:mbox “mailto:leigh@ldodds.com”; foaf:knows ?friend. }
  13. 13. Applied Uses Beyond the basics
  14. 14. DESCRIBE for Prototyping DESCRIBE <http://example.org/someResource> Quickly assembling UIs Web APIs
  15. 15. SELECT for Indexing Building an ordering over some data ORDER BY, LIMIT
  16. 16. CONSTRUCT for Transformation … and also simple inferencing CONSTRUCT could be the XSLT of RDF Currently limited by lack of expressions in CONSTRUCT triple templates
  17. 17. CONSTRUCT for Transformation PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX ex: <http://www.example.org/blogger/> CONSTRUCT { ?person a ex:Blogger. } WHERE { ?person foaf:weblog ?blog. }
  18. 18. SPARQL for Validation XSLT can be used for XML Validation (Schematron) SPARQL can be used for RDF Validation
  19. 19. Validation – ASK * ASK WHERE { #triple patterns that you don’t want to find } *Source: Talis Platform Field Predicate Map Validation
  20. 20. Validation – CONSTRUCT * CONSTRUCT { #some error message or data } WHERE { #triple patterns that you don’t want to find } *Source: Alistair Miles, Schemarama 2 Jena 2 Validation Support
  21. 21. In Combination?
  22. 22. The ADC Pattern ASK – DESCRIBE – CONSTRUCT Probe endpoint Grab default view of data Refine data extraction and/or apply transformation
  23. 23. Questions?

Notas del editor

×