Another thing on property paths...

Independent from Jorge's remarks on the comments list, I have had another 
question on PropertyPaths, particulary about ZeroLengthPath:


Admittedly, find the e.g. the zeroLengthPath operator quite unintiuitive at the moment, 
linking *ALL* nodes with each other... 
that means that e.g.

?X knows* ?Y 

for not only the transitively linked pairs of resources via the knows property,
ALL pairs of nodes in the graph... Actually, I isn't a more standard way of treating 0-length paths just as 
reflexive, i.e. only linking each node reflexively with itself?

I would at least find this more intuitive and returning less noisy results, i.e. "what I can reach from one node 
in 0 steps is just the node itself" sounds intuitive to me. Am I mistaken here? If yes, why? 
At least, I don't understand why we *need* to return the pairs of all nodes here? 

Example:

alice knows bob .
bob knows charly .

Pattern:
?X knows* ?Y 

Result ALL:
 ?X ?Y
 -----
 a  a
 a  b
 a  c
 a  k
 b  b
 b  a
 b  c
 b  k
 c  c
 c  a
 c  b
 c  k
 k  k
 k  a
 k  b
 b  c
 a  b
 b  c
 a  c

Result REFLEXIVE:
 ?X ?Y
 -----
 a  a
 b  b
 c  c
 k  k
 a  b
 b  c
 a  c

(a = alice, b = bob, c = chalry, k = knows)

Can someony explain to me why the reflexive only version of ZeroLengthPath wouldn't work with the rest?

Axel

Received on Friday, 17 December 2010 09:53:35 UTC