A question regarding the latest SPARQL 1.1 Proposed Recommendation

Dear W3C,

i've encountered a problem while reading the SPARQL 1.1 Proposed 
Recommendation of November 8.

The question i have is in regards to an example in section 9.2. The 
example deals with Inverse Path Sequences and has the following example:

{
     ?x foaf:knows/^foaf:knows ?y .
     FILTER(?x != ?y)
   }


is equivalent to

   {
     ?x foaf:knows ?gen1 .
     ?gen1 foaf:knows ?y .
     FILTER(?x != ?y)
   }

However, in my opinion it should be equivalent to

   {
     ?x foaf:knows ?gen1 .
     ?y foaf:knows ?gen1 .
     FILTER(?x != ?y)
   }

Otherwise i fail to see the difference between the orgininal query and 
the same query without an inversion. I would like to hear your opinion 
on the matter. Moreover i have a question regarding the following query:

{
     ?x ^(foaf:a/foaf:b) ?y .
   }

I would think, that the equivalent query would be the following:

{
     ?y foaf:b ?gen1 .
     ?gen1 foaf:a ?x .
   }

Am i correct there?

Thank you for answers.

Greetings,

Christopher Schramm

Received on Thursday, 13 December 2012 10:47:16 UTC