Expert Query Language
This is version . It is not the current version, and thus it cannot be edited.
Back to current version   Restore this version

Die Expert Query Language ist Bestandteil des Intersult Expert Systems.

Verwendung#

Der Expert Parser wird durch die Klasse com.intersult.expert.query.ExpertParser angesprochen oder implizit durch ExpertService.

Hintergrund#

Die Expert Query Language wird durch den Parser Lambda geparst, einem effizienten und zugleich simplen Parser.

Primitiven#

Die Expert Query Language kennt nur zwei Primitive:

Variablen spielen insbesondere beim Einbetten der Expert Query Language in andere Systeme eine Rolle. Wie zum Beispiel in JSF durch das Intersult Expert.

Rules und Goals#

Grundsätzlich werden Goal- und Rule-Querys unterschieden:

AusdruckBeschreibungBeispiel
goal-queryEin Audruck der zu einer Liste von Goals evaluiert(Expertensystem, *, *).value
rule-queryEin Ausdruck der zu einem Liste von Rules evaluiert(Expertensystem, *, *)
goal-combinationVerknüpfung zweier Goals durch die Experten-Operatoren +, -, / und .red + green
braced-goalGoals können geklammert werden, um die Priorität festzulegen.(red + green) / (green + blue)
goal-selectorEin Rule-Goal kann durch die drei Selektoren object, attribute oder value in ein Goal verwandelt werden(Expertensystem, *, *).value

Goal Combinations#

Wie schon beschrieben, gibt es vier Goal Combinations. Der Goal-Operator +, -, / und . steht zwischen den Goals. Das Goal links vom Goal-Operator wird auch als Links-Goal und das Goal rechts davon entsprechend als Rechts-Goal bezeichnet.

Goal CombinationBezeichnungBeschreibung
+UnionDas Zusammenfügen beider Goal-Mengen. Es entstehen keine Doppelten Goals, diese werden ausgefiltert.
-SubtractionAls Grundmenge dient die Links-Goals, davon werden die Rechts-Goals entfernt. Goals die in den Rechts-Goals vorkommen, jedoch nicht in den Links-Goals sind dabei ebenfalls nicht enthalten.
/IntersectionEs wird die Schnittmenge zwischen den Links-Goals und den Rechts-Goals berechnet.
.TransformationEine Kurzschreibweise für (left, right, *).value. Die Ergebnis-Goals sind die Values alles Attributes mit dem Namen der Rechts-Goals von den Links-Goals. Zum Beispiel kann haus.wohnfläche zum Ergebnis 110qm führen.