comments on property path tests

I'm trying to work my way through the property path tests (the full URIs of which seems like a holdover from DAWG), and have some comments/questions.


pp02
==============================
I disagree with the results.

# data
in:a ex:p1 in:b .
in:b ex:p2 in:a .
in:a ex:p3 in:c .

# query
select * where {
	in:a (ex:p1/ex:p2/ex:p3)* ?x
}

# CVS results
x
===
in:c

I would also expect a second result

x
===
 in:a

to handle the case of the * matching a zero-length path (in:a ...{0} ?x), causing the path ending variable ?x to match the starting node in:a.


pp05
==============================
I disagree with results again based zero-length paths. As a side note, pp05.srx talks about bnodes such as "_:1" and "_:2"  which I assume are typos of "_:b1" and "_:b2".

# data
_:b1 rdf:first 1 .
_:b1 rdf:rest rdf:nil .
_:b2 ex:prop 2 .

# query
select * where {
?x rdf:rest{0,1} ?y
}

# CVS results
x		y
===============
_:b1	_:b1
_:b2	_:b2
_:b1	rdf:nil	(this really uses ?x=_:b2 in CVS, but I assume it's a typo and meant to be _:b1?)
rdf:nil	rdf:nil

We haven't discussed yet (to my knowledge) if literals should be able to bind to variables in the subject position when bound as part of a zero-length path. If they should match, then based on zero-length paths matching all subjects and objects, I would also expect to see:

x		y
===============
1		1
2		2


thanks,
.greg

Received on Tuesday, 13 July 2010 19:57:56 UTC