Currently, the capabilities of owl2jena, the jena based generator for direct access to owl ontologies, are limited. OWL DL is not fully supported. On this site, a summary of the current limitations is given.
Classes
- Any distinction between necessary (rdfs:subClassOf) and necessary and sufficient (owl:equivalentClass) declarations as stated by OWL is ignored.
- For rdfs:equivalentClass only OWL Lite is supported. Any complex restrictions via rdfs:equivalentClass – e. g. (WhiteWhine rdfs:eqivalentClass (Whine and hasColor hasValue #White) are not supported
- Complex constructs for UnionOf, IntersectionOf are currently not supported. Example: ClassA rdfs:subClassOf ClassA and (ClassB or ClassC).
- Constructs complementOf, disjointWith and oneOf is not supported.
Properties
While the meta-model already has information about the following property types or constructs, currently these are not used by the code generator.
- Inverse functional properties are treated as primitive properties.
- Transitive properties are not supported and are treated as primitive properties.
- Multiple ranges for properties are treated as UnionClass.
- Range definitions of subproperties are not “inherited” to the parent properties.
Restrictions
- Complex anonymous restrictions – e. g. hasPerson allValues (ClassA and (ClassB or ClassC)) are not evaluated and are ignored.
- Multiple hasValue restrictions are equivalent to anonymous restrictions and hence ignored.
- Constructs hasValue and someValuesFrom are present in the meta model yet not supported by the template engine.
- Construct minCardinality is currently ignored.