W3C home > Mailing lists > Public > public-semweb-lifesci@w3.org > April 2007

Re: Demo SPARQL notes

From: Alan Ruttenberg <alanruttenberg@gmail.com>
Date: Tue, 17 Apr 2007 11:06:03 -0400
Message-Id: <252EE5A9-2875-4914-8114-A1883B88A8FE@gmail.com>
Cc: public-semweb-lifesci@w3.org
To: Chris Mungall <cjm@fruitfly.org>


On Apr 17, 2007, at 10:54 AM, Chris Mungall wrote:

>
> Looking at "Creating class level relations for easier querying of  
> the GO"
>
> The problem you are solving is the one of limited inferencing in  
> RDF engines; in particular, queries such as:
>
> SELECT *
> WHERE
>  {
>    ?whole rdfs:subClassOf ?sub.
>    ?sub rdf:type owl:Restriction.
>    ?sub owl:onProperty <http://purl.org/obo/owl/part_of>.
>    ?sub owl:someValuesFrom ?part.
>  }
>
> are (1) awkward to express and (2) do not take into account the  
> declared transitivity of part_of, thus returning incomplete answers.
>
> It seems that (1) is just the price you pay for the RDF-OWL  
> combination. However (2) is a major problem with most existing  
> triplestores.

Yes, though for small scale data sets one can try this now (for  
instance to understand and learn what to expect) using Pellet's  
SPARQL implementation.
I think we will try to fit that in to the demo.

> Your solution is to insert relations at the class level, such that  
> you can query:
>
> select *
> where
>  {
>    ?whole <http://purl.org/obo/owl/part_of> ?part.
>    ?whole rdfs:label ?wlabel.
>  }
>
> This certainly helps with (1) - you don't explicitly say, but I am  
> guessing that you get support for (2) through basic RDFS  
> transitivity that comes for free with virtuoso?

They are implementing transitivity by adding entailed triples - same  
way that the other "closure" based triple stores with reasoning do.  
Hopefully I'll get to trying that later today.

> I actually like your solution, but I would have thought the OWL  
> purists would have disliked it, even with the punning caveat.

They should professionally dislike it, since what they strive is full  
sound and complete solutions, which this is not. On the other hand, I  
don't think they would argue with it, particularly since I have been  
in direct contact with a number of them asking for a viable  
alternative, which they have not, as yet, ponied up :) (you know who  
you are).

Anyways, they will have a chance to demonstrate their alternatives in  
the future, since the data from the demo will be openly available.  
With luck, subsequent work we do will be able to exercise some of  
these alternatives.

> It is compatible with the OBO relations view of the world, in which  
> relations can be said to hold between types by virtue of their  
> corresponding instances; and you don't have to worry about the  
> inforation loss re existential restrictions since this is  
> essentially built in to the relation.

Yes. I had that in mind. In fact these class level relations are more  
correct, from a BFO/OBO point of view, than the current instance  
based definitions, since the instance based definitions ignore time.

> It does seem like a limited trick unless you get some of the OWL  
> semantics from this alternate layering onto RDF - for example, how  
> would you handle instantiation?

Could you express this as a question to be answered, given some  
specific data? It will be easier to think about it if you do.

Regards,
Alan

>
>
> On Apr 16, 2007, at 10:31 PM, Alan Ruttenberg wrote:
>
>>
>> I've started a page where I and others can document some of the  
>> SPARQL queries and techniques that are being explored as we  
>> progress towards the demo.
>> The intention is to have a place to record things that are learned  
>> for later reference.
>>
>> http://esw.w3.org/topic/HCLS/HCLSIG_Demo_QueryScratch
>>
>> Regards,
>> Alan
>>
>>
>>
>
Received on Tuesday, 17 April 2007 15:07:30 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:00:47 GMT