fuzzydl

## Class KnowledgeBase

- java.lang.Object
- - fuzzydl.KnowledgeBase

-     public class KnowledgeBase
      extends java.lang.Object

  Fuzzy knowledge base.
  Author:
    Fernando Bobillo

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.util.HashSet<java.lang.String>` | `abstractRoles` Abstract roles.
    `java.util.Hashtable<java.lang.String,Concept>` | `atomicConcepts` Fuzzy concepts.
    `java.util.Hashtable<java.lang.String,FuzzyConcreteConcept>` | `concreteConcepts` Fuzzy concepts.
    `java.util.Hashtable<java.lang.String,ConcreteFeature>` | `concreteFeatures` Concrete features.
    `boolean` | `concreteFuzzyConcepts` Concrete fuzzy concepts.
    `java.util.HashSet<java.lang.String>` | `concreteRoles` Concrete roles.
    `java.util.ArrayList<Assertion>` | `existAssertions` Exists assertions.
    `java.util.HashSet<java.lang.String>` | `funcRoles` Functional roles.
    `java.util.Hashtable<java.lang.String,TriangularFuzzyNumber>` | `fuzzyNumbers` Fuzzy numbers.
    `MILPHelper` | `milp` MILP problem manager.
    `java.util.Hashtable<java.lang.String,Modifier>` | `modifiers` Fuzzy modifiers.
    `static FuzzyLogic` | `semantics` Fuzzy logic.
    `boolean` | `showLanguage` Show the logic language to the user or not.
    `java.util.HashSet<java.lang.String>` | `similarityRels` Similarity relations.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `KnowledgeBase()` Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAssertion(Individual a, Concept c, Degree n)` Adds a fuzzy assertion of the form (a : C >= n )
    `void` | `addAssertion(Individual a, Restriction restric)` Adds a fuzzy assertion of the form (a : forall R.C >= n )
    `void` | `addAtomicConceptsDisjoint(java.util.ArrayList<java.lang.String> disjointConcepts)` Adds some disjoint concept axioms.
    `void` | `addConcept(java.lang.String conceptName, FuzzyConcreteConcept conc)` Adds a fuzzy concept to the array of concepts in the fuzzy KB.
    `void` | `addConceptsDisjoint(java.util.ArrayList<Concept> disjointConcepts)` Adds some disjoint concept axioms.
    `void` | `addConceptsDisjoint(Concept c, Concept d)`
    `Concept` | `addDatatypeRestriction(int restrictionType, java.lang.Object o, java.lang.String fName)` Adds a datatype restriction of the form (restrictionType, fName, o).
    `void` | `addDisjointUnionConcept(java.util.ArrayList<java.lang.String> disjointUnionConcepts)` Adds a disjoint union concept axiom.
    `void` | `addEquivalenceRelation(java.lang.String role)` Adds a fuzzy equivalence relation.
    `void` | `addEquivalentConcepts(java.util.ArrayList<Concept> equivConcepts)` Adds some equivalent concept axioms.
    `void` | `addEquivalentRoles(java.util.ArrayList<java.lang.String> equivRoles)` Adds some equivalent funcRole axioms.
    `void` | `addFuzzyNumber(java.lang.String fName, TriangularFuzzyNumber f)` Adds a fuzzy number to the fuzzy KB.
    `void` | `addIndividualToConcept(int conceptID, Individual a)` Add the individual a to the individual list of the concept.
    `void` | `addInverseRoles(java.lang.String role, java.lang.String invRole)` Adds an inverse funcRole axiom.
    `void` | `addModifier(java.lang.String modName, Modifier mod)` Adds a fuzzy modifier to the fuzzy KB.
    `Relation` | `addRelation(Individual indA, java.lang.String role, Individual indB, Degree degree)` Adds a fuzzy relation of the form (indA, indB, funcRole, degree)
    `void` | `addSimilarityRelation(java.lang.String role)` Adds a fuzzy similarity relation.
    `boolean` | `checkFuzzyNumberConceptExists(java.lang.String concName)` Checks if there exists a fuzzy number with the indicated name.
    `void` | `checkRole(java.lang.String roleName, Concept conc)` Checks the disjointness between abstract and concrete roles.
    `KnowledgeBase` | `clone()` Gets a copy of a knowledge base.
    `KnowledgeBase` | `cloneWithoutABox()` Gets a copy of a knowledge base except the ABox.
    `void` | `defineAtomicConcept(java.lang.String conceptName, Concept conc, int implication, double n)` Adds an atomic fuzzy concept definition.
    `void` | `defineBooleanConcreteFeature(java.lang.String funcRole)` Define a concrete feature with range boolean.
    `void` | `defineConcept(java.lang.String conceptName, Concept conc)` Adds a fuzzy concept definition.
    `void` | `defineEquivalentConcepts(Concept c1, Concept c2)` Adds a concept equivalence axiom.
    `void` | `defineIntegerConcreteFeature(java.lang.String funcRole, java.lang.Integer d1, java.lang.Integer d2)` Define a concrete feature with range integers in [d1, d2].
    `void` | `defineRealConcreteFeature(java.lang.String funcRole, java.lang.Double d1, java.lang.Double d2)` Define a concrete feature with range real numbers in [d1, d2].
    `void` | `defineStringConcreteFeature(java.lang.String funcRole)` Define a concrete feature with range string.
    `Concept` | `getConcept(java.lang.String name)` Gets a concept with indicated name.
    `Individual` | `getIndividual(java.lang.String indName)` Gets an individual with the indicated name (creating it if necessary).
    `java.util.Hashtable<java.lang.String,Individual>` | `getIndividuals()` Get the individuals.
    `java.lang.String` | `getLanguage()` Gets the language of the fuzzy KB, from ALC to SHIF(D).
    `FuzzyLogic` | `getLogic()` Gets the fuzzy logic of the fuzzy knowledge base.
    `double` | `getVersion()` Gets the version of the fuzzyDL reasoner.
    `void` | `gImplies(Concept conc1, Concept conc2, Degree degree)` Adds a Goedel General Concept Inclusion.
    `void` | `implies(Concept conc1, Concept conc2, Degree degree)` Adds a General Concept Inclusion (conc1, conc2, degree)
    `void` | `kdImplies(Concept conc1, Concept conc2, Degree degree)` Adds a Kleene-Dienes General Concept Inclusion.
    `void` | `lImplies(Concept conc1, Concept conc2, Degree degree)` Adds a Lukasiewicz General Concept Inclusion.
    `void` | `roleDomain(java.lang.String role, Concept conc)` Adds a domain funcRole axiom.
    `void` | `roleImplies(java.lang.String subsumed, java.lang.String subsumer)` Adds a RIA (subsumed, subsumer, 1).
    `void` | `roleImplies(java.lang.String subsumed, java.lang.String subsumer, java.lang.Double n)` Adds a RIA (subsumed, subsumer, degree).
    `void` | `roleIsFunctional(java.lang.String role)` Adds a functional funcRole axiom.
    `void` | `roleIsInverseFunctional(java.lang.String role)` Adds an inverse functional funcRole axiom.
    `void` | `roleIsReflexive(java.lang.String role)` Adds a reflexive funcRole axiom.
    `void` | `roleIsSymmetric(java.lang.String role)` Adds a symmetric funcRole axiom.
    `void` | `roleIsTransitive(java.lang.String role)` Adds a transitive funcRole axiom.
    `void` | `roleRange(java.lang.String role, Concept conc)` Adds a funcRole range axiom.
    `void` | `saveToFile(java.lang.String fileName)` Saves a fuzzy KB into a text file.
    `void` | `setCrispConcept(Concept c)` Defines a concept to be crisp.
    `void` | `setCrispRole(java.lang.String roleName)` Defines a role to be crisp.
    `void` | `setLogic(FuzzyLogic logic)` Sets the fuzzy logic of the fuzzy knowledge base.
    `void` | `solveAssertions()` Solves all the fuzzy assertions.
    `void` | `solveKB()` Prepares the fuzzy knowledge base to reason with it.
    `void` | `zImplies(Concept conc1, Concept conc2)` Adds a Zadeh General Concept Inclusion.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### abstractRoles

          public java.util.HashSet<java.lang.String> abstractRoles

      Abstract roles.

    - #### atomicConcepts

          public java.util.Hashtable<java.lang.String,Concept> atomicConcepts

      Fuzzy concepts.

    - #### concreteConcepts

          public java.util.Hashtable<java.lang.String,FuzzyConcreteConcept> concreteConcepts

      Fuzzy concepts.

    - #### concreteFeatures

          public java.util.Hashtable<java.lang.String,ConcreteFeature> concreteFeatures

      Concrete features.

    - #### concreteFuzzyConcepts

          public boolean concreteFuzzyConcepts

      Concrete fuzzy concepts.

    - #### concreteRoles

          public java.util.HashSet<java.lang.String> concreteRoles

      Concrete roles.

    - #### existAssertions

          public java.util.ArrayList<Assertion> existAssertions

      Exists assertions.

    - #### funcRoles

          public java.util.HashSet<java.lang.String> funcRoles

      Functional roles.

    - #### fuzzyNumbers

          public java.util.Hashtable<java.lang.String,TriangularFuzzyNumber> fuzzyNumbers

      Fuzzy numbers.

    - #### milp

          public MILPHelper milp

      MILP problem manager.

    - #### modifiers

          public java.util.Hashtable<java.lang.String,Modifier> modifiers

      Fuzzy modifiers.

    - #### semantics

          public static FuzzyLogic semantics

      Fuzzy logic.

    - #### showLanguage

          public boolean showLanguage

      Show the logic language to the user or not.

    - #### similarityRels

          public java.util.HashSet<java.lang.String> similarityRels

      Similarity relations.

  - ### Constructor Detail

    - #### KnowledgeBase

          public KnowledgeBase()

      Constructor

  - ### Method Detail

    - #### clone

          public KnowledgeBase clone()

      Gets a copy of a knowledge base.
      Overrides:
        `clone` in class `java.lang.Object`
      Returns:
        A copy of the knowledge base.

    - #### cloneWithoutABox

          public KnowledgeBase cloneWithoutABox()

      Gets a copy of a knowledge base except the ABox.
      Returns:
        A copy of the knowledge base.

    - #### saveToFile

          public void saveToFile(java.lang.String fileName)
                          throws FuzzyOntologyException

      Saves a fuzzy KB into a text file.
      Parameters:
        `fileName` - Name of the output fie.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.

    - #### getIndividual

          public Individual getIndividual(java.lang.String indName)
                                   throws InconsistentOntologyException

      Gets an individual with the indicated name (creating it if necessary).
      Parameters:
        `indName` - Name of the individual.
      Returns:
        Individual with the given name.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### addConcept

          public void addConcept(java.lang.String conceptName,
                                 FuzzyConcreteConcept conc)

      Adds a fuzzy concept to the array of concepts in the fuzzy KB.
      Parameters:
        `conceptName` - Name of the concept.
        `conc` - Fuzzy concept.

    - #### getConcept

          public Concept getConcept(java.lang.String name)

      Gets a concept with indicated name.
      Parameters:
        `name` - Name of the concept.
      Returns:
        A concept with the given name.

    - #### addFuzzyNumber

          public void addFuzzyNumber(java.lang.String fName,
                                     TriangularFuzzyNumber f)

      Adds a fuzzy number to the fuzzy KB.
      Parameters:
        `fName` - Name of the fuzzy number.
        `f` - Fuzzy number.

    - #### checkFuzzyNumberConceptExists

          public boolean checkFuzzyNumberConceptExists(java.lang.String concName)

      Checks if there exists a fuzzy number with the indicated name.
      Parameters:
        `concName` - Name of the fuzzy number.
      Returns:
        true if there exists a fuzzy number with the given name; false otherwise.

    - #### addModifier

          public void addModifier(java.lang.String modName,
                                  Modifier mod)
                           throws FuzzyOntologyException

      Adds a fuzzy modifier to the fuzzy KB.
      Parameters:
        `modName` - Name of the fuzzy modifier.
        `mod` - Modifier.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.

    - #### addIndividualToConcept

          public void addIndividualToConcept(int conceptID,
                                             Individual a)

      Add the individual a to the individual list of the concept.
      Parameters:
        `conceptID` - Concept numerical ID.
        `a` - Individual

    - #### addRelation

          public Relation addRelation(Individual indA,
                                      java.lang.String role,
                                      Individual indB,
                                      Degree degree)
                               throws InconsistentOntologyException

      Adds a fuzzy relation of the form (indA, indB, funcRole, degree)
      Parameters:
        `indA` - A subbject individual.
        `role` - An abstract role.
        `indB` - An object individual.
        `degree` - Lower bound for the degree.
      Returns:
        Added relation.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### defineConcept

          public void defineConcept(java.lang.String conceptName,
                                    Concept conc)

      Adds a fuzzy concept definition.
      Parameters:
        `conceptName` - Name of an atomic fuzzy concept (defined).
        `conc` - A fuzzy concept (definition).

    - #### defineAtomicConcept

          public void defineAtomicConcept(java.lang.String conceptName,
                                          Concept conc,
                                          int implication,
                                          double n)

      Adds an atomic fuzzy concept definition.
      Parameters:
        `conceptName` - Name of an atomic fuzzy concept (defined).
        `conc` - A fuzzy concept (definition).
        `implication` - A fuzzy implication.
        `n` - Degree of truth.

    - #### addAtomicConceptsDisjoint

          public void addAtomicConceptsDisjoint(java.util.ArrayList<java.lang.String> disjointConcepts)

      Adds some disjoint concept axioms.
      Parameters:
        `disjointConcepts` - A vector of concept names.

    - #### addConceptsDisjoint

          public void addConceptsDisjoint(java.util.ArrayList<Concept> disjointConcepts)
                                   throws InconsistentOntologyException

      Adds some disjoint concept axioms.
      Parameters:
        `disjointConcepts` - A vector of concepts.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### addConceptsDisjoint

          public void addConceptsDisjoint(Concept c,
                                          Concept d)
                                   throws InconsistentOntologyException

      Throws:
        `InconsistentOntologyException`

    - #### addEquivalentRoles

          public void addEquivalentRoles(java.util.ArrayList<java.lang.String> equivRoles)

      Adds some equivalent funcRole axioms.
      Parameters:
        `equivRoles` - An array list of equivalent fuzzy funcRole names.

    - #### addEquivalentConcepts

          public void addEquivalentConcepts(java.util.ArrayList<Concept> equivConcepts)
                                     throws InconsistentOntologyException

      Adds some equivalent concept axioms.
      Parameters:
        `equivConcepts` - An array list of vector of equivalent fuzzy concepts.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### defineEquivalentConcepts

          public void defineEquivalentConcepts(Concept c1,
                                               Concept c2)
                                        throws InconsistentOntologyException

      Adds a concept equivalence axiom.
      Parameters:
        `c1` - A concept.
        `c2` - Another concept.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### addDisjointUnionConcept

          public void addDisjointUnionConcept(java.util.ArrayList<java.lang.String> disjointUnionConcepts)

      Adds a disjoint union concept axiom.
      Parameters:
        `disjointUnionConcepts` - A vector of concepts names.

    - #### roleIsFunctional

          public void roleIsFunctional(java.lang.String role)

      Adds a functional funcRole axiom.
      Parameters:
        `role` - A role.

    - #### roleIsInverseFunctional

          public void roleIsInverseFunctional(java.lang.String role)

      Adds an inverse functional funcRole axiom.
      Parameters:
        `role` - A role.

    - #### roleIsTransitive

          public void roleIsTransitive(java.lang.String role)

      Adds a transitive funcRole axiom.
      Parameters:
        `role` - A role.

    - #### roleIsReflexive

          public void roleIsReflexive(java.lang.String role)

      Adds a reflexive funcRole axiom.
      Parameters:
        `role` - A role.

    - #### roleIsSymmetric

          public void roleIsSymmetric(java.lang.String role)

      Adds a symmetric funcRole axiom.
      Parameters:
        `role` - A role.

    - #### addSimilarityRelation

          public void addSimilarityRelation(java.lang.String role)

      Adds a fuzzy similarity relation.
      Parameters:
        `role` - A role.

    - #### addEquivalenceRelation

          public void addEquivalenceRelation(java.lang.String role)

      Adds a fuzzy equivalence relation.
      Parameters:
        `role` - A role.

    - #### addInverseRoles

          public void addInverseRoles(java.lang.String role,
                                      java.lang.String invRole)

      Adds an inverse funcRole axiom.
      Parameters:
        `role` - A role.
        `invRole` - An inverse funcRole of funcRole.

    - #### roleImplies

          public void roleImplies(java.lang.String subsumed,
                                  java.lang.String subsumer)

      Adds a RIA (subsumed, subsumer, 1).
      Parameters:
        `subsumed` - Subsumed funcRole.
        `subsumer` - Subsumed funcRole.

    - #### roleImplies

          public void roleImplies(java.lang.String subsumed,
                                  java.lang.String subsumer,
                                  java.lang.Double n)

      Adds a RIA (subsumed, subsumer, degree).
      Parameters:
        `subsumed` - Subsumed funcRole.
        `subsumer` - Subsumed funcRole.
        `n` - Lower bound for the degree.

    - #### roleRange

          public void roleRange(java.lang.String role,
                                Concept conc)

      Adds a funcRole range axiom.
      Parameters:
        `role` - A role.
        `conc` - of the funcRole.

    - #### roleDomain

          public void roleDomain(java.lang.String role,
                                 Concept conc)

      Adds a domain funcRole axiom.
      Parameters:
        `role` - A role.
        `conc` - Domain of the funcRole.

    - #### gImplies

          public void gImplies(Concept conc1,
                               Concept conc2,
                               Degree degree)
                        throws InconsistentOntologyException

      Adds a Goedel General Concept Inclusion.
      Parameters:
        `conc1` - Subsumed concept.
        `conc2` - Subsumer concept.
        `degree` - Lower bound for the degree.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### lImplies

          public void lImplies(Concept conc1,
                               Concept conc2,
                               Degree degree)
                        throws InconsistentOntologyException

      Adds a Lukasiewicz General Concept Inclusion.
      Parameters:
        `conc1` - Subsumed concept.
        `conc2` - Subsumer concept.
        `degree` - Lower bound for the degree.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### kdImplies

          public void kdImplies(Concept conc1,
                                Concept conc2,
                                Degree degree)
                         throws InconsistentOntologyException

      Adds a Kleene-Dienes General Concept Inclusion.
      Parameters:
        `conc1` - Subsumed concept.
        `conc2` - Subsumer concept.
        `degree` - Lower bound for the degree.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### zImplies

          public void zImplies(Concept conc1,
                               Concept conc2)
                        throws InconsistentOntologyException

      Adds a Zadeh General Concept Inclusion.
      Parameters:
        `conc1` - Subsumed concept.
        `conc2` - Subsumer concept.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### implies

          public void implies(Concept conc1,
                              Concept conc2,
                              Degree degree)
                       throws InconsistentOntologyException

      Adds a General Concept Inclusion (conc1, conc2, degree)
      Parameters:
        `conc1` - Subsumed concept.
        `conc2` - Subsumer concept.
        `degree` - Lower bound for the degree.
      Throws:
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### addDatatypeRestriction

          public Concept addDatatypeRestriction(int restrictionType,
                                                java.lang.Object o,
                                                java.lang.String fName)
                                         throws FuzzyOntologyException

      Adds a datatype restriction of the form (restrictionType, fName, o).
      Parameters:
        `restrictionType` - Type of the datatype restriction.
        `o` - Value of the datatype restriction.
        `fName` - Concrete feature.
      Returns:
        A datatype restriction.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.

    - #### getLanguage

          public java.lang.String getLanguage()

      Gets the language of the fuzzy KB, from ALC to SHIF(D).
      Returns:
        Language of the fuzzy KB.

    - #### solveKB

          public void solveKB()
                       throws FuzzyOntologyException,
                              InconsistentOntologyException

      Prepares the fuzzy knowledge base to reason with it.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### solveAssertions

          public void solveAssertions()
                               throws FuzzyOntologyException,
                                      InconsistentOntologyException

      Solves all the fuzzy assertions.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.
        `InconsistentOntologyException` - Inconsistent ontology.

    - #### addAssertion

          public void addAssertion(Individual a,
                                   Concept c,
                                   Degree n)

      Adds a fuzzy assertion of the form (a : C >= n )
      Parameters:
        `a` - An individual
        `c` - A fuzzy concept
        `n` - A degree of truth.

    - #### addAssertion

          public void addAssertion(Individual a,
                                   Restriction restric)

      Adds a fuzzy assertion of the form (a : forall R.C >= n )
      Parameters:
        `a` - An individual
        `restric` - A restriction of the form (forall R.C >= n)

    - #### checkRole

          public void checkRole(java.lang.String roleName,
                                Concept conc)
                         throws FuzzyOntologyException

      Checks the disjointness between abstract and concrete roles.
      Parameters:
        `roleName` - A role name.
        `conc` - A concept appearing in a restrictions involving the role.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.

    - #### defineBooleanConcreteFeature

          public void defineBooleanConcreteFeature(java.lang.String funcRole)
                                            throws FuzzyOntologyException

      Define a concrete feature with range boolean.
      Parameters:
        `funcRole` - Name of the concrete feature.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.

    - #### defineStringConcreteFeature

          public void defineStringConcreteFeature(java.lang.String funcRole)
                                           throws FuzzyOntologyException

      Define a concrete feature with range string.
      Parameters:
        `funcRole` - Name of the concrete feature.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.

    - #### defineIntegerConcreteFeature

          public void defineIntegerConcreteFeature(java.lang.String funcRole,
                                                   java.lang.Integer d1,
                                                   java.lang.Integer d2)
                                            throws FuzzyOntologyException

      Define a concrete feature with range integers in [d1, d2].
      Parameters:
        `funcRole` - Name of the concrete feature.
        `d1` - Lower bound of the range.
        `d2` - Upper bound of the range.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.

    - #### defineRealConcreteFeature

          public void defineRealConcreteFeature(java.lang.String funcRole,
                                                java.lang.Double d1,
                                                java.lang.Double d2)
                                         throws FuzzyOntologyException

      Define a concrete feature with range real numbers in [d1, d2].
      Parameters:
        `funcRole` - Name of the concrete feature.
        `d1` - Lower bound of the range.
        `d2` - Upper bound of the range.
      Throws:
        `FuzzyOntologyException` - fuzzy ontology exception.

    - #### setLogic

          public void setLogic(FuzzyLogic logic)

      Sets the fuzzy logic of the fuzzy knowledge base.
      Parameters:
        `logic` - Fuzzy logic of the fuzzy knowledge base.

    - #### getLogic

          public FuzzyLogic getLogic()

      Gets the fuzzy logic of the fuzzy knowledge base.
      Returns:
        Fuzzy logic of the fuzzy knowledge base.

    - #### setCrispConcept

          public void setCrispConcept(Concept c)

      Defines a concept to be crisp.
      Parameters:
        `c` - A concept.

    - #### setCrispRole

          public void setCrispRole(java.lang.String roleName)

      Defines a role to be crisp.
      Parameters:
        `roleName` - A role.

    - #### getVersion

          public double getVersion()

      Gets the version of the fuzzyDL reasoner.
      Returns:
        Version of the fuzzyDL reasoner.

    - #### getIndividuals

          public java.util.Hashtable<java.lang.String,Individual> getIndividuals()

      Get the individuals.
      Returns:
        individuals.