Skip to content

2.2. Possible Expressions for each Type of Descriptor

Luca Buoncompagni edited this page Apr 8, 2024 · 1 revision

We use the term expression to be in line with the following W3C publication. The publication presents the semantics of all possible axioms in OWL-DL, i.e, class expression axioms, object property expression axioms, data property expression axioms and individual expression axioms (also known as, assertions).

In OWLOOP, for each type of Descriptor, there are a few possible expressions that can be associated. This aspect is shown in the following tables:

For a Class Descriptor these are the possible expressions:

Ground Expression EntitySet
OWLClass Equivalent
(semantic: isEquivalentTo)
set of OWLClass
OWLClass Disjoint
(semantic: isDisjointWith)
set of OWLClass
OWLClass Sub
(semantic: isSubClassOf)
set of OWLClass
OWLClass Super
(semantic: isSuperClassOf)
set of OWLClass
OWLClass Instance
(semantic: hasAnInstance)
set of OWLNamedIndividual
OWLClass Definition
(semantic: hasADefinition)
set of SemanticRestriction
(some, only, exactly, min, max)

For an ObjectProperty Descriptor these are the possible expressions:

Ground Expression EntitySet
OWLObjectProperty Equivalent
(semantic: isEquivalentTo)
set of OWLObjectProperty
OWLObjectProperty Disjoint
(semantic: isDisjointWith)
set of OWLObjectProperty
OWLObjectProperty Sub
(semantic: isSubClassOf)
set of OWLObjectProperty
OWLObjectProperty Super
(semantic: isSuperClassOf)
set of OWLObjectProperty
OWLObjectProperty Domain
(semantic: hasDomain)
set of SemanticRestriction
(Some, Only, Exactly, Min, Max)
OWLObjectProperty Range
(semantic: hasRange)
set of SemanticRestriction
(Some, Only, Exactly, Min, Max)
OWLObjectProperty Inverse
(semantic: isInverseOf)
set of OWLObjectProperty

For a DataProperty Descriptor these are the possible expressions:

Ground Expression EntitySet
OWLDataProperty Equivalent
(semantic: isEquivalentTo)
set of OWLDataProperty
OWLDataProperty Disjoint
(semantic: isDisjointWith)
set of OWLDataProperty
OWLDataProperty Sub
(semantic: isSubClassOf)
set of OWLDataProperty
OWLDataProperty Super
(semantic: isSuperClassOf)
set of OWLDataProperty
OWLDataProperty Domain
(semantic: hasDomain)
set of SemanticRestriction
(Int, Bool, String, Double, Float, Long)
OWLDataProperty Range
(semantic: hasRange)
set of SemanticRestriction
(Int, Bool, String, Double, Float, Long)

For an Individual Descriptor these are the possible expressions:

Ground Expression EntitySet
OWLNamedIndividual Equivalent
(semantic: isEquivalentTo)
set of OWLNamedIndividual
OWLNamedIndividual Disjoint
(semantic: isDisjointWith)
set of OWLNamedIndividual
OWLNamedIndividual Type
(semantic: isSubClassOf)
set of OWLClass
OWLNamedIndividual ObjectLink
(semantic: isSuperClassOf)
OWLObjectProperty and set of OWLNamedIndividual
OWLNamedIndividual DataLink
(semantic: hasDomain)
OWLDataProperty and set of OWLNamedIndividual

Each type of descriptor can implement one or more expressions. This flexibility in creating a descriptor, enables the developer to have control over the number of axioms being synchronized between the internal state of a descriptor and in-memory representation of an OWL ontology. This way the developer deals with only that knowledge (from an ontology) that is interesting for the application at hand.

Hint

You may want to use Protege to add sophisticated axioms or rules, that do not change in the ontology at run time and load that ontology as a starting point for your system.

Clone this wiki locally