2004–2008
2004–2008
The feature of dlvhex-plugins to be able to rewrite the input program prior to the evaluation opens a variety of powerful application scenarios. Here we demonstrate how dlvhex can be used as a query engine for SPARQL, a W3C candidate for an RDF query language, by providing a rewriter from SPARQL to rules. For more information, see Technical Report GIA-TR-2006-11-28.
Mind that this is a preliminary version for demonstration purposes, which processes only a subset of SPARQL. The supported features are:
SELECT queries with simple graph patterns, UNION and OPTIONAL
N3, RDF/XML, Turtle syntax for input
Full N3 syntax for triple patterns, including
‣blank nodes
‣arbitrary nesting of patterns
Simple conjunctive FILTER expressions:
‣conjunction (&&)
‣isBound (resp. isBOUND, bound, BOUND)
‣isBlank (resp. isBLANK) (purely syntactical and dependend on Raptor)
‣binary comparison operators ( =, =<, >=, !=, <, >)
b-joining and c-joining semantics as defined in the Technical Report GIA-TR-2006-11-28
Currently, the limitations are:
CONSTRUCT, ASK and DESCRIBE result forms not yet supported.
Solution modifiers not supported (unlikely they will be in the future, due to their non-declarative aspects)
FILTERs are still premature and incomplete, e.g. no checks on whether parameters of binops are bound, etc. So far supported are:
‣conjunction (&&)
‣isBound
‣isBlank (purely syntactical and dependend on Raptor)
‣binary comparison operators ( =, =<, >=, !=, <, >, translated to DLV native built-ins)
lack of language-tag awareness or (typed) literals; at the moment, we only allow Qnames, untyped literals, Variables and URIs.
‣we don't allow IRI's, i.e. no full unicode support
‣we don't allow lang-tags (@) in literals
‣we don't allow type datatype tags (^^) in literals
There is a slight problem with the handling of literals at the moment: the string "foaf:name" cannnot be distinguished in the resulting program from the URI or the QNAME foaf:name most likely!
Output not yet conforming to SPARQL protocol.
You find some examples from the SPARQL Specs at http://con.fusion.at/dlvhex/sparql-query-evaluation.php.
Implementing SPARQL in dlvhex
Tuesday, November 28, 2006
Imprint Privacy Disclaimer |