knowledge
Class T_Box

java.lang.Object
  |
  +--knowledge.T_Box

public class T_Box
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Die T-Box enthält das konzeptionelle Wissen über die Suchdomäne. In dieser Klasse wird die Struktur der Konzepte und der Rollen modelliert. Außerdem werden Liste der markierten Zielkonzepte und Zielrollen verwaltet.

Version:
2.2 [26.01.00]
Author:
Volkher Kaschlun
See Also:
Serialized Form

Field Summary
static java.lang.String agentName
          Der Name des Agenten
static java.lang.String AND
          Zeichen für Verknüpfung heißt and
protected  AnythingConcept anything
           
static java.lang.String ANYTHING
          Das allgemeine Oberkonzept heißt anything
static java.lang.String DEFINED_DEF
          Zeichen für die definierte Definition ist :=
static java.lang.String ISA
          Der Name der isa-Role ist isA
protected  NothingConcept nothing
           
static java.lang.String NOTHING
          Das speziellste Konzept heißt nothing
protected static java.lang.String OLD_ROLE_DEF
          Zeichen für die alte Rolendefinition war ~
static java.lang.String PRIMITIVE_DEF
          Zeichen für die primitive Definition ist :<< />D>
static java.lang.String ROLE_ARROW
          Zeichen für den Rollenverweis ist =>
static java.lang.String ROLE_DEF
          Zeichen für die Rolendefinition ist :
(package private) static long serialVersionUID
          serialVersionUID
(package private)  java.util.LinkedList targetConceptList
          Die Listen mit den als Ziel markierten Konzepten und Rollen
(package private)  java.util.LinkedList targetRoleList
          Die Listen mit den als Ziel markierten Konzepten und Rollen
protected  ClassifierDatabase theClassifierDatabase
          Die Klassifikatoren-Datenbank
protected  java.util.Hashtable theConceptHashTable
          theConceptHashTable beinhaltet Objekte der Klasse Concept als Werte, und deren Namen als Schluessel
protected  java.util.Hashtable theRoleHashTable
          theConceptHashTable beinhaltet Objekte der Klasse Role als Werte, und deren eindeutige Namen als Schluessel
 
Constructor Summary
T_Box()
          Konstruktor der Klasse T_Box
T_Box(ClassifierDatabase c)
          Konstruktor der Klasse T_Box
 
Method Summary
 void addClassifierDataBase(ClassifierDatabase c)
          Die Methode uebergibt der T-Box eine neue Classifier-Database.
 boolean classify(Concept theConcept, Instance theInstance)
          Classify leitet in der übergebenen Instanz vorhandene NetEntity-Objekt an die zu diesem Konzept gehörende Textklassifikatoren weiter.
 java.lang.Object clone()
          Liefert eine tiefe Kopie der T-Box
 boolean exist(Concept theConcept)
          Prueft ob ein Konzept in der T-Box vorhanden ist.
 java.util.LinkedList getAllConcepts()
          Liefert alle Konzepte, die in der T-Box stehen.
 java.util.LinkedList getAllInverseRoles(Concept theConcept)
          Liefert die bei diesem Konzept eingehenden Rollen (Kanten), also die Inversen, inclusive der Rollen der Oberkonzepte.
 java.util.LinkedList getAllRoles(Concept theConcept)
          Liefert alle von diesem Konzept ausgehenden Rollen (Kanten), inclusive der Rollen der Oberkonzepte.
 java.util.LinkedList getConcepts()
          Liefert alle Konzepte, die in der T-Box stehen, ohne die Konzepte anything und nothing.
 java.util.LinkedList getInverseRoles(Concept theConcept)
          Liefert die bei diesem Konzept eingehenden Rollen (Kanten), also die Inversen, ohne die Rollen der Oberkonzepte.
 java.util.LinkedList getRoles(Concept theConcept)
          Liefert die von diesem Konzept ausgehenden Rollen (Kanten), ohne die Rollen der Oberkonzepte.
 java.util.LinkedList getSubsumedConcepts(Concept c)
          getSubsumedConcepts liefert eine Lioste mit allen Konzepten, die da übergebende Konzept c subsummiert.
 java.util.LinkedList getTargetConcepts()
          Gibt eine Liste von Konzepten zurueck, die als Zielkonzepte markiert sind.
 java.util.LinkedList getTargetRoles()
          Gibt eine Liste von Rollen zurueck, die als Ziel markiert sind.
private  void insertNewError(java.util.LinkedList theErrorCommandList, CommandError theError)
           
 void load(java.lang.String fileName)
          Lädt die T-Box.
 Concept lookup(java.lang.String conceptName)
          Liefert zu einem Namen das passende Konzept.
 Role lookupRole(java.lang.String roleName)
          Liefert zu einem Namen die passende Rolle.
 void markAsTarget(Concept c)
          Markiert das Konzept als Zielkonzept.
 void markAsTarget(Role r)
          Markiert die Rolle
 void save(java.lang.String fileName)
          Speichert die T-Box
 boolean subsumes(Concept c1, Concept c2)
          Die Methode subsumes testet, ob das Konzept c1 das Konzept c2 subsummiert, d.h c2 ist spezieller als c1 und liegt im isA-Baum unter c1.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
serialVersionUID

ROLE_DEF

public static final java.lang.String ROLE_DEF
Zeichen für die Rolendefinition ist :
Since:
1.0

OLD_ROLE_DEF

protected static final java.lang.String OLD_ROLE_DEF
Zeichen für die alte Rolendefinition war ~
Since:
2.0

PRIMITIVE_DEF

public static final java.lang.String PRIMITIVE_DEF
Zeichen für die primitive Definition ist :<
Since:
2.0

DEFINED_DEF

public static final java.lang.String DEFINED_DEF
Zeichen für die definierte Definition ist :=
Since:
2.0

ROLE_ARROW

public static final java.lang.String ROLE_ARROW
Zeichen für den Rollenverweis ist =>
Since:
1.0

AND

public static final java.lang.String AND
Zeichen für Verknüpfung heißt and
Since:
2.0

ANYTHING

public static final java.lang.String ANYTHING
Das allgemeine Oberkonzept heißt anything
Since:
1.0

NOTHING

public static final java.lang.String NOTHING
Das speziellste Konzept heißt nothing
Since:
1.0

ISA

public static final java.lang.String ISA
Der Name der isa-Role ist isA
Since:
1.0

agentName

public static java.lang.String agentName
Der Name des Agenten

theConceptHashTable

protected java.util.Hashtable theConceptHashTable
theConceptHashTable beinhaltet Objekte der Klasse Concept als Werte, und deren Namen als Schluessel

theRoleHashTable

protected java.util.Hashtable theRoleHashTable
theConceptHashTable beinhaltet Objekte der Klasse Role als Werte, und deren eindeutige Namen als Schluessel

anything

protected AnythingConcept anything

nothing

protected NothingConcept nothing

targetConceptList

java.util.LinkedList targetConceptList
Die Listen mit den als Ziel markierten Konzepten und Rollen

targetRoleList

java.util.LinkedList targetRoleList
Die Listen mit den als Ziel markierten Konzepten und Rollen

theClassifierDatabase

protected transient ClassifierDatabase theClassifierDatabase
Die Klassifikatoren-Datenbank
Constructor Detail

T_Box

public T_Box()
Konstruktor der Klasse T_Box
Since:
1.0

T_Box

public T_Box(ClassifierDatabase c)
Konstruktor der Klasse T_Box
Since:
2.0
Method Detail

getAllConcepts

public java.util.LinkedList getAllConcepts()
Liefert alle Konzepte, die in der T-Box stehen.
Returns:
LinkedList, welche Objekte der Klasse Concept enthät
Since:
1.0
See Also:
Concept, LinkedList

getConcepts

public java.util.LinkedList getConcepts()
Liefert alle Konzepte, die in der T-Box stehen, ohne die Konzepte anything und nothing.
Returns:
LinkedList, welche Objekte der Klasse Concept enthät
Since:
1.0
See Also:
Concept, LinkedList

getRoles

public java.util.LinkedList getRoles(Concept theConcept)
Liefert die von diesem Konzept ausgehenden Rollen (Kanten), ohne die Rollen der Oberkonzepte.
Parameters:
theConcept - Das Konzept, dessen Rollen gesucht werden
Returns:
LinkedList, welche Objekte der Klasse Role enthält
Since:
1.0
See Also:
Concept, Role, LinkedList

getAllInverseRoles

public java.util.LinkedList getAllInverseRoles(Concept theConcept)
Liefert die bei diesem Konzept eingehenden Rollen (Kanten), also die Inversen, inclusive der Rollen der Oberkonzepte.
Parameters:
theConcept - Das Konzept, dessen Rollen gesucht werden
Returns:
LinkedList, welche Objekte der Klasse Role enthält
Since:
2.1
See Also:
Concept, Role, LinkedList

getInverseRoles

public java.util.LinkedList getInverseRoles(Concept theConcept)
Liefert die bei diesem Konzept eingehenden Rollen (Kanten), also die Inversen, ohne die Rollen der Oberkonzepte.
Parameters:
theConcept - Das Konzept, dessen Rollen gesucht werden
Returns:
LinkedList, welche Objekte der Klasse Role enthält
Since:
2.1
See Also:
Concept, Role, LinkedList

getAllRoles

public java.util.LinkedList getAllRoles(Concept theConcept)
Liefert alle von diesem Konzept ausgehenden Rollen (Kanten), inclusive der Rollen der Oberkonzepte.
Parameters:
theConcept - Das Konzept, dessen Rollen gesucht werden
Returns:
LinkedList, welche Objekte der Klasse Role enthält
Since:
1.0
See Also:
Concept, Role, LinkedList

exist

public boolean exist(Concept theConcept)
Prueft ob ein Konzept in der T-Box vorhanden ist.
Parameters:
theConcept - Das zu prüfende Konzept
Returns:
Der Ausdruck wird true, wenn das Konzept vorhanden ist.
Since:
1.0
See Also:
Concept

lookup

public Concept lookup(java.lang.String conceptName)
Liefert zu einem Namen das passende Konzept.
Parameters:
conceptName - Der Name des gesuchten Konzepts
Returns:
Ein Objekt der Klasse Concept oder null, wenn kein passendes Konzept gefunden wurde
Since:
1.0
See Also:
Concept

lookupRole

public Role lookupRole(java.lang.String roleName)
Liefert zu einem Namen die passende Rolle.
Parameters:
conceptName - Der Name der gesuchten Rolle
Returns:
Ein Objekt der Klasse Role oder null, wenn kein passendes Konzept gefunden wurde
Since:
2.0
See Also:
Role

subsumes

public boolean subsumes(Concept c1,
                        Concept c2)
Die Methode subsumes testet, ob das Konzept c1 das Konzept c2 subsummiert, d.h c2 ist spezieller als c1 und liegt im isA-Baum unter c1. Zum Beispiel wird Author von Person subsummiert. Bei Gleichheit wird auch true zurueckgeliefert, d.h. jedes Konzept subsummiert sich selbst. Ist c1 = nothing, dann ergibt der Test immer false, wenn c2 = nothing ist, dann immer true. Ist c1 = anything, dann ergibt der Test immer true, wenn c2 = anything ist, dann immer false.
Parameters:
c1 - Das Konzept, welches c2 subsummieren soll
c2 - Das Konzept, welches von c1 subsummiert werden soll
Returns:
liefert true, wenn c1 c2 subsummiert
Since:
1.0
See Also:
Concept, Concept.subsumes(knowledge.Concept)

getSubsumedConcepts

public java.util.LinkedList getSubsumedConcepts(Concept c)
getSubsumedConcepts liefert eine Lioste mit allen Konzepten, die da übergebende Konzept c subsummiert.
Parameters:
c - Das Konzept, zu dem alle Konzepte gesucht werden, die c subsummiert.
Returns:
Eine List mit den Konzepten, die vom übergebenen Concept c subsummiert werden.
Since:
2.0
See Also:
Concept, LinkedList

classify

public boolean classify(Concept theConcept,
                        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:
theConcept - Das Konzept, nach dem klassifiziert werden soll
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.2
See Also:
Instance

markAsTarget

public void markAsTarget(Concept c)
Markiert das Konzept als Zielkonzept.
Parameters:
c - Das zu markierende Konzept
Since:
1.0
See Also:
Concept, Concept.target

getTargetConcepts

public java.util.LinkedList getTargetConcepts()
Gibt eine Liste von Konzepten zurueck, die als Zielkonzepte markiert sind.
Returns:
LinkedList, welche Objekte der Klasse Concept enthält
Since:
1.0
See Also:
Concept, LinkedList

markAsTarget

public void markAsTarget(Role r)
Markiert die Rolle
Parameters:
r - Die zu markierende Rolle
Since:
1.0
See Also:
Role, Role.target

getTargetRoles

public java.util.LinkedList getTargetRoles()
Gibt eine Liste von Rollen zurueck, die als Ziel markiert sind.
Returns:
LinkedList, welche Objekte der Klasse Role enthält
Since:
1.0
See Also:
Role, LinkedList

insertNewError

private void insertNewError(java.util.LinkedList theErrorCommandList,
                            CommandError theError)

load

public void load(java.lang.String fileName)
          throws java.io.IOException,
                 TBoxLoadErrorException
Lädt die T-Box.
Parameters:
fileName - Der Dateiname, unter welchem die Datei gespeichert ist. Wird kein vollständiger Pfad angegeben, wird vom aktuellen Verzeichnis ausgehend gesucht.
Since:
1.0

save

public void save(java.lang.String fileName)
          throws java.io.IOException
Speichert die T-Box
Parameters:
fileName - Der Dateiname, unter welchem die Datei gespeichert ist. Wird kein vollständiger Pfad angegeben, wird vom aktuellen Verzeichnis ausgehend gesucht.
Since:
1.0

toString

public java.lang.String toString()
Returns:
Textuelle Repräsentation der T-Box in der Form "T-Box {Overrides:
toString in class java.lang.Object
Since:
1.0

clone

public java.lang.Object clone()
Liefert eine tiefe Kopie der T-Box
Returns:
Ein Objekt der Klasse T_Box
Overrides:
clone in class java.lang.Object
Since:
1.0

addClassifierDataBase

public void addClassifierDataBase(ClassifierDatabase c)
Die Methode uebergibt der T-Box eine neue Classifier-Database. Muss z.B. aufgerufen werden, nachdem eine T-Box deserialisiert wurde.
Parameters:
c - die neue Klassifizierer-Datenbank