Pellet performance isn’t bad, it’s unpredictable. And that’s a problem. Pellint, our new ontology repair tool, is a solution to that problem.
Non-experts often find predicting reasoner performance from their ontology disappointing. The connections between performance and the data are opaque in a way that is sometimes confounding and off-putting. Pellet isn’t unique in this regard; all automated reasoners for expressive knowledge representation formalisms have this problem, some more so than Pellet.
Contrast RDBMS technology. Not only is the underlying computational
complexity much better, but many developers have internalized the
technology such that predictions are more reliable and the connection
between data, queries, and performance is more transparent. And the
bad stuff is always bad, till you fix it, and the good stuff is always
good till you break it. And if all else fails you just
EXPLAIN your way to happiness.
For serious Pellet users, including the ones who are customers of
ours, the analogue of
EXPLAIN is either an email to the
Pellet users list or a support contract, respectively. But we really
don’t like the fact that the only reliable way to maximize Pellet
performance is to ask or hire (or become) an expert.
So what can we do to ease this problem, while working on the next big performance paradigm shift? Well, for one thing, we’re building design and support tools to help people sniff out problems in ontologies and, ideally, automatically repair them. Taking the classic C tool, lint, as our inspiration, we’ve developed Pellint, a lint tool for Pellet that reports and repairs modeling constructs that are known to have bad performance characteristics. Actually, our new intern, Harris Lin, has been working with Evren on Pellint, and we’re all impressed with the quality of his work on the tool.
Pellint takes an OWL ontology as input and can report on problematic modeling constructs (which we call “patterns”), or it can simply output a repaired ontology with the troublesome patterns rewritten or omitted.
We’ll be releasing an early adopter’s version of Pellint soon so that experts and eager users in the OWL community can test it on their ontologies, report other patterns, and give us feedback on improvements.
Early testing with our “known bad” ontologies collection is very encouraging, and we expect a production-ready version of Pellint to be released simultaneously with the next major Pellet release.
Note: Pellint is now available as part of Pellet's command-line utilities.