[Pellet-users] Single SWRL rule with ~20 individuals blows 1.5G heap

James Howison james at howison.name
Fri Mar 7 07:03:10 UTC 2008


I'm having trouble with executing some SWRL rules with Pellet.

If they are included in an ontology Pellet rapidly consumes all the  
heap space I can give, regardless of the number of individuals  
involved, and drives the CPU to ~95% until the heap error (minutes?).   
Everything works as expected without the SWRL rules.

The modeling domain is threaded mailing lists.

The relevant part of the main ontology[1] says:

Venue hasThread Thread .
Thread hasEvent MailingListEvent .

The SWRL rule (written in Protege 3.4 beta) says:

hasEvent(?thread, ?event) ^ hasThread(?venue, ?thread) -> hasEvent(? 
venue, ?event)

(So it's basically transitivity on the hasEvent property, I do have  
more complex rules, if I can get this to work ;).

There are no Domains or Ranges on the Properties (so hasEvent should  
be fine with Venue).

I've put together a test case with just a little set of individuals  
[2] and a single SWRL rule [3] (change doSWRL to false to see it  
without SWRL):

http://floss.syr.edu/ontologies/2008/code/MinimalSWRLTest.java

I'm hoping someone could be so kind as to take a look and let me know  
whether this ought to work, and how I might get it to do so (hey, a  
naive procedural approach would take no time at all :).

If I can get it to do so, any estimates of the scaling of CPU/Memory  
requirements (I'm anticipating many individuals, in the order of  
10,000s, but they might be able to be done incrementally).

I'm using the Pellet 1.5.1 release and have tried this with the latest  
OWLAPI release and OWLAPI SVN, platform is Mac OS X 10.5. I've set  
IGNORE_UNSUPPORTED_AXIOMS to false, but don't see any errors.  Pellet  
via Jena gives the same issues, if Jena code showing that would help  
others take a look, I'm happy to provide that.

Thanks in advance,
James

[1]: http://floss.syr.edu/ontologies/2008/flosscomms-basic.owl
[2]: http://floss.syr.edu/ontologies/2008/gaim-cabal-tiny.rdf
[3]: http://floss.syr.edu/ontologies/2008/flosscomms-swrl-single.owl

These are joined via one of these:

http://floss.syr.edu/ontologies/2008/gaim-cabal-tiny.owl
http://floss.syr.edu/ontologies/2008/gaim-cabal-tiny-swrl.owl



More information about the Pellet-users mailing list