1.1What’s coming and what might be coming?May, 2010Latest at http://www.slideshare.net/LeeFeigenbaum/sparql2-statusLee Feigenbaum, Co-chair, SPARQL Working Grouplee@thefigtrees.net
DisclaimerThe 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.
NamingSPARQL 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 UpdateSPARQL 1.1 Service Description…
Where are we now?TodayAugust 2010March 2009???Last Call and beyond of core SPARQL specificationsJuly 2009FPWD of SPARQL New Features and Rationales documentOctober 2009FPWD of core SPARQL specifications
Overview
Projected ExpressionsSelect expressions other than variables (literals, functions on literals and variables, etc.)SELECT (?price* ?qty AS ?total_price)WHERE { …}
AggregatesÀ la SQL aggregates (MIN, MAX, COUNT, AVG, SUM etc.)Issues around:Aggregates and error valuesGrouping by expressionsSELECT (MIN(?price) AS ?min_price)…WHERE { … }GROUP BY ?item
SubqueriesNested queries allow multiple queries to be combined into one. SELECT ?article ?authorWHERE {   ?article ex:author ?author .  {     SELECT ?article WHERE {      … ?article …    } ORDER BY … LIMIT …  }}
NegationSupplant the mystifying OPTIONAL/!bound method of negation with a dedicated constructIssues around:Filter semantics vs. set-difference semanticsGraph pattern operators vs. filter functionsSELECT … WHERE {   ?person a foaf:Person .MINUS{    ?person foaf:mbox ?email }}
Service DescriptionA standard discovery mechanism and vocabulary for describing the capabilities, extensions, data sets, and more for a SPARQL endpointDiscovery. 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?
Update LanguageBased on the SPARQL Update member submissionBatch insert & deleteInsert & delete based on triple patternsGraph management (creation, removal)Issues around:Defining a formal model for updateGraph stores vs. RDF data setsReturn codes
Update ProtocolThe ability to issue SPARQL/Update language statements via a standard protocol (e.g. via HTTP POST)Issues around: Security Response HTTP codes
HTTP RDF update (RESTful)Where appropriate, map HTTP requests to SPARQL/Update operationsDELETE /foo/g1 …-> DELETE DATA FROM ex:g1 …Issues around:Which mappings to include?Are graphs information resources?
Property PathsSupport arbitrary-length predicate paths in triple patterns – “regular expressions” on predicates?Query hierarchical structures such as RDF collectionsIssues around:Duplicates and cycles in pathsNegated path segmentsSELECT … WHERE {   ?person foaf:knows+ ?network .}
Basic Federated QueryInitial scaffolding for authoring federated SPARQL queriesAdd a keyword to explicitly target portions of a query to specific endpointsIssues around:SERVICE and variables?Is federated query its own document?SELECT … WHERE {  … SERVICE ex:books {   … }}
Entailment Regime SemanticsSPARQL/Query 1.0 defines a mechanism to extend SPARQL semantics for additional entailment regimesUse this mechanism to define the semantics of SPARQL queries for:RDF SchemaOWL fragmentsRIF rule sets…
Common FunctionsExtend the set of functions that SPARQL engines must support to include some of…Common string functions (e.g. substr)Common date/time/datetime functionsLogical functions (COALESCE, IF, …?)Limited discussion to date about which functions to include
Get InvolvedJoin. Email team-sparql-chairs@w3.orgFollow. WG materials at http://www.w3.org/2009/sparql/wiki/Comment. Public feedback at public-rdf-dawg-comments@w3.orgUse. Discuss SPARQL at public-sparql-dev@w3.org

SPARQL 1.1 Status

  • 1.
    1.1What’s coming andwhat might be coming?May, 2010Latest at http://www.slideshare.net/LeeFeigenbaum/sparql2-statusLee Feigenbaum, Co-chair, SPARQL Working Grouplee@thefigtrees.net
  • 2.
    DisclaimerThe SPARQL WorkingGroup 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.
    NamingSPARQL 1.1 isthe 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 UpdateSPARQL 1.1 Service Description…
  • 4.
    Where are wenow?TodayAugust 2010March 2009???Last Call and beyond of core SPARQL specificationsJuly 2009FPWD of SPARQL New Features and Rationales documentOctober 2009FPWD of core SPARQL specifications
  • 5.
  • 6.
    Projected ExpressionsSelect expressionsother than variables (literals, functions on literals and variables, etc.)SELECT (?price* ?qty AS ?total_price)WHERE { …}
  • 7.
    AggregatesÀ la SQLaggregates (MIN, MAX, COUNT, AVG, SUM etc.)Issues around:Aggregates and error valuesGrouping by expressionsSELECT (MIN(?price) AS ?min_price)…WHERE { … }GROUP BY ?item
  • 8.
    SubqueriesNested queries allowmultiple queries to be combined into one. SELECT ?article ?authorWHERE { ?article ex:author ?author . { SELECT ?article WHERE { … ?article … } ORDER BY … LIMIT … }}
  • 9.
    NegationSupplant the mystifyingOPTIONAL/!bound method of negation with a dedicated constructIssues around:Filter semantics vs. set-difference semanticsGraph pattern operators vs. filter functionsSELECT … WHERE { ?person a foaf:Person .MINUS{ ?person foaf:mbox ?email }}
  • 10.
    Service DescriptionA standarddiscovery mechanism and vocabulary for describing the capabilities, extensions, data sets, and more for a SPARQL endpointDiscovery. 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 LanguageBased onthe SPARQL Update member submissionBatch insert & deleteInsert & delete based on triple patternsGraph management (creation, removal)Issues around:Defining a formal model for updateGraph stores vs. RDF data setsReturn codes
  • 12.
    Update ProtocolThe abilityto 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 operationsDELETE /foo/g1 …-> DELETE DATA FROM ex:g1 …Issues around:Which mappings to include?Are graphs information resources?
  • 14.
    Property PathsSupport arbitrary-lengthpredicate paths in triple patterns – “regular expressions” on predicates?Query hierarchical structures such as RDF collectionsIssues around:Duplicates and cycles in pathsNegated path segmentsSELECT … WHERE { ?person foaf:knows+ ?network .}
  • 15.
    Basic Federated QueryInitialscaffolding for authoring federated SPARQL queriesAdd a keyword to explicitly target portions of a query to specific endpointsIssues around:SERVICE and variables?Is federated query its own document?SELECT … WHERE { … SERVICE ex:books { … }}
  • 16.
    Entailment Regime SemanticsSPARQL/Query1.0 defines a mechanism to extend SPARQL semantics for additional entailment regimesUse this mechanism to define the semantics of SPARQL queries for:RDF SchemaOWL fragmentsRIF rule sets…
  • 17.
    Common FunctionsExtend theset of functions that SPARQL engines must support to include some of…Common string functions (e.g. substr)Common date/time/datetime functionsLogical functions (COALESCE, IF, …?)Limited discussion to date about which functions to include
  • 18.
    Get InvolvedJoin. Emailteam-sparql-chairs@w3.orgFollow. WG materials at http://www.w3.org/2009/sparql/wiki/Comment. Public feedback at public-rdf-dawg-comments@w3.orgUse. Discuss SPARQL at public-sparql-dev@w3.org

Editor's Notes

  • #12 http://www.w3.org/Submission/SPARQL-Update/
  • #13 http://www.w3.org/Submission/SPARQL-Update/
  • #14 http://www.w3.org/Submission/SPARQL-Update/