I have developed an algorithm (java piece of code) that finds specific paths (property chains) between two given classes in an OWL-DL ontology. Here is the ontology
Actually, Pellet reasoner is taking too much time to respond to my queries, about 5-7 seconds to check whether a class F
is related by a to-one to a class D
through a property r
, and this query is repetitive in my algorithm, however, if I re-run it on similar classes, it executes much faster (I think it's something related to in-memory model or RAM memory caching...). However the first time, it takes about 4-5 minutes (depending on the number of checks done).
F ⊑ =1 r.D
This bottle neck is related to the ontology and the reasoner themselves: (If I run it without a reasoner, it executes immediately!)
Questions:
1- Can I evaluate the performance disregarding the reasoner time? i.e. something like: its execution is immediate, if we ignore the time taken by the reasoner!
2- Is there some way to improve the performance in this situation?