Class 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 axioms C SubClassOf X_1 ... C SubClassOf X_n Additionally, if X_i is a qualified cardinality constraint, weaken to an existential

    Usage

    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 Detail

      • RelaxOperation

        public RelaxOperation()
    • Method Detail

      • getDefaultOptions

        public static Map<String,​String> getDefaultOptions()
        Return a map from option name to default option value, for all the available reasoner options.
        Returns:
        a map with default values for all available options
      • relax

        public static void relax​(org.semanticweb.owlapi.model.OWLOntology ontology,
                                 Map<String,​String> options)
        Replace EquivalentClass axioms with weaker SubClassOf axioms.
        Parameters:
        ontology - The OWLOntology to relax
        options - A map of options for the operation