Class RelaxOperation
- java.lang.Object
-
- org.obolibrary.robot.RelaxOperation
-
public class RelaxOperation extends Object
Add additional SubClassOf axioms that are relaxed forms of equivalence axioms.This is a form of incomplete reasoning that is useful when either axioms are invisible to EL reasoners, or to produce an existential subclass graph that has SomeValuesFrom superclasses materialized.
Motivation
It is frequently convenient to view an ontology without equivalence axioms. This is often for structural reasons. Certain editions of ontologies may come with a guarantee that the existential graph formed by all SubClassOf axioms (between named classes and existential axioms) is both complete (w.r.t graph operations) and non-redundant. Including EquivalentClasses axioms can introduce redundancy at the graph view level. For example, the genus is frequently more general than the inferred superclasses.To ensure that the existential graph is graph-complete it's necessary to write new SubClassOf axioms that are entailed by (but weaker than) Equivalence axioms
Basic Operation
For any equivalence axiom between a name class C and either a single existential X_1 or the class expression IntersectionOf(X_1 ... X_n), generate axiomsC SubClassOf X_1 ... C SubClassOf X_n
Additionally, if X_i is a qualified cardinality constraint, weaken to an existentialUsage
For ELK reasoners, it is recommended to use this prior to the reasoning step, as relaxation can reveal weaker forms of axioms that are outside EL.It is recommended that the reduce operation is executed after relaxation, to remove any redundancies within the subclass graph
Note that the materialize operation may seem to make the relax step pointless; materialization produces the most specific existential parent. However, in some cases relaxation should still be performed: - if Elk is used (see above) - if materialization is only performed on a subset of properties
The standard sequence is: relax-materialize-reduce, or relax-reason-reduce
- Author:
- Chris Mungall
- See Also:
- issue 7, issue 135
-
-
Constructor Summary
Constructors Constructor Description RelaxOperation()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Map<String,String>
getDefaultOptions()
Return a map from option name to default option value, for all the available reasoner options.static void
relax(org.semanticweb.owlapi.model.OWLOntology ontology, Map<String,String> options)
Replace EquivalentClass axioms with weaker SubClassOf axioms.
-