How do I debug classification performance issues in my ontology using logging?
Logging messages printed by Pellet can be a valuable source of information, when trying to determine which classes in the ontology cause performance issues. Information how to control which messages get printed is available in this FAQ Entry: How can I control logging messages printed by Pellet?
The first step in debugging performance issues is to set the following property in the logging configuration file:
org.mindswap.pellet.taxonomy.level = FINE
This will cause Pellet to print every class processed by the classifier. A longer pause for a class will be a good indication of a problematic class. If this information is insufficient, setting the log level to FINER will additionally print each subclass check the reasoner performs. Even more detail (the sizes of the completion graphs) can be obtained by setting:
org.mindswap.pellet.ABox.level = FINE
Once you find the problematic class, you can check the lint tool (pellet lint), if any of the problematic patterns apply to this class. Lint will provide suggestions about how to change the pattern to improve performance.
See doc/PELLINT-README.txt for more information about lint, and doc/PELLINT-PATTERNS.txt for more details about problematic patterns.

