I'm using the pellet reasoner on a number of ontologies and have run the info method on a list of IRIs (in this case URLs). The two metrics that interest me are the DL Expressivity and OWL Profile.
The OWL Profiles I'm getting range from "OWL 2," "OWL 2 DL," "OWL 2 EL," "OWL 2 QL," "OWL 2 RL." When is says "OWL 2," does that mean the ontology is OWL 2 full? Are all the other variations DL? I have found a spec describing the different profiles (table 10 especially) [as a new user I can't post more than one hyperlink; thought the upcoming one was more important of two], but so far I haven't been able to answer this question for myself.
As for the "DL Expressivity," the very name implies that all the Expressivity codes (Such as ALCH, ALCH(D)) are DL. I have found this highly academic catalogue, so to speak, of the codes and their technical meaning in terms of complexity, but I need to know how to tell, at least generally, whether an ontology is DL or Full by looking at the Expressivities. Any help or links explaining these things would be most appreciated.
If it helps, I should also give some context for what I'm trying to do with this stuff. I'm just building a table from the "pellet info" data that has the ontology ID number (from the url list), the expressivity and OWL Profile for each, and also says whether that ontology is full, DL, or Lite.
If whatever is telling you (Pellet?) than an ontology is "OWL2" when it could otherwise state one of the profiles such as EL, QL or RL, then perhaps the ontology it is reporting about includes constructs that sit outside the expressivity of each of the profiles, but is otherwise included in the OWL2 specification.
As I understand it, each of the profiles are based on different description logics (DLs) that are geared towards different purposes:
- OWL2 (DL) is based on the description logic SROIQ, and is geared towards enabling ontologies with a high degree of expressivity in the language.
- OWL2-EL is based on EL++, which is geared towards scalable reasoning in the TBox (i.e., polymonial-time reasoning for most inference tasks such as classification).
- OWL2-QL is based on DL-Lite, which is geared towards scalable query answering in the ABox (when dealing with lots of instance data and a relatively simple TBox).
- OWL2-RL is based on Description Logic Programs (DLP), which has an expressivity that subsets that of OWL2 DL (the fragment that can be handled using a description logic).
As far as I can tell, the catalogue you've linked to is up-to-date, but is a bit hard to use if you aren't familiar with logics and can identify the constructs covered by each langauge. The W3C OWL2 profiles page summarizes the language expressivity of each of the profiles in OWL syntax. You could possibly refer to this to determine the intersecting expressivity of each of the OWL2 langauge profiles without having to interpret their semantics (in terms of DLs, which is hard to grasp unless you're comfortable with description logics, and in the case of OWL2-RL, description logic programs).
Lastly, note that the OWL1 'profiles' of Full, DL and Lite each correspond to yet other description logics:
- OWL1 DL corresponds to the description logic SHOIN.
- OWL1 Lite corresponds to the description logic SHIF.
- OWL1 Full corresponds to an undecidable logic that at least supersets SHOIN (though, I'm not quite sure what this is exactly! :-)
Full, DL, and Lite are three variants (flavors) of OWL, each constituting different compromises between expressivity and computational complexity. OWL Full has provides maximum expressiveness, syntactic freedom, but without computational guarantees. The semantics of OWL Full is a mixture of RDFS and OWL DL (RDF-based semantics). OWL DL is a restricted version of OWL Full. OWL DL provides very high expressiveness, computational completeness (all conclusions are guaranteed to be computable), and decidability (all computations can be finished in finite time). While OWL DL includes all OWL language constructors, they can be used only under certain restrictions. For example, OWL DL number restrictions may not be assigned to transitive properties. OWL Lite is a subset of OWL DL designed for easy implementation. OWL Lite has limited applicability, because it is suitable only for classification hierarchies and simple constraints. All three flavors are available in both OWL and OWL 2.
EL, QL, and RL are three OWL profiles, each of which provides a different balance between expressive power and reasoning complexity, thereby providing more options for different implementation scenarios. The EL profile was designed for handling ontologies with very large numbers of properties and/or classes, the QL profile is aimed at applications with a very large instance data volume and a priority for query answering, and the RL profile was designed for applications that require scalable reasoning with relatively high expressivity.
The DL Expressivity refers to the set of mathematical constructors available in the logical underpinning of OWL, i.e., the description logic (DL) that corresponds to the OWL flavor/profile or ontology you are talking about.
Very briefly, the ALC description logic supports atomic and complex concept negation, concept intersection, universal restrictions, and limited existential quantification. By extending ALC and transitivity roles (i.e., S) with
role hierarchies (H), inverse roles (I), functional properties (F), and datatypes (D), we get the SHIF(D) description logic, which roughly corresponds to OWL Lite. By adding nominals (O) and cardinality restrictions (N ) to SHIF(D), we obtain SHOIN (D), the description logic underlying OWL DL. Extending SHOIN(D) with complex role inclusion axioms, reflexive and irreflexive roles, asymmetric roles, disjoint roles, the universal role, self-constructs, negated role assertions, and qualified number restrictions yields to the very expressive yet decidable SROIQ(D) description logic, which largely corresponds to OWL 2 DL.
Although OWL Full and OWL DL support the same set of constructors, OWL Full does not have restrictions on the use of these constructors (e.g., no restrictions on the use of transitive properties), which makes OWL Full undecidable, while OWL DL is decidable.