[ScalarExpressionsInTriplePatterns] [ScalarExpressionsInConstruct] inline scalar expressions

These two issues are similar: both share the idea that a new syntactical 
construct would allow scalar (i.e. non-aggregate) expressions to occur 
inline within triples. The first deals with putting expressions directly 
into triple patterns in the body of a query, and the second deals with 
putting expressions directly in the template part of a CONSTRUCT query.

I have one main question and then some observations:

1) Are there existing implementations that do this in addition to 
Virtuoso (whether or not in a syntactically interoperable way)?

Observations:

As best I can see, [ScalarExpressionsInTriplePatterns] is purely surface 
syntax, and can always be replaced by a variable plus a filter on that 
variable. (Though there are some semantic differences between graph 
pattern matching and filter value matching, so the filter might need to 
use sameTerm rather than the '=' operator). Is this right?

Also as best I can see, [ScalarExpressionsInConstruct] is not purely 
surface syntax on its own, but becomes surface syntax if the group 
chooses to pursue either Assignment or SubSelects+ProjectExpressions, 
both of which give SPARQL the capability to give names (variables) to 
values that don't explicitly occur in the query's RDF dataset graphs. Is 
this right?

Other comments welcome! Remember: due to our time constraints, these 
discussions will in some cases end up substituting for the chance to 
discuss every proposed feature in teleconference, so get your comments / 
questions / advocacy in now, while you can! :)

Lee

Received on Thursday, 19 March 2009 14:08:45 UTC