I've been working on an Ontology in Protege.
I started with a high expressivity that was classified in Protege as "DL Expressivity: SROIF(D)".
If I'm correct, the letters indicate -in order- the use of: Transitivity, Role chains, Nominals, InverseOf, Functional, and the D stands for Data Types.Unfortunately, such expressivity should be NExpTime-complete and I need something which is less heavy to compute.
So, I tried to reformulate my ontology with the aim to stay within the OWL2 EL Profile (for which PTime decision procedures should exist). Now I have "DL Expressivity: SRO(D)" as I'm using Transitivity, Role chains (with no recursive definitions), and Nominals, but no Inverse or Functional object properties.
My question is:
Is it really the DL Expressivity SRO(D) within the OWL2 EL Profile?
The correspondence between the expressivity as given in Protege and the OWL2 recommendations is unclear to me. Also, it seems conflicting with the info that I get here: http://www.cs.man.ac.uk/~ezolin/dl/ .
According to the OWL2 EL Profile, role chains should be allowed in SubObjectPropertyOf statements. And I'm using simple role chains of the form a o b -> c (nothing of the form a o b -> b or a o b -> a). But according to general knowledge, role chains should be avoided.
I read extensively on OWL, OWL2, Description Logics, Reasoners, and some benchmarks and evaluations of reasoners etc. but I couldn't find any "final" resource that clearly untangles this aspect.
Second question:
Is there any other "variation" of the OWL2 EL Profile (for example, a slightly different combinations of operators that could be used) that is still PTime? And where can I find this studies?