|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.rdtdm.rule.RuleSchema
RuleSchema
verwaltet genau ein Regelschema.
Copyright (c) 2001 by Dirk Münstermann
All Rights Reserved
Changelog:$Log: RuleSchema.java,v $ Revision 1.6 2001/10/03 14:54:39 dirk readding Revision 1.4 2001/09/26 12:43:57 dirk update javadoc comments |
Nested Class Summary | |
private class |
RuleSchema.LitConst
Speichert zu einen Literalvariablen des Regelschematas alle Literale, die diese Variable beinhalten. |
private class |
RuleSchema.LitVar
Speichert zu einen Literalvariablen des Regelschematas alle Literale, die diese Variable beinhalten. |
Field Summary | |
private Literal |
conclusion
|
private java.util.ArrayList |
constants
|
private java.util.HashMap |
litconstants
Beinhaltet f?r alle Literalkonstanten genau einen Eintrag vom Typ LitConst. |
private java.util.HashMap |
litvariables
Beinhaltet f?r alle Literalvaribalen genau einen Eintrag vom Typ LitVar. |
private java.lang.String |
name
|
private java.util.ArrayList |
premises
|
private java.util.Hashtable |
relationchain
|
private static java.lang.String |
SEP1
|
private static java.lang.String |
SEP2
|
private static java.lang.String |
SEP3
|
private java.util.ArrayList |
variables
|
Constructor Summary | |
RuleSchema()
|
|
RuleSchema(java.lang.String rs)
|
Method Summary | |
void |
addConstant(java.lang.String constant)
|
void |
addPremise(Literal premise)
|
void |
addVariable(java.lang.String variable)
|
void |
changeLitVar(java.lang.String varsrc,
java.lang.String vardest)
Tauscht den Namen einer Literalvariablen in dem Regelschema aus. |
RuleSchema |
changeLitVars(Substitution sub)
Erzeugt ein neues Regelschema unter Anwendung der Substitution auf das ursprungliche Regelschema, dabei werden nur Termvariabeln ausgetauscht. |
void |
changePredVar(java.lang.String varsrc,
java.lang.String vardest)
Tauscht den Namen einer Pr?dikatenvariablen in dem Regelschema aus. |
RuleSchema |
changePredVars(Substitution sub)
Erzeugt ein neues Regelschema unter Anwendung der Substitution auf das ursprungliche Regelschema, dabei werden nur Pr?dikatenvariabeln ausgetauscht. |
boolean |
checkSyntax(java.lang.String rs)
Die Regelschemata m?ssen die folgende Formn aufweisen: |
java.lang.Object |
clone()
|
RuleSchema |
cloneOnlyConcl()
|
int |
constantscount()
|
boolean |
containsLiteralByName(java.lang.String name)
|
boolean |
containsLiteralByType(Literal lit)
Lifert true, wenn dieses Regelschema ein Literal einth?lt, welches den vom Typ (Name und Anzahl Parameter) identisch mit dem ?bergebenen Literal ist. |
boolean |
equals(java.lang.Object obj)
Liefert true, wenn das ?bergebene Objekt vom Typ RuleSchema ist, die Namen, die Anzahl der Variablen, die Variablen selbst, die Anzahl der Pr?missen und die Pr?missen selbst gleich sind. |
boolean |
equalsConcl(java.lang.Object obj)
Liefert true, wenn die Konklusionen der beiden Regelschema identisch sind. |
Literal |
getConclusion()
|
java.util.ArrayList |
getConstants()
|
java.lang.String |
getLitConst(int index)
|
java.util.ArrayList |
getLitConstLiterals(java.lang.String litconst)
Liefert alle Literale zur?ck, die die Literalkonstante beinhalten. |
java.util.ArrayList |
getLitConstNonSchemaLiterals(java.lang.String litconst)
Liefert alle Literale zur?ck, die die Literalkonstante beinhalten und die bereits instattiiert wurden (kein Schema). |
java.util.Iterator |
getLitConsts()
|
int[] |
getLiteralArities()
Liefert f?r alle Literale die Anzahl der Parameter zur?ck. |
Literal |
getLiteralByType(Literal lit)
Lifert das erste Literal aus dieses Regelschema zur?ck, welches vom Typ (Name und Anzahl Parameter) identisch mit dem ?bergebenen Literal ist. |
int |
getLiteralCount()
Liefert die Anzahl der Literal innerhalb dieses Regelschematas zurueck. |
private int |
getLiteralRC(Literal lit)
Lifert die minimale L?nge des relation chain f?r das ?bergebene Literal zur?ck. |
java.util.ArrayList |
getLiterals()
Liefert alle Literale des Regelschema zur?ck. |
java.util.ArrayList |
getLitVarLiterals(java.lang.String litvar)
Liefert alle Literale zur?ck, die die Literalvariable beinhalten. |
java.util.ArrayList |
getLitVarNonSchemaLiterals(java.lang.String litvar)
Liefert alle Literale zur?ck, die die Literalvariable beinhalten und die bereits instattiiert wurden (kein Schema). |
java.util.Iterator |
getLitVars()
|
private int |
getMinLengthRC(java.lang.String litvar)
Lifert die minimale L?nge des relation chain f?r die ?bergebene Variable zur?ck. |
java.lang.String |
getName()
|
Literal |
getPremise(int index)
Liefert das Literal der i-ten Premisse zurueck. |
java.util.ArrayList |
getPremises()
|
java.util.ArrayList |
getVariables()
|
Literal |
getVarLiteral(int index)
Liefert das Literal zu der i-ten Variablen zurueck. |
Literal |
getVarLiteral(java.lang.String variable)
Liefert das Literal zu der Variablen zurueck. |
boolean |
isConstant(java.lang.String name)
|
boolean |
isFact()
|
boolean |
isInstantiiert()
Returns true iff all predicates and constantes are instantiiert. |
boolean |
isMoreGeneral(RuleSchema rs)
Liefert true, wenn das ?bergebene RegelSchema spezieller ist. |
boolean |
isMoreGeneralWithoutLitVars(RuleSchema rs)
Liefert true, wenn das ?bergebene RegelSchema bis auf Substitution von Literalvariablen spezieller ist. |
boolean |
isSchema()
|
boolean |
isVariable(java.lang.String name)
|
void |
parse(java.lang.String rs)
|
void |
parseConstants()
Durchsucht alle Literal des Regelschemata nach Konstanten und speichert diese zusammen mit allen Literalen, die diese Beinhalten ab. |
void |
parseDeclaration(java.lang.String decl)
|
private java.util.HashSet |
parseLitParams()
Liefert alle Parameter der Literale dieses Regelschamatas zurueck. |
void |
parsePremise(java.lang.String prem)
|
private java.util.HashSet |
parsePremsLitParams()
Liefert alle Parameter der Premisen-Literale dieses Regelschamatas zurueck. |
void |
parseVariables()
Durchsucht alle Literal des Regelschemata nach Variablen und speichert diese zusammen mit allen Literalen, die diese Beinhalten ab. |
int |
premisecount()
|
private java.lang.String |
prep(java.lang.String src)
|
private void |
printIt(java.util.Iterator it)
|
void |
printLitConsts()
|
void |
printLiteralArities()
|
void |
printLitVars()
|
void |
printPremises()
|
void |
printRelationChain()
|
private void |
rc()
|
private void |
rc(java.util.ArrayList vars,
java.util.ArrayList rclist)
|
void |
replacePredicateVar(java.lang.String variable,
java.lang.String predicate)
Ersetzt in dem Regelschema die Pr?dikatenvariable durch ein Pr?dikat. |
RuleSchema |
replaceRSSubstitution(Substitution sub)
|
RuleSchema |
replaceSubstitution(Substitution sub)
Erzeugt ein neues Regelschema unter Anwendung der Substitution auf das ursprungliche Regelschema. |
void |
replaceTermConstants(java.lang.String variable,
java.lang.String value)
|
void |
setConclusion(Literal concl)
|
void |
setConstants(java.util.ArrayList constants)
|
void |
setName(java.lang.String name)
|
void |
setPremises(java.util.ArrayList premises)
|
void |
setVariables(java.util.ArrayList variables)
|
void |
sortPremisesByRelationChain()
Sortiert die Premissen nach dem Relation Chain. |
java.lang.String[] |
splitString(java.lang.String src,
java.lang.String sep)
|
java.lang.String |
toString()
|
private java.lang.String |
toStringIt(java.util.Iterator it)
|
int |
variablescount()
|
Methods inherited from class java.lang.Object |
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private static final java.lang.String SEP1
private static final java.lang.String SEP2
private static final java.lang.String SEP3
private java.lang.String name
private java.util.ArrayList variables
private java.util.ArrayList constants
private Literal conclusion
private java.util.ArrayList premises
private java.util.Hashtable relationchain
private java.util.HashMap litvariables
private java.util.HashMap litconstants
Constructor Detail |
public RuleSchema()
public RuleSchema(java.lang.String rs)
Method Detail |
public boolean containsLiteralByType(Literal lit)
lit
- vergleichs Literal
public boolean containsLiteralByName(java.lang.String name)
public Literal getLiteralByType(Literal lit)
lit
- vergleichs Literal
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
obj
- Vergleichsobjekt
public boolean equalsConcl(java.lang.Object obj)
public boolean isMoreGeneral(RuleSchema rs)
rs
- vergleichs Regelschema
public boolean isMoreGeneralWithoutLitVars(RuleSchema rs)
rs
- vergleichs Regelschema
public java.lang.String toString()
toString
in class java.lang.Object
public void parse(java.lang.String rs)
public void parseDeclaration(java.lang.String decl)
public void parsePremise(java.lang.String prem)
public void sortPremisesByRelationChain()
private int getLiteralRC(Literal lit)
lit
- Literal
private int getMinLengthRC(java.lang.String litvar)
litvar
- Literalvariable
private void rc()
private void rc(java.util.ArrayList vars, java.util.ArrayList rclist)
public void printRelationChain()
public void printLiteralArities()
public void parseVariables()
public void parseConstants()
private java.util.HashSet parseLitParams()
private java.util.HashSet parsePremsLitParams()
public java.util.Iterator getLitVars()
public java.util.Iterator getLitConsts()
public java.util.ArrayList getLitVarLiterals(java.lang.String litvar)
litvar
- Name einer Literalvariablen
Literal
die bereits Instantiiert wurden.
Wenn ein Literal noch nicht Instantiiert ist, wird eine leere Liste zur?ck geliefert.public java.util.ArrayList getLitVarNonSchemaLiterals(java.lang.String litvar)
litvar
- Name einer Literalvariablen
Literal
.public java.util.ArrayList getLitConstLiterals(java.lang.String litconst)
Literal
die bereits Instantiiert wurden.
Wenn ein Literal noch nicht Instantiiert ist, wird eine leere Liste zur?ck geliefert.public java.lang.String getLitConst(int index)
public java.util.ArrayList getLitConstNonSchemaLiterals(java.lang.String litconst)
Literal
die bereits
Instantiiert wurden.public void printLitVars()
public void printPremises()
public void printLitConsts()
private void printIt(java.util.Iterator it)
private java.lang.String toStringIt(java.util.Iterator it)
public boolean checkSyntax(java.lang.String rs)
: <- . mit :- ->*[, ] :- :- ( *[, ]) :- ( *[, ]) :- Pr?dikatenvariable
public void setName(java.lang.String name)
public java.lang.String getName()
public void addVariable(java.lang.String variable)
public void setVariables(java.util.ArrayList variables)
public java.util.ArrayList getVariables()
public void addConstant(java.lang.String constant)
public void setConstants(java.util.ArrayList constants)
public java.util.ArrayList getConstants()
public int variablescount()
public int constantscount()
public boolean isVariable(java.lang.String name)
public boolean isConstant(java.lang.String name)
public boolean isInstantiiert()
true
iff all predicates and constantes are instantiiert.
public boolean isSchema()
public boolean isFact()
public void setConclusion(Literal concl)
public Literal getConclusion()
public void addPremise(Literal premise)
public void setPremises(java.util.ArrayList premises)
public java.util.ArrayList getPremises()
public int premisecount()
public void replaceTermConstants(java.lang.String variable, java.lang.String value)
public void replacePredicateVar(java.lang.String variable, java.lang.String predicate)
variable
- Pr?dikatenvariablepredicate
- Pr?dikatpublic void changePredVar(java.lang.String varsrc, java.lang.String vardest)
varsrc
- Pr?dikatenvariable altvardest
- Pr?dikatenvariable neupublic void changeLitVar(java.lang.String varsrc, java.lang.String vardest)
varsrc
- Literalvariable altvardest
- Literalvariable neupublic RuleSchema replaceSubstitution(Substitution sub)
sub
- Die anzuwendende Substitution.
public RuleSchema replaceRSSubstitution(Substitution sub)
public RuleSchema changePredVars(Substitution sub)
sub
- Die anzuwendende Substitution.
public RuleSchema changeLitVars(Substitution sub)
sub
- Die anzuwendende Substitution.
public Literal getPremise(int index)
index
- Index der Premisse
public Literal getVarLiteral(int index)
index
- Index der Variablen
public Literal getVarLiteral(java.lang.String variable)
variable
- Name der Variablen
public java.util.ArrayList getLiterals()
ArrayList
mit Inhalt vom Typ Literal
public int getLiteralCount()
public int[] getLiteralArities()
public java.lang.String[] splitString(java.lang.String src, java.lang.String sep)
private java.lang.String prep(java.lang.String src)
public java.lang.Object clone()
clone
in class java.lang.Object
public RuleSchema cloneOnlyConcl()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |