[Pellet-users] A lot of descendant queries

Alan Ruttenberg alanruttenberg at gmail.com
Fri May 4 15:07:17 UTC 2007


I'm using 1.4 right now.
I also tried to clean up those nodes - grabbed the classes at the  
beginning and periodically called removeNode on all the ones that  
were new. Didn't help, so that confirms.
What about abox caches? I think I did printStats or something like  
that and there were several thousand sat tests per query.
-Alan

On May 4, 2007, at 11:01 AM, Evren Sirin wrote:

> On 5/3/07 2:34 PM, Alan Ruttenberg wrote:
>> Can you direct me to the line of code that does that so I can  
>> comment it out in the short run?
>> Or give me an invocation that lets me remove it from the taxonomy  
>> right after I do the query?
> Thinking a little more about this and doing an experiment shows it  
> is probably not the taxonomy builder that causes the memory grow.  
> For each concept C, you have one anon concept some(part_of, C)  
> which means there will be only ~23K nodes in the taxonomy and that  
> shouldn't take up so much memory. I've made the change I thought  
> was the problem but it did not really solve the issue with the  
> following code snippet (which I assume is similar to what you are  
> doing):
>
>        for( ATermAppl c : kb.getClasses() ) {
>            ATermAppl partOfC = ATermUtils.makeSomeValues( part_of,  
> c );
>            Set subParts = kb.getSubClasses( partOfC );
>            // do nothing with subParts yet
>        }
>
> The memory problem is probably somewhere else but it is hard to  
> tell where. Just to make sure, which version of Pellet are you using?
>
> Cheers,
> Evren
>> Might be good to add another method that just says: get me the  
>> subclasses just this once, I  won't be asking about this class  
>> ever again.
>> -Alan
>>
>>
>> On May 3, 2007, at 2:28 PM, Evren Sirin wrote:
>>
>>> On 5/3/07 11:59 AM, Alan Ruttenberg wrote:
>>>> One problem with doing it the slow way is that memory  
>>>> consistently grows. Is there a reason that the call to  
>>>> getSubClasses need to allocate any long lived memory?
>>> The getSubClasses function will insert the given concept into the  
>>> class taxonomy and doing many calls to getSubClasses will  
>>> probably eat up all the memory. It would be a good idea for us to  
>>> put some kind of limit on how many (anonymous) concepts will be  
>>> cached inside the taxonomy.
>>>
>>> Cheers,
>>> Evren
>>>> So when doing this the way I suggest on the GO biological  
>>>> process ontology I eventually run out of memory when I don't  
>>>> think I should.
>>>>
>>>> -Alan
>>>>
>>>>
>>>> On May 3, 2007, at 7:46 AM, Evren Sirin wrote:
>>>>
>>>>> 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/
>>>>>>
>>>>>
>>>>
>>>
>>
>



More information about the Pellet-users mailing list