Class ComplexConcept

  • All Implemented Interfaces:
    net.sf.tweety.commons.Formula, net.sf.tweety.logics.commons.syntax.interfaces.ClassicalFormula, net.sf.tweety.logics.commons.syntax.interfaces.Conjunctable, net.sf.tweety.logics.commons.syntax.interfaces.Disjunctable, net.sf.tweety.logics.commons.syntax.interfaces.Invertable, net.sf.tweety.logics.commons.syntax.interfaces.ProbabilityAware, net.sf.tweety.logics.commons.syntax.interfaces.SimpleLogicalFormula
    Direct Known Subclasses:
    AssociativeDlFormula, AtomicConcept, AtomicRole, BottomConcept, Complement, ExistentialRestriction, TopConcept, UniversalRestriction

    public abstract class ComplexConcept
    extends Object
    implements net.sf.tweety.logics.commons.syntax.interfaces.ClassicalFormula
    The common abstract class for concepts (also called concepts, complex concepts or concept descriptions) of description logics.
    Specifically, this library supports formulas of the description logic ALC (attributive concept language with complements). In an ALC language for a given signature, concepts are:
    • All atomic concepts of the signature
    • The universal concept
    • The bottom concept
    • Complex concept descriptions, which are built with the following constructors:
      • The intersection of two concept descriptions
      • The union of two concept descriptions
      • The complement of a concept description
      • The universal restriction of a role by a concept description
      • The existential restriction of a role by a concept description
    Author:
    Anna Gessler
    • Constructor Detail

      • ComplexConcept

        public ComplexConcept()
    • Method Detail

      • complement

        public ComplexConcept complement()
        Specified by:
        complement in interface net.sf.tweety.logics.commons.syntax.interfaces.Invertable
      • combineWithOr

        public Union combineWithOr​(net.sf.tweety.logics.commons.syntax.interfaces.Disjunctable f)
        Specified by:
        combineWithOr in interface net.sf.tweety.logics.commons.syntax.interfaces.Disjunctable
      • combineWithAnd

        public Intersection combineWithAnd​(net.sf.tweety.logics.commons.syntax.interfaces.Conjunctable f)
        Specified by:
        combineWithAnd in interface net.sf.tweety.logics.commons.syntax.interfaces.Conjunctable
      • collapseAssociativeFormulas

        public abstract ComplexConcept collapseAssociativeFormulas()
        This method collapses all associative operations appearing in this term, e.g. every a||(b||c) becomes a||b||c.
        Returns:
        the collapsed formula.
      • clone

        public abstract ComplexConcept clone()
        Creates a deep copy of this formula
        Specified by:
        clone in interface net.sf.tweety.logics.commons.syntax.interfaces.SimpleLogicalFormula
        Overrides:
        clone in class Object
      • getAtoms

        public Set<? extends net.sf.tweety.logics.commons.syntax.interfaces.Atom> getAtoms()
        Specified by:
        getAtoms in interface net.sf.tweety.logics.commons.syntax.interfaces.SimpleLogicalFormula
      • getPredicateCls

        public Class<? extends net.sf.tweety.logics.commons.syntax.Predicate> getPredicateCls()
        Specified by:
        getPredicateCls in interface net.sf.tweety.logics.commons.syntax.interfaces.SimpleLogicalFormula
      • getUniformProbability

        public net.sf.tweety.math.probability.Probability getUniformProbability()
        Specified by:
        getUniformProbability in interface net.sf.tweety.logics.commons.syntax.interfaces.ProbabilityAware
      • getSignature

        public abstract DlSignature getSignature()
        Specified by:
        getSignature in interface net.sf.tweety.commons.Formula
      • hashCode

        public abstract int hashCode()
        Specified by:
        hashCode in interface net.sf.tweety.logics.commons.syntax.interfaces.SimpleLogicalFormula
        Overrides:
        hashCode in class Object
      • equals

        public abstract boolean equals​(Object other)
        Specified by:
        equals in interface net.sf.tweety.logics.commons.syntax.interfaces.SimpleLogicalFormula
        Overrides:
        equals in class Object
      • getPredicates

        public abstract Set<net.sf.tweety.logics.commons.syntax.Predicate> getPredicates()
        Specified by:
        getPredicates in interface net.sf.tweety.logics.commons.syntax.interfaces.SimpleLogicalFormula