Hi Nathan/Bernhard, This is a known issue, as it has been reported with "distinct" queries under other circumstances before. I shall add this reported occurrence to the current pending bug report for development to resolve and report back when it is fixed ...
Best Regards Hugh Williams Professional Services OpenLink Software Web: http://www.openlinksw.com Support: http://support.openlinksw.com Forums: http://boards.openlinksw.com/support Twitter: http://twitter.com/OpenLink On 10 Dec 2009, at 08:46, Nathan wrote: > Bernhard Haslhofer wrote: >> Hi, >> >> for research purposes I have imported DBpedia dumps into a local Virtuoso >> 06.00.3123 instance using the following command: >> >> ttlp_mt (file_to_string_output ('$f'), '', '$g', 255); >> >> I am using the 255 flag cause I need all triples in the store, also the >> erroneous ones. >> >> Now, when executing the following query against the local SPARQL endpoint... >> >> select ?x where {?x ?y ?z} LIMIT 5 >> >> ...everything is fine. I get the following result (in RDF/XML) >> >> <rdf:RDF xmlns:res="http://www.w3.org/2005/sparql-results#" >> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> >> <rdf:Description rdf:nodeID="rset"> >> <rdf:type rdf:resource="http://www.w3.org/2005/sparql-results#ResultSet" /> >> <res:resultVariable>x</res:resultVariable> >> <res:solution rdf:nodeID="r0"> >> <res:binding rdf:nodeID="r0c0"><res:variable>x</res:variable><res:value >> rdf:resource="http://dbpedia33.mminf.univie.ac.at/resource/%22S%22_Bridge_II"/></res:binding> >> </res:solution> >> ... >> </rdf:Description> >> </rdf:RDF> >> >> ...but if execute the same query using DISTINCT I get the following result >> >> <rdf:RDF xmlns:res="http://www.w3.org/2005/sparql-results#" >> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> >> <rdf:Description rdf:nodeID="rset"> >> <rdf:type rdf:resource="http://www.w3.org/2005/sparql-results#ResultSet" /> >> <res:resultVariable>x</res:resultVariable> >> <res:solution rdf:nodeID="r0"> >> <res:binding >> rdf:nodeID="r0c0"><res:variable>x</res:variable><res:value>http://dbpedia33.mminf.univie.ac.at/resource/%22S%22_Bridge_II</res:value></res:binding> >> </res:solution> >> ... >> </rdf:Description> >> </rdf:RDF> >> >> so the binding for ?x is interpreted as a literal and not a resource. When >> using client APIs such as Jena, the results are then converted into Literal >> objects which causes some troubles in the application I am currently working >> on. >> >> Did I miss anything or is this a known issue? Is there a way to fix that? >> >> Thanks a lot, >> >> Bernhard >> > > Just a quick note to say I get the same as well, sometimes URI's come > back as Literals when using distinct; > > further using distinct + group by prevents "order by" from working in > most cases ( apart from order by on a count() ) > > to replicate you can run these two on dbpedia sparql endpoint (or any > virtuoso 5/6) > > correct: select ?p ?o where { <http://dbpedia.org/resource/HaXe> ?p ?o } > group by ?p order by desc(?o) > > wrong: select distinct ?p ?o where { <http://dbpedia.org/resource/HaXe> > ?p ?o } group by ?p order by desc(?o) > > regards! > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > Virtuoso-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/virtuoso-users
