Alternative Syntaxes for BGPs

Hi all,
this is mainly motivated from entailment regimes, but might be of
interest to others, so I didn't prefix the subject of the email.

I would like to suggest alternative syntaxes for BGPs because in
particular for OWL with Direct Semantics triple syntax can be very
long and not very intuitive. E.g.,
SELECT ?p WHERE { ?p a _:x . _:x a owl:restriction . _:x
owl:onProperty :hasChild . _:x owl:SomeValuesFrom :Male . }
asks for things that have a male child. In OWL Functional-Style Syntax
(used throughout the OWL 2 spec) that would be
SELECT ?p WHERE { ClassAssertion(ObjectSomeValuesFrom(:hasChild :Male) ?p) . }
That is not much shorter, but probably more intuitive for OWL folks.
Each such BGP can directly be translated into triples and for
functional-style syntax, for example, a mapping to triples is part of
the OWL 2 spec.

Now there are at least two possibilities. One could allow SPARQL
queries with BGPs in non-triple syntax (no mandatory support from
SPARQL systems) and another one is that SPARQL BGPs are always
triples, but query interfaces could support different BGP syntaxes and
translate them to triples before issuing the query.

In any case, how does the group feel about adding a section about
alternative syntaxes to the entailment regimes document?

Cheers,
Birte

-- 
Dr. Birte Glimm, Room 306
Computing Laboratory
Parks Road
Oxford
OX1 3QD
United Kingdom
+44 (0)1865 283529

Received on Thursday, 29 October 2009 18:48:46 UTC