[Pellet-users] A lot of descendant queries

Ibach, Brandon L brandon.l.ibach at lmco.com
Thu May 3 17:15:25 UTC 2007


	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