Re: Issue-3 - Blank nodes substituted into BGPs act as variables

Peter wrote:
> To get the maximum conformance to the SPARQL spec, yes, you have to do the
> injection into every group graph pattern.   I don't think that that is the
> best way to go.  However, it may be that this group shouldn't produce the best
> solution but instead a worse solution that is closer to the spec.

One way we can approach this is to describe the characteristics for a 
solution. That captures the ideal.  There may be different ways to 
achieve that and some may be partial given where we are starting from.

I agree that we may be better or necessary to make tradeoffs - we'll 
have to see as we go along.

What is required is that the range of a valve is restricted by the 
values in the current row being FILTERed.

One implementation is VALUES-at-every BGP (and other points variables 
get bound).

Another is, for simple entailment, is to restrict the bindings by 
FILTER(sameTerm(?x, <value>) allowing for concrete blank nodes there
(that is where substitution comes from when BGPs are solved by joins).

That isn't intend to be an exclusive list I'm sure there are other ways 
to consider as well.

 Andy

Received on Friday, 29 July 2016 15:03:14 UTC