Re: Query properties of a resource with SPARQL

On Thu, Jan 12, 2006 at 05:35:13 +0800, Jeremy Wong ��?��?�?? wrote:
> 
> Below is a SPARQL query to retrieve pairs of resource and resource's 
> property (when the resource acts as subject). It is to find out whether the 
> set of rdfs:domain of a rdf:Property is a subset of the set of rdfs:Class 
> of a resource. It looks so lengthy... Any way to improve the query?
> 
> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
> SELECT DISTINCT ?r0 ?property{
>    ?r0 a ?c0.
>    ?property rdfs:domain ?c0.
>    OPTIONAL{
>        ?property rdfs:domain ?c1.
>        FILTER(?c1=?c0)
>        OPTIONAL{
>            ?property rdfs:domain ?c2a.
>            FILTER(?c2a!=?c1)
>        }
>        FILTER(BOUND(?c2a))

I think all this line does is negate the OPTIONAL keyword obove, if c2a
must be bound then the OPTIONAL block had to match, which has the same
semantics as { ?property rdfs:domain ?c2a. FILTER(?c2a!=?c1) }

- Steve

Received on Thursday, 12 January 2006 09:51:45 UTC