Consider the following SPARQL patterns, which are almost identical, but the first is a single BGP, while the second is the join of two (group graph patterns each composed of) single BGPs.
-1-
{ ?x :p ?y. ?y :q ?z. }
The algebra looks like:
(bgp (triple ?x :p ?y) (triple ?y :q ?z) )
-2-
{ {?x :p ?y.} {?y :q ?z.} }
The algebra looks like
(join (bgp (triple ?x :p ?y)) (bgp (triple ?y :q ?z)))
(Jena ARQ 3.11.0 was used to generate algebra).
QUESTION
Would an entailment regime cause the two patterns to yield different results? as entailment is applied on BGP level. Hence the first pattern has entailment applied as a whole, while the second has entailment applied to each BGP separately and then the results joined.
Any input/examples/references would be appreciated.