SPARQL 1.1 Status


Published on

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.

Published in: Technology
  • Presentation updated 2010-May-11. Updated status of features and main issues for most features.
    Are you sure you want to  Yes  No
    Your message goes here
  • Presentation updated 2009-Oct-13. Updated naming to reflect group's decision to call our work SPARQL 1.1
    Are you sure you want to  Yes  No
    Your message goes here
  • Presentation updated 2009-Sep-30. Updated status of features & main issues for several features.
    Are you sure you want to  Yes  No
    Your message goes here
  • For anyone not familiar, 'FPWD' stands for 'First Public Working Draft'
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • SPARQL 1.1 Status

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