Hi,

I just found something I don't understand.

Using the last Fuseki server ( 1.0.0 ) I push some triples with a SPARQL 
insert, for example : 

PREFIX uso: <http://weblab.ow2.org/SWAG_users_ontology#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

INSERT DATA {
        GRAPH <http://swag_data.com/users_graph> {
                <http://swag_data.com/User/portal> rdf:type uso:User.
                <http://swag_data.com/User/portal> uso:password 
"liferay_portal"^^xsd:String.
                <http://swag_data.com/User/portal> uso:name 
"[email protected]"^^xsd:String.
                <http://swag_data.com/User/portal> uso:hasAccessRestrictionLvl 
<http://cassidian/COPS/not_restricted>.
                <http://swag_data.com/User/portal> uso:memberOfGroup 
<http://swag_data.com/portal_user_group>.
                <http://swag_data.com/portal_user_group> uso:name 
"Portal"^^xsd:String.
        }.
}


My problem is that depending the way I start the server, I got different 
results from 2 queries that was supposed to be equals. The queries are :

prefix uso: <http://weblab.ow2.org/SWAG_users_ontology#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT ?p ?o ?n
FROM <http://swag_data.com/users_graph>
WHERE {
?user uso:name "[email protected]"^^xsd:String.
?user uso:password "liferay_portal"^^xsd:String.
?user ?p ?o.
OPTIONAL { ?o uso:name ?n }
}

and 

prefix uso: <http://weblab.ow2.org/SWAG_users_ontology#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT ?p ?o ?n
WHERE {
graph <http://swag_data.com/users_graph> {
?user uso:name "[email protected]"^^xsd:String.
?user uso:password "liferay_portal"^^xsd:String.
?user ?p ?o.
OPTIONAL { ?o uso:name ?n }
}
}

If I correctly understand the SPARQL standards, this two queries are supposed 
to give the same result. 
And that what's append when I execute the update and the queries on the the 
dataset "test" against a 
Fuseki started with the command : "fuseki-server --update --loc "../test" /test"

When I execute the two queries against the dataset ds of a Fuseki started by 
this command :"fuseki-server --config="./config.ttl"
The first one don't find any matching result and the second give me the result 
same expected, obtained by the two queries with the other server :

-----------------------------------------------------------------------------------------------------------------------
| p                                                 | o                         
               | n                    |
=======================================================================================================================
| uso:memberOfGroup                                 | 
<http://swag_data.com/portal_user_group> | "Portal"^^xsd:String |
| uso:hasAccessRestrictionLvl                       | 
<http://cassidian/COPS/not_restricted>   |                      |
| uso:name                                          | 
"[email protected]"^^xsd:String |                      |
| uso:password                                      | 
"liferay_portal"^^xsd:String             |                      |
| <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> | uso:User                  
               |                      |
-----------------------------------------------------------------------------------------------------------------------

Is that due to the default union graph parameters ? Is that comportment fully 
standard compliant ? If yes, which point of the standard did I missed?
Because I thought that this 2 queries are semantically the same and I was 
expecting the same results in all contexts.

VAÏSSE-LESTEVEN Arthur

Reply via email to