- From: Steve Harris <swh@ecs.soton.ac.uk>
- Date: Tue, 5 Jun 2007 06:21:34 +0100
- To: public-sparql-dev@w3.org
- Message-Id: <813979C3-2328-4432-A636-5736682C1813@ecs.soton.ac.uk>
You don't say what SPARQL engine you're using, but at first glance
this looks like a bug.
Try writing it as:
WHERE { {
?subject ?property ?object .
?property a owl:ObjectProperty.
?object rdfs:label ?value
} UNION {
?subject1 ?property1 ?object1 .
?property1 a owl:DataProperty
} }
if that works then you have a bug. The behaviour of SPARQLs UNION is
not very natural from a relation algebra p.o.v., and this may have
confused developers familiar with that.
- Steve
On 4 Jun 2007, at 21:44, Paul Hermans wrote:
> Given
> PREFIX pcce: <http://www.pcce.be/egb/>
> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
> PREFIX owl: <http://www.w3.org/2002/07/owl#>
> SELECT ?property ?object ?value
>
> This works
> WHERE
> {?subject ?property ?object.
> ?property a owl:ObjectProperty.
> ?object rdfs:label ?value}
>
> This works also
> WHERE {
> {?subject ?property ?object.
> ?property a owl:DataProperty}
>
> But the union only returns object properties (everything before the
> union) in this case
>
> WHERE {
> {?subject ?property ?object.
> ?property a owl:ObjectProperty.
> ?object rdfs:label ?value}
> UNION
> {?subject ?property ?object.
> ?property a owl:DataProperty} }
>
>
> And only data properties (before the union) in this case
> WHERE {
> {?subject ?property ?object.
> ?property a owl:DataProperty}
> UNION
> {?subject ?property ?object.
> ?property a owl:ObjectProperty.
> ?object rdfs:label ?value} }
>
>
> While I would like to have both.
>
> What am I missing?
Received on Tuesday, 5 June 2007 05:21:20 UTC