Skip to content

OWL2 RL Profile

OWLGraph implements the OWL2 RL (Rule Language) profile — the OWL variant designed for materialization-based reasoning with polynomial-time complexity.

ConstructOWL SyntaxSupported
Named classa owl:ClassYes
Subclassrdfs:subClassOfYes
Equivalent classowl:equivalentClassYes
Disjoint classesowl:disjointWithYes
Intersectionowl:intersectionOfYes
Unionowl:unionOfYes
Complementowl:complementOfYes
ConstructOWL SyntaxSupported
Object propertya owl:ObjectPropertyYes
Data propertya owl:DatatypePropertyYes
Domainrdfs:domainYes
Rangerdfs:rangeYes
Inverseowl:inverseOfYes
Sub-propertyrdfs:subPropertyOfYes
Property chainowl:propertyChainAxiomYes
CharacteristicSupportedEffect
FunctionalYesAt most one value per subject
Inverse FunctionalYesAt most one subject per value
TransitiveYesTransitive closure in queries (pred*)
SymmetricYesReverse edge auto-created
AsymmetricYesValidated at write time
ReflexiveYesSelf-edge materialized
IrreflexiveYesSelf-edge rejected
ExpressionOWL SyntaxSupported
Some values fromowl:someValuesFromYes
All values fromowl:allValuesFromYes
Has valueowl:hasValueYes

These constructs are outside the OWL2 RL profile or beyond OWLGraph’s current scope:

ConstructWhy Not
Full OWL DL tableau reasoningComputational complexity (exponential worst case)
Open-world assumptionDatabase operates under closed-world assumption
Nominals (OneOf)Enumerated classes not supported
Cardinality restrictionsMin/max/exact cardinality not enforced
HasSelfSelf-restriction not implemented
Datatype restrictionsFacets on datatypes not enforced

When you load an ontology, OWLGraph validates it against the RL profile:

  • Circular subclass detectionA subClassOf B subClassOf A is rejected
  • Conflicting property characteristics — a property cannot be both symmetric and asymmetric
  • Invalid domain/range — references to undeclared classes are flagged

Validation errors are returned in the ontology load response with specific error messages and locations.

The RL profile is the sweet spot for database applications:

  1. Polynomial-time reasoning — inference is bounded, not exponential
  2. Materialization-friendly — all inferences can be pre-computed at write time
  3. Covers 95% of use cases — class hierarchies, property reasoning, and type inference handle most real-world ontologies
  4. Compatible with graph databases — the closed-world assumption matches how databases operate