Interface TBox

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      boolean addAxiom​(openllet.aterm.ATermAppl axiom)
      Add a TBox axiom.
      boolean addClass​(openllet.aterm.ATermAppl term)
      Add a named class declaration
      default java.util.stream.Stream<openllet.aterm.ATermAppl> allClasses()  
      default java.util.stream.Stream<openllet.aterm.ATermAppl> axioms()  
      java.util.Set<openllet.aterm.ATermAppl> getAllClasses()  
      java.util.Collection<openllet.aterm.ATermAppl> getAssertedAxioms()  
      java.util.Set<openllet.aterm.ATermAppl> getAxiomExplanation​(openllet.aterm.ATermAppl axiom)  
      java.util.Set<java.util.Set<openllet.aterm.ATermAppl>> getAxiomExplanations​(openllet.aterm.ATermAppl axiom)  
      java.util.Collection<openllet.aterm.ATermAppl> getAxioms()  
      java.util.Collection<openllet.aterm.ATermAppl> getAxioms​(openllet.aterm.ATermAppl concept)  
      java.util.Set<openllet.aterm.ATermAppl> getClasses()  
      boolean isPrimitive​(openllet.aterm.ATermAppl c)
      Returns if a concept has only primitive definitions in this TBox.
      void prepare()
      Make any preparation necessary before reasoning.
      boolean removeAxiom​(openllet.aterm.ATermAppl axiom)
      Remove axiom from TBox and all other axioms that depend on it.
      boolean removeAxiom​(openllet.aterm.ATermAppl dependantAxiom, openllet.aterm.ATermAppl explanationAxiom)
      Remove all explanations for dependantAxiom that contain explanationAxiom.
      java.util.Iterator<Unfolding> unfold​(openllet.aterm.ATermAppl c)
      Lazy unfold the given concept
    • Method Detail

      • addClass

        boolean addClass​(openllet.aterm.ATermAppl term)
        Add a named class declaration
        Parameters:
        term -
        Returns:
        true if TBox changed as a result of this call
      • getClasses

        java.util.Set<openllet.aterm.ATermAppl> getClasses()
        Returns:
        all the named classes
      • getAllClasses

        java.util.Set<openllet.aterm.ATermAppl> getAllClasses()
        Returns:
        all the named classes plus TOP and BOTTOM
      • allClasses

        default java.util.stream.Stream<openllet.aterm.ATermAppl> allClasses()
        Returns:
        all the named classes plus TOP and BOTTOM
      • getAxioms

        java.util.Collection<openllet.aterm.ATermAppl> getAxioms()
        Returns:
        all the axioms defined in this TBox (may include new axioms introduced during absorption)
      • axioms

        default java.util.stream.Stream<openllet.aterm.ATermAppl> axioms()
        Returns:
        all the axioms defined in this TBox (may include new axioms introduced during absorption)
      • getAssertedAxioms

        java.util.Collection<openllet.aterm.ATermAppl> getAssertedAxioms()
        Returns:
        all the asserted axioms in this TBox
      • getAxioms

        java.util.Collection<openllet.aterm.ATermAppl> getAxioms​(openllet.aterm.ATermAppl concept)
        Parameters:
        concept -
        Returns:
        all the sub and equivalent class axioms that have the given concept on the left hand side
      • unfold

        java.util.Iterator<Unfolding> unfold​(openllet.aterm.ATermAppl c)
        Lazy unfold the given concept
        Parameters:
        c -
        Returns:
        the concept the lazy way
      • isPrimitive

        boolean isPrimitive​(openllet.aterm.ATermAppl c)
        Returns if a concept has only primitive definitions in this TBox. Only primitive definitions mean the concept did not have any equivalents defined or all equivalence axioms has been absorbed into primitive definitions. This function returns false for complex class expressions.
        Parameters:
        c - a concept (named concept or a concept expression)
        Returns:
        true if the concept is not complex and has only primitive definitions
      • addAxiom

        boolean addAxiom​(openllet.aterm.ATermAppl axiom)
        Add a TBox axiom.
        Parameters:
        axiom -
        Returns:
        true if operation success
      • removeAxiom

        boolean removeAxiom​(openllet.aterm.ATermAppl axiom)
        Remove axiom from TBox and all other axioms that depend on it. An axiom depends on another axiom if it is a syntactic transformation (as in disjoint axiom is transformed into subclass) or it is obtained via absorption (as equivalent class axioms are absorbed into subclass axioms). This method is syntactic sugar for removeAxiom(ATermAppl, ATermAppl) where both parameters are axiom.
        Parameters:
        axiom -
        Returns:
        true if operation success
      • removeAxiom

        boolean removeAxiom​(openllet.aterm.ATermAppl dependantAxiom,
                            openllet.aterm.ATermAppl explanationAxiom)
        Remove all explanations for dependantAxiom that contain explanationAxiom. If no explanations remain, dependantAxiom is removed and all axioms which depend on it are updated (and will be removed if they have no additional explanations).
        Parameters:
        dependantAxiom -
        explanationAxiom -
        Returns:
        true if operation success
      • getAxiomExplanation

        java.util.Set<openllet.aterm.ATermAppl> getAxiomExplanation​(openllet.aterm.ATermAppl axiom)
        Parameters:
        axiom -
        Returns:
        a single clashExplanation for the given TBox axiom.
      • getAxiomExplanations

        java.util.Set<java.util.Set<openllet.aterm.ATermAppl>> getAxiomExplanations​(openllet.aterm.ATermAppl axiom)
        Parameters:
        axiom -
        Returns:
        multiple explanations for the given TBox axiom.
      • prepare

        void prepare()
        Make any preparation necessary before reasoning.