DESCRIBE<http://example.com/#foo>   ?list ?b WHERE {<http://example.com/#foo>   
ex:myList ?list . ?list list:member ?b }

Didn't work.

What did you get?

==DATA:
@prefix :<http://example/>  .

:x :list ( 1 2 3 4 ) .
== query
DESCRIBE ?list { ?x<http://example/list>  ?list . }

== results:
@prefix :<http://example/>  .


[]<http://www.w3.org/1999/02/22-rdf-syntax-ns#first>  1 .
[]<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>  _:b1 .
_:b1<http://www.w3.org/1999/02/22-rdf-syntax-ns#first>  2 .
_:b1<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>  _:b2 .
_:b2<http://www.w3.org/1999/02/22-rdf-syntax-ns#first>  3 .
_:b2<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>  _:b3 .
_:b3<http://www.w3.org/1999/02/22-rdf-syntax-ns#first>  4 .
_:b3<http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>  () .

    Andy

I got the rdfs:first and rdfs:rest statements, what I did not get were the 
list:member statements.

What I want is the actual statements with list:member to be included in the 
generated graph, so the results of describing the list would include

[]<http://jena.hpl.hp.com/ARQ/list#member>  1 .
[]<http://jena.hpl.hp.com/ARQ/list#member>  2 .
[]<http://jena.hpl.hp.com/ARQ/list#member>  3 .
[]<http://jena.hpl.hp.com/ARQ/list#member>  4 .

Well, they don't exist in the data. The default DESCRIBE behaviour is to look only in the data.

You can make them appear (by calculation) if you query the results model using list:member.

You can put them there with an update (which is a CONSTRUCT that changes the target data) but you need that extra step. There isn't a a way to both CONSTRUCT and DESCRIBE in the same query (well, there is - you could add your own DESCRIBE handler and it can do anything, but that starts to get very Jena-specific).


        Andy

Reply via email to