- From: Ivan Shmakov <ivan@main.uusia.org>
- Date: Sun, 03 Oct 2010 19:36:25 +0700
- To: semantic-web@w3.org
- Message-ID: <87tyl31mie.fsf@violet.siamics.net>
Somehow, I would expect the two SPARQL queries below, with the
only difference being the order of UNION patterns interchanged,
to produce identical results irrespective of the graph being
queried.
However, as shown below, Rasqal's (Redland's) roqet(1) behaves
differently when given these queries.
The question is: what I did wrong?
(NB: one of the UNION patterns never matches in this case, as
the graph has no <http://example.com/> nodes.)
$ cat < +1286108641.sparql
PREFIX mdp: <uuid:699b3cf4-ce42-11df-b0c7-00195b7187be#>
PREFIX mdpc: <uuid:3749931e-ce46-11df-89dc-00195b7187be#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
CONSTRUCT {
?re mdpc:refinementTemplate ?t
} WHERE {
{
{
?re mdpc:refinementTemplate ?t
} UNION {
<http://example.com/> <http://example.com/#re> ?re .
<http://example.com/> <http://example.com/#t> ?t .
}
}
FILTER (bound (?re) && bound (?t))
}
$ cat < +1286108715.sparql
PREFIX mdp: <uuid:699b3cf4-ce42-11df-b0c7-00195b7187be#>
PREFIX mdpc: <uuid:3749931e-ce46-11df-89dc-00195b7187be#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
CONSTRUCT {
?re mdpc:refinementTemplate ?t
} WHERE {
{
{
<http://example.com/> <http://example.com/#re> ?re .
<http://example.com/> <http://example.com/#t> ?t .
} UNION {
?re mdpc:refinementTemplate ?t
}
}
FILTER (bound (?re) && bound (?t))
}
$ roqet -r turtle -D +1286107714.ttl +1286108641.sparql
roqet: Querying from file +1286108641.sparql
roqet: Query has a graph result:
roqet: Total 10 triples
@base <file:///var/home/ivan/devel/d5p-modis/doc/examples/+1286108641.sparql> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix mdp: <uuid:699b3cf4-ce42-11df-b0c7-00195b7187be#> .
@prefix mdpc: <uuid:3749931e-ce46-11df-89dc-00195b7187be#> .
[]
mdpc:refinementTemplate _:r10_graphid0_r1286092747r28491r16 .
[]
mdpc:refinementTemplate _:r1_graphid0_r1286092747r28491r11 .
[]
mdpc:refinementTemplate _:r2_graphid0_r1286092747r28491r16 .
[]
mdpc:refinementTemplate _:r3_graphid0_r1286092747r28491r11 .
[]
mdpc:refinementTemplate _:r4_graphid0_r1286092747r28491r16 .
[]
mdpc:refinementTemplate _:r5_graphid0_r1286092747r28491r16 .
[]
mdpc:refinementTemplate _:r6_graphid0_r1286092747r28491r16 .
[]
mdpc:refinementTemplate _:r7_graphid0_r1286092747r28491r16 .
[]
mdpc:refinementTemplate _:r8_graphid0_r1286092747r28491r16 .
[]
mdpc:refinementTemplate _:r9_graphid0_r1286092747r28491r16 .
$ roqet -r turtle -D +1286107714.ttl +1286108715.sparql
roqet: Querying from file +1286108715.sparql
roqet: Query has a graph result:
roqet: Total 0 triples
@base <file:///var/home/ivan/devel/d5p-modis/doc/examples/+1286108715.sparql> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix mdp: <uuid:699b3cf4-ce42-11df-b0c7-00195b7187be#> .
@prefix mdpc: <uuid:3749931e-ce46-11df-89dc-00195b7187be#> .
$
--
FSF associate member #7257
Received on Monday, 4 October 2010 06:48:17 UTC