Hello Julien

On Tue, 2012-06-12 at 14:31 +0200, Julien Cojan wrote:
> Hi all,
> 
> I noticed two kind of unexpected results when using filters.
> For both, I have examples from dbpedia.org sparql endpoint, but I got
> the same kind of results from a virtuoso 6.1.5 running on my machine.
> 
> 
> The first issue is about language tags that are sometimes missing.
> For instance with  the following query, there is no xml:lang="fr" in
> the XML result, nor a "@fr" in the html display.
> However, if the second condition in the filter is uncommented, the tag
> reappears!
> 
> select *
> where{
>   <http://dbpedia.org/resource/Augustus> rdfs:label ?n
>   filter (
>      ((?n = 'Auguste'@fr)
>      #|| (?n = 'Auguste'@fr)
>   ))
> }
> 
> 

Yes I'm fixing the issue now.


> The second issue seems to be related to the way datatypes are handled.
> The http://dbpedia.org/data/Berlin.ntriples contains these two triples
> among others:
> <http://dbpedia.org/resource/Berlin>
> <http://dbpedia.org/ontology/elevation>
> "34.0"^^<http://www.w3.org/2001/XMLSchema#double>
> <http://dbpedia.org/resource/Berlin>
> <http://dbpedia.org/property/elevation>
> "34"^^<http://www.w3.org/2001/XMLSchema#int>
> 
> With the following query, I actually get these two results, although
> both values are casted to integers 
> (the xml output contains the attribute
> datatype="http://www.w3.org/2001/XMLSchema#integer"; for both).

Unfortunately Virtuoso does not keep difference between equal numeric
values of different types. The optimizer knows that and puts the
constant right into the result set. Sorry for inconvenience.

Best Regards,

Ivan Mikhailov
OpenLink Software
http://virtuoso.openlinksw.com



Reply via email to