Upcoming SPARQL improvements

W3C’s new SPARQL working drafts bring a lot of nice features that I soon hope to be widely supported, because our applications would also greatly benefit from them.

Property paths

Property paths will make queries both more powerful and easier to write. Some cases resemble XPath/XQuery:

Find the names of people 2 “foaf:knows” links away.

{
 ?x foaf:mbox <mailto:alice@example> .
 ?x foaf:knows/foaf:knows/foaf:name ?name .
}

… whereas others generalize the idea of transitive closures, which is also relevant in our applications that work on RDF extracted from OMDoc or OpenMath (e.g. finding imported theories, computing dependencies, and checking MMT well-formedness):

Find the names of all the people that can be reached from Alice by foaf:knows:

{
 ?x foaf:mbox <mailto:alice@example> .
 ?x foaf:knows+/foaf:name ?name .
}

Update language

Other features to come are an update language, probably inspired by XQuery Update.  That would, assuming a triple store that supports it, e.g. make it easier to integrate Krextor into applications.

Entailment regimes

Besides enhancements to simple queries, the behavior of SPARQL under different entailment regimes (e.g. RDFS or OWL – in practical terms: what happens when you attach a reasoner to your triple store) will be clarified.

Miscellaneous

In the core of the language, certain other goodies will be specified, such as an easier syntax for negation-as-failure and subqueries (nested queries).

Tags: , ,

Leave a Reply

You must be logged in to post a comment.