[Pellet-users] A lot of descendant queries
Ibach, Brandon L
brandon.l.ibach at lmco.com
Thu May 3 18:56:13 UTC 2007
Alan,
I think I just confused the issue by including the SPARQL query.
Let me try again. I admit that I probably don't understand the possible
complexity, here, but it seems like what you're trying to do is, as you
say, basically compute role inclusions, but over, as Bijan termed them,
conditionals, or relationships between classes. Essentially, the
restriction that you're looking for subclasses of is a relationship
between classes that you want to project along the class hierarchy.
Please correct me if I'm wrong about anything, so far.
If this is the case, my next question is whether this relation
could ever exist without being explicitly stated in the ontology in the
form of a restriction. To the best of my knowledge, without having
thought too hard about it, this isn't even possible. If that's true,
then you should be able to find every instance of this relationship by
iterating the restrictions in the ontology and asking Pellet for
subclasses of those that are someValuesFrom restrictions on partOf. It
seems to me that this might involve significantly fewer calls to
getSubClasses, which should address both the memory consumption and
execution time issues.
If my reasoning about this is wrong in any way, I apologize and
welcome any criticisms as a learning experience.
-Brandon :)
-----Original Message-----
From: Alan Ruttenberg [mailto:alanruttenberg at gmail.com]
Sent: Thursday, May 03, 2007 1:21 PM
To: Ibach, Brandon L
Cc: Evren Sirin; pellet-users at lists.owldl.com
Subject: Re: [Pellet-users] A lot of descendant queries
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