[Pellet-users] A lot of descendant queries
Alan Ruttenberg
alanruttenberg at gmail.com
Thu May 3 17:20:51 UTC 2007
This would be equivalent to the calls I made *if* the sparql engine
implemented TBOX queries, which I understand not to be the case in
the current version.
-Alan
On May 3, 2007, at 1:15 PM, Ibach, Brandon L wrote:
> My tendency is to always find a way to do things that doesn't
> involve writing code, if I can do it in a more declarative style, so
> SPARQL is my weapon of choice. Of course, I have no idea if this
> would
> be any faster, but what about something like (completely untested,
> so it
> may fail for any number of reasons):
>
> SELECT ?c ?p
> WHERE { ?p rdfs:subClassOf [
> owl:onProperty ex:part_of ;
> owl:someValuesFrom ?c ] }
>
> I'm thinking that starting by iterating over the restrictions
> might be faster than iterating over all classes and then over each
> restriction for each class, unless the reasoner is somehow able to
> optimize the search for appropriate restrictions, such as having them
> indexed by the object of the someValuesFrom.
>
> -Brandon :)
>
>
> -----Original Message-----
> From: pellet-users-bounces at lists.owldl.com
> [mailto:pellet-users-bounces at lists.owldl.com] On Behalf Of Evren Sirin
> Sent: Thursday, May 03, 2007 7:47 AM
> To: Alan Ruttenberg
> Cc: pellet-users at lists.owldl.com
> Subject: Re: [Pellet-users] A lot of descendant queries
>
> On 5/1/07 3:44 PM, Alan Ruttenberg wrote:
>> Hi,
>> I'm using pellet to compute inferred class level part_of relations
>> between classes in GO.
>> The way I do this is to load the ontology and then iterate over all
>> classes c asking for descendants of
>> (restriction part_of (some-values-from c))
>>
>> This takes quite a while. Is there a fast way to do this?
>>
> I cannot think of any straightforward way that is faster. So you
> want to
>
> compute the mereological hierarchy similar to subsumption hierarchy. I
> think the same strategy (and similar optimizations) for computing the
> subsumption hierarchy would apply here. That is you compute told
> part_of
>
> relations, do a top search for each concept to find what it is part of
> and do a bottom search to find what parts it has. This strategy
> avoids
> many unnecessary tests and reuses the previously found information
> effectively. A lot of the code inside Pellet classifier could be
> reused
> but there is still a fair amount of work that needs to be done to
> customize the classification code for this purpose.
>
> Cheers,
> Evren
>> -Alan
>>
>> _______________________________________________
>> Pellet-users mailing list
>> Pellet-users at lists.owldl.com
>> http://lists.owldl.com/mailman/listinfo/pellet-users
>> _______________________________________________
>>
>> Sponsored by Clark & Parsia, LLC http://clarkparsia.com/
>>
>
> _______________________________________________
> Pellet-users mailing list
> Pellet-users at lists.owldl.com
> http://lists.owldl.com/mailman/listinfo/pellet-users
> _______________________________________________
>
> Sponsored by Clark & Parsia, LLC http://clarkparsia.com/
More information about the Pellet-users
mailing list