knowledge
Class Concept

java.lang.Object
  |
  +--knowledge.Concept
Direct Known Subclasses:
AnythingConcept, DefinedConcept

public class Concept
extends java.lang.Object
implements java.io.Serializable

Ein Konzept wird durch seinen Name und seine Rollen definiert und durch die Menge seiner Instanzen repräsentiert.

Version:
2.2 [17.12.1999]
Author:
Volkher Kaschlun
See Also:
Instance, Serialized Form

Field Summary
private  boolean dfsMarked
          Hilfsvariable für depth-first-search, um schon bearbeitete Konzepte zu markieren
(package private)  java.util.LinkedList isA
          Die Liste der Oberkonzepte von diesem Konzept.
 java.lang.String name
          Der Name des Konzepts.
(package private) static long serialVersionUID
          serialVersionUID
protected  boolean target
          Flag das angibt, ob dieses Konzept als Zielkonzept für die aktuelle Suche markiert ist.
(package private)  Classifier theClassifier
          Wenn es zu dem Konzept einen direkten Klassifikator gibt, so steht er in dieser Variable.
private  java.util.LinkedList theInverseRoles
          Die Liste mit den inversen Rollen.
private  java.util.LinkedList theRoles
          Die Liste mit den Rollen.
private  T_Box theTBox
          Der Verweis auf die zugehörige T-Box
 
Constructor Summary
protected Concept(java.lang.String newName, T_Box t)
          Konstruktor der Klasse Concept
 
Method Summary
 void addDomainConcept(Concept theDomainConcept)
          Fügt dem Konzept ein neues Domain-Konzept hinzu.
 void addInverseRole(Role r)
          fügt eine neue inverse Rolle dem Konzept hinzu
 void addRole(Role r)
          fügt eine neue Rolle dem Konzept hinzu
 boolean classify(Instance theInstance)
          Classify leitet in der übergebenen Instanz vorhandene NetEntity-Objekt an die zu diesem Konzept gehörende Textklassifikatoren weiter.
 boolean equals(java.lang.Object a)
          Vergleicht dieses Concept mit dem uebergebenen.
 java.util.LinkedList getAllInverseRoles()
           
 java.util.LinkedList getAllRoles()
           
(package private)  double getClassificationValue(Instance theInstance)
           
 java.util.LinkedList getDomainConcepts()
          Liefert eine Auflistung aller direkten Oberkonzepte
 java.util.LinkedList getInverseRoles()
           
 Role getRole(int n)
          liefert eine Rolle
 Role getRole(java.lang.String name)
          liefert eine Rolle
 java.util.LinkedList getRoles()
           
 T_Box getT_Box()
          liefert die T-Box, zu der das Konzept gehört.
private  boolean localSubsumes(Concept c, java.util.LinkedList visitedConcepts)
           
 int numberOfRoles()
           
protected  void setClassifier()
           
 boolean subsumes(Concept theConcept)
          Die Methode subsumes testet, ob das Konzept das Konzept c subsummiert, d.h c ist spezieller als dieses und liegt im isA-Baum unter diesem.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
, clone, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
serialVersionUID

target

protected boolean target
Flag das angibt, ob dieses Konzept als Zielkonzept für die aktuelle Suche markiert ist.
Since:
1.0

name

public java.lang.String name
Der Name des Konzepts.
Since:
1.0

isA

java.util.LinkedList isA
Die Liste der Oberkonzepte von diesem Konzept.
Since:
2.0

theRoles

private java.util.LinkedList theRoles
Die Liste mit den Rollen.
Since:
1.0

theInverseRoles

private java.util.LinkedList theInverseRoles
Die Liste mit den inversen Rollen.
Since:
2.1

theTBox

private T_Box theTBox
Der Verweis auf die zugehörige T-Box
Since:
2.0

theClassifier

transient Classifier theClassifier
Wenn es zu dem Konzept einen direkten Klassifikator gibt, so steht er in dieser Variable.

dfsMarked

private transient boolean dfsMarked
Hilfsvariable für depth-first-search, um schon bearbeitete Konzepte zu markieren
Since:
2.0
Constructor Detail

Concept

protected Concept(java.lang.String newName,
                  T_Box t)
Konstruktor der Klasse Concept
Parameters:
newName - Der Name des Konzepts
t - Die zugehoerige T-Box, in der das Konzept steht.
Since:
2.0
Method Detail

setClassifier

protected void setClassifier()

toString

public java.lang.String toString()
Returns:
Textuelle Repräsentation der Klasse Concept in der Form
Overrides:
toString in class java.lang.Object
Since:
1.0

getT_Box

public T_Box getT_Box()
liefert die T-Box, zu der das Konzept gehört.
Returns:
Die zugehörige T-Box
Since:
2.2

addDomainConcept

public void addDomainConcept(Concept theDomainConcept)
Fügt dem Konzept ein neues Domain-Konzept hinzu.
Since:
2.1

getDomainConcepts

public java.util.LinkedList getDomainConcepts()
Liefert eine Auflistung aller direkten Oberkonzepte
Returns:
eine Liste aller Oberkonzepte
Since:
2.1

getRole

public Role getRole(int n)
liefert eine Rolle
Parameters:
n - Index der Rolle
Returns:
die gesuchte Rolle oder null, falls keine passende Rolle vorhanden ist.
Since:
1.0
See Also:
Role

getRole

public Role getRole(java.lang.String name)
liefert eine Rolle
Parameters:
name - der Name der Rolle
Returns:
die gesuchte Rolle oder null, falls keine passende Rolle vorhanden ist.
Since:
1.0
See Also:
Role

addRole

public void addRole(Role r)
fügt eine neue Rolle dem Konzept hinzu
Parameters:
r - Rolle, die hinzugefügt werden soll
Since:
1.0
See Also:
Role

addInverseRole

public void addInverseRole(Role r)
fügt eine neue inverse Rolle dem Konzept hinzu
Parameters:
r - die inverse Rolle, die hinzugefügt werden soll
Since:
2.1
See Also:
Role

getAllRoles

public java.util.LinkedList getAllRoles()

getRoles

public java.util.LinkedList getRoles()

getAllInverseRoles

public java.util.LinkedList getAllInverseRoles()

getInverseRoles

public java.util.LinkedList getInverseRoles()

numberOfRoles

public int numberOfRoles()
Returns:
liefert die Anzahl der vorhandenen Rollen
Since:
1.0

subsumes

public boolean subsumes(Concept theConcept)
Die Methode subsumes testet, ob das Konzept das Konzept c subsummiert, d.h c ist spezieller als dieses und liegt im isA-Baum unter diesem. Zum Beispiel wird Author von Person subsummiert. Bei Gleichheit wird auch true zurueckgeliefert, d.h. jedes Konzept subsummiert sich selbst.
Parameters:
theConcept - Das zu subsummierende Konzept
Returns:
true, wenn c subsummiert wird.
Since:
1.0
See Also:
T_Box.subsumes(knowledge.Concept, knowledge.Concept)

localSubsumes

private boolean localSubsumes(Concept c,
                              java.util.LinkedList visitedConcepts)
Parameters:
c - Das aktuelle Konzept
visitedConcepts - Die Liste mit allen markierten Konzepten
Returns:
true, wenn c == this ist oder oder ein Oberkonzept von c == this ist
Since:
2.0
See Also:
subsumes(knowledge.Concept)

equals

public boolean equals(java.lang.Object a)
Vergleicht dieses Concept mit dem uebergebenen.
Parameters:
a - das Objekt, mit dem verglichen werden soll.
Returns:
Gibt den Wert true zurueck, wenn der Name, gleich ist.
Overrides:
equals in class java.lang.Object
Since:
1.1

classify

public boolean classify(Instance theInstance)
Classify leitet in der übergebenen Instanz vorhandene NetEntity-Objekt an die zu diesem Konzept gehörende Textklassifikatoren weiter. Das Ergebniss dieser Klassifikatoren wird ausgewertet und bei eine Confidence-Wert größer 0 wird dieses Konzept in der Instanz eingetragen, und als Ergebniss true zurückgeliefert. Ist die Instanz auch schon in eine A-Box eingetragen, wird auch in dieser die Änderung eingetragen. Wenn es zu diesem Konzept keinen Klassifikator gibt, wird 0 zurueckgeliefert! Beispiel: Konzept ist anything. Jede Instanz fällt per Definition unter dieses Konzept, aber anything hat sicherlich auch keinen Klassifikator. Also wird als Ergebnis false zurueckgeliefert.
Parameters:
theInstance - Die zu bewertende Instanz
Returns:
true, wenn der Confidence-Wert für dies Instanz bezüglich diese Konzepts größer 0 wurde.
Since:
2.0
See Also:
Instance

getClassificationValue

double getClassificationValue(Instance theInstance)