On 08/31/2010 11:06 PM, CStadler wrote:
Hi,
I found out another problem with incorrect data being returned:
Sparql Insert Into <http://test.org> {
<http://linkedgeodata.org/triplify/node855074925>
<http://linkedgeodata.org/property/addr%3Acountry> "Halle" .};
Sparql Insert Into <http://test.org> {
<http://linkedgeodata.org/triplify/node855074925>
<http://linkedgeodata.org/property/addr%3Astreet> "Halle" .};
Sparql Select Count(*) From <http://test.org> {?s ?p ?o .};
Gives:
@prefix ns0: <http://linkedgeodata.org/triplify/> .
ns0:node855074925 <http://linkedgeodata.org/property/addr%3Astreet>
"Halle" ,
"Halle"
Expected:
@prefix ns0: <http://linkedgeodata.org/triplify/> .
ns0:node855074925 <http://linkedgeodata.org/property/addr%3Astreet>
"Halle" ;
ns0:node855074925
<http://linkedgeodata.org/property/addr%3Acountry> "Halle" ,
Obviously the predicates <...addr%3Acountry> and <...addr%3Astreet>
are considered equal in the output, and therefore only of these
predicates is retained.
I filed in a similar bug report (which was fixed) somewhen at the
beginning of this year, but I couldn't find it anymore.
The previous bug was about the same behaviour of missing predicates,
if the predicate uris could not be separated into a namespace and name
part (such as http://www.p1.org, http://www.p2.org)
So this bug seems to be the same, except that this time its about URIs
containing special characters.
This bug also appears if the URI contains a '+' instead of a '%'.
In the doc for TTLP[1] it states
... 16 - Allows '/', '#', '%' and '+' in local part of QName ("Qname
with path") ...
Since it is working properly with predicate URIs containing / and #, %
and + might be only characters causing trouble?
[1]http://docs.openlinksw.com/virtuoso/fn_ttlp.html)
Kind regards,
Claus Stadler