Owl2Jena – Current Limitations

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.


  • 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.


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.


  • 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.