Class DlInterpretation

All Implemented Interfaces:
Iterable<AssertionalAxiom>, Collection<AssertionalAxiom>, Interpretation<DlBeliefSet,DlAxiom>

public class DlInterpretation extends InterpretationSet<AssertionalAxiom,DlBeliefSet,DlAxiom>
This class models an interpretation for description logics. A DL interpretation consists of a domain (a set of individuals) and a mapping of each concept name to a subset of the domain and of each role name to a binary relation on the domain (this mapping is often referred to as the interpretation function in literature).
Author:
Anna Gessler
  • Constructor Details

    • DlInterpretation

      public DlInterpretation(Collection<AssertionalAxiom> assertions)
      Create a new DL interpretation with the given set of concept and role assertions that represent the mapping of concept names and role names to the domain.
      Parameters:
      assertions - collection of AssertionalAxiom
  • Method Details

    • satisfies

      public boolean satisfies(DlAxiom formula) throws IllegalArgumentException
      Description copied from interface: Interpretation
      Checks whether this interpretation satisfies the given formula.
      Parameters:
      formula - a formula .
      Returns:
      "true" if this interpretation satisfies the given formula.
      Throws:
      IllegalArgumentException - if the formula does not correspond to the expected language.
    • satisfies

      public boolean satisfies(DlBeliefSet beliefBase) throws IllegalArgumentException
      Description copied from interface: Interpretation
      Checks whether this interpretation satisfies the given knowledge base.
      Parameters:
      beliefBase - a knowledge base.
      Returns:
      "true" if this interpretation satisfies the given knowledge base.
      Throws:
      IllegalArgumentException - IllegalArgumentException if the knowledgebase does not correspond to the expected language.
    • isSubsumedBy

      public boolean isSubsumedBy(ComplexConcept c1, ComplexConcept c2)
      Checks whether a concept is subsumed by another concept (c1 => c2) wrt to this interpretation.
      Parameters:
      c1 - a concept
      c2 - a concept
      Returns:
      "true" if c1 is subsumed by c2, "false" otherwise
    • getRoleDomain

      public Set<Pair<Individual,Individual>> getRoleDomain(AtomicRole r)
      Returns the subset of the domain that belongs to the given role (i.e. the extension of the role).
      Parameters:
      r - role
      Returns:
      binary subset of domain, i.e. a set of pairs of individuals
    • getConceptDomain

      public Set<Individual> getConceptDomain(ComplexConcept c)
      Returns the subset of the domain that belongs to the given concept (i.e. the extension of the concept).
      Parameters:
      c - concept
      Returns:
      subset of domain, i.e. a set of individuals