These slides are a brief update on the status of the work of the current SPARQL Working Group. "SPARQL 1.1" collectively refers to the upcoming versions of the SPARQL query language, SPARQL update language, and other deliverables of the 2nd (current) SPARQL Working Group.
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
SPARQL 1.1 Status
1. 1.1 What’s coming and what might be coming? May, 2010 Latest at http://www.slideshare.net/LeeFeigenbaum/sparql2-status Lee Feigenbaum, Co-chair, SPARQL Working Group lee@thefigtrees.net
2. Disclaimer The SPARQL Working Group has not yet decided many of the technical questions surveyed in these slides. All examples are subject to change; please do not construe them as indicators or endorsements of specific technical designs/decisions. All opinions are Lee Feigenbaum’s alone.
3. Naming SPARQL 1.1 is the collective name of the work produced by the current SPARQL Working Group. The actual components being worked on are known as:SPARQL 1.1 QuerySPARQL 1.1 Update SPARQL 1.1 Service Description …
4. Where are we now? Today August 2010 March 2009 ??? Last Call and beyond of core SPARQL specifications July 2009 FPWD of SPARQL New Features and Rationales document October 2009 FPWD of core SPARQL specifications
6. Projected Expressions Select expressions other than variables (literals, functions on literals and variables, etc.) SELECT (?price* ?qty AS ?total_price) WHERE { … }
7. Aggregates À la SQL aggregates (MIN, MAX, COUNT, AVG, SUM etc.) Issues around: Aggregates and error values Grouping by expressions SELECT (MIN(?price) AS ?min_price)… WHERE { … } GROUP BY ?item
8. Subqueries Nested queries allow multiple queries to be combined into one. SELECT ?article ?authorWHERE { ?article ex:author ?author . { SELECT ?article WHERE { … ?article … } ORDER BY … LIMIT … }}
9. Negation Supplant the mystifying OPTIONAL/!bound method of negation with a dedicated construct Issues around: Filter semantics vs. set-difference semantics Graph pattern operators vs. filter functions SELECT … WHERE { ?person a foaf:Person . MINUS{ ?person foaf:mbox ?email } }
10. Service Description A standard discovery mechanism and vocabulary for describing the capabilities, extensions, data sets, and more for a SPARQL endpoint Discovery. How can a client find the RDF that describes a SPARQL endpoint at a particular URI? Description. What predicates, classes, values, etc. should a client expect to find (and be able to query) once it locates a service description?
11. Update Language Based on the SPARQL Update member submission Batch insert & delete Insert & delete based on triple patterns Graph management (creation, removal) Issues around: Defining a formal model for update Graph stores vs. RDF data sets Return codes
12. Update Protocol The ability to issue SPARQL/Update language statements via a standard protocol (e.g. via HTTP POST) Issues around: Security Response HTTP codes
13. HTTP RDF update (RESTful) Where appropriate, map HTTP requests to SPARQL/Update operations DELETE /foo/g1 …-> DELETE DATA FROM ex:g1 … Issues around: Which mappings to include? Are graphs information resources?
14. Property Paths Support arbitrary-length predicate paths in triple patterns – “regular expressions” on predicates? Query hierarchical structures such as RDF collections Issues around: Duplicates and cycles in paths Negated path segments SELECT … WHERE { ?person foaf:knows+ ?network . }
15. Basic Federated Query Initial scaffolding for authoring federated SPARQL queries Add a keyword to explicitly target portions of a query to specific endpoints Issues around: SERVICE and variables? Is federated query its own document? SELECT … WHERE { … SERVICE ex:books { … } }
16. Entailment Regime Semantics SPARQL/Query 1.0 defines a mechanism to extend SPARQL semantics for additional entailment regimes Use this mechanism to define the semantics of SPARQL queries for: RDF Schema OWL fragments RIF rule sets …
17. Common Functions Extend the set of functions that SPARQL engines must support to include some of… Common string functions (e.g. substr) Common date/time/datetime functions Logical functions (COALESCE, IF, …?) Limited discussion to date about which functions to include
18. Get Involved Join. Email team-sparql-chairs@w3.org Follow. WG materials at http://www.w3.org/2009/sparql/wiki/ Comment. Public feedback at public-rdf-dawg-comments@w3.org Use. Discuss SPARQL at public-sparql-dev@w3.org