Regeln

      Regeln

          Regeln

              Regeln

                  Regeln

                      Regeln

                          Regeln

                              Ein Xcerpt-Programm besteht aus einer Menge von Regeln, welche aus einem Körper und einem Kopf bestehen.

                              Der Körper einer Regel ist eine Abfrage (Query), welche mit einem Datenterm (XML-Daten) verglichen wird. Er wird im Folgenden auch als Abfrageterm bezeichnet.

                              Der Kopf nutzt die Ergebnisse des Matchings und bildet damit einen neuen Datenterm. Die ermittelten Daten sind entweder im Abfrageterm spezifiziert oder durch weitere Regeln des Programms erstellt. Im folgenden soll er auch Konstruktionsterm genannt werden.

                              SVG - Xcerpt - Regel

                              Mit Chaining oder Verkettung bezeichnet man die Strategie, welche zur Verknüpfung von Regeln eines funktionalen Programmes und der Ableitung logischer Folgerungen genutzt wird. Sie arbeiten transitiv, so daß das Ergebnis einer Regel als Grundlage einer weiteren Regel dienen kann.

                              Backward-Chaining oder auch abfragegetriebenes Vorgehen nutzt leicht verständliche, deklarative Vereinfachungssregeln. Es beginnt mit dem Anfrageteil eines Zieles und wählt davon ausgehend solche Regeln aus, welche für die Auflösung des Abfrageterms benötigt werden. Der aktuelle Abfrageterm wird durch den Zielterm der gewählten Regel ersetzt. Wenn ein erwartetes Ergebnis klein gegenüber der Anzahl der möglichen Regeln des gesamten Programmes ist, spart ein abfragegetriebenes Vorgehen so Resourcen.

                              Theoretisch ist das gesamte Web als Resource denkbar, da Suchräume durch frühzeitige Inkonsistenzprüfung reduziert und komplexe Berechnungen so lang wie möglich vermieden werden können.

                              SVG - Rückwärtskettung

                              Dem gegenüber steht das Forward-Chaining, welches ein datengetriebenes Vorgehen darstellt. Beginnend mit der initialen Datenbasis werden hier alle Regeln iterativ gegen die aktuelle Menge von Datentermen ausgewertet, bis eine Sättigung erreicht ist. Es besitzt also keine Regeldatenteile, welche nicht bereits abgeleitet wurden. Dieser Zustand wird als „Fixpunkt“ bezeichnet, welcher nicht unendlich sein darf. Im Falle eines Zyklus würde die Iteration niemals terminieren. Ebenfalls werden durch den fehlenden zielgetriebenen Ansatz Großteile der bearbeiteten Daten für die Abfrage meist nicht genutzt und sind uninteressant.

                              Verwendung findet Forward Chaining in regelbasierten Abfragesprachen für traditionelle Datenbanksysteme, beispielsweise zur Materialisierung von Sichten und zur Sichten-Pflege.

                              SVG - Vorwärtsverkettung

                              In auf das Web bezogenen Anwendungen können beide Techniken interessant sein. Mittels Forward-Chaining können Abfrageergebnisse materialisiert werden, beispielsweise zur Generierung statischer Web-Seiten aus einem informationshaltenden XML-Dokument und einem Abfrageprogramm, welches Layout-Informationen hinzufügt. Backward-Chaining ist nützlich, falls die genutzte Resource nicht lokal sondern im Web selbst zu finden ist. Es bildet die Grundlage von Xcerpt.

                              Es existieren bis zu drei Regelarten innerhalb eines Xcerpt-Programmes, welche sich im Kopfbereich unterscheiden:

                              • Regeln für die Erstellung von Zwischenergebnissen, die als Konstruktionsregeln bei folgenden Abfragen als Quelle genutzt werden, sowie die
                              • abschliessende Regel (Goal), welche das finale Ergebnis des Programms produziert.

                              Da Xcerpt auf Rückwärtsverkettung basiert, tritt hauptsächlich die abfragegetrieben arbeitende „Construct“-Regel auf.

                              Regeln, welche datengetrieben zu Programmstart aufgelöst werden, sind durch „Materialise“ eingeleitet.

                              GOAL CONSTRUCT MATERIALISE
                              ghead chead mhead
                              FROM FROM FROM
                              gbody cbody mbody
                              END END END

                              ghead , rhead und mhead sind dabei die erwähnten Konstruktionsterme.

                              Ein GOAL-Kopf kann im Gegensatz zum CONSTRUCT-Kopf Informationen beinhalten, wohin der durch den Konstruktionsterm produzierte Datenterm ausgegeben werden sollte. Standardmäßig wird er im Xcerpt Datenterm-Dateiformat zur Standard-Ausgabe gesendet.

                              gbody, rbody sowie mbody sind Abfrageterme. Sie stellen Muster dar, welche mit entsprechenden Datentermen, oftmals als XML-Daten repräsentiert, verglichen werden. Passende Resultate werden in einer (evtl. leeren) Menge von Bindungen für die Variablen der Abfrageterme repräsentiert. Eine Bindung assoziiert Datenterme mit den Variablen des Abfrageterms.

                              In der Logikprogrammierung wird dabei ein ähnliches Konzept als Unifikation bezeichnet. Während dort allerdings beide in die Unifikation einbezogenen Teile Terme beinhalten könnten, ist in Xcerpt eine der beiden Terme immer ein Datenterm (korrespondierend zu einem Grundterm in der Logik-Programmierung). Das Ergebnis einer Regel ist ein neuer Datenterm, erhalten durch Anwendung aller oder einiger Bindungen zum Kopf der Regel.

                              Dieser neue Datenterm kann im Körper einer anderen Regel abgefragt werden. Da der von der Regelanwendung resultierende, neue Term das selbe Format besitzt wie ein aus einer anderen Quelle entnommener Datenterm, kann man ihn in einer weiteren Regel weiterverarbeiten. Ein Regelkörper muss demnach nicht von einer Datei ausgelesen werden, sondern kann stattdessen Xerpt-Daten identifizieren, welche durch eine Konstrukt-Regel erstellt wurde. Dieses Rule-Chaining erhöht die Übersichtlichkeit im Code und damit die Nutzbarkeit für menschliche Nutzer.

                              Das Ergebnis einer GOAL - Zielregel wird entweder in eine Datei geschrieben oder am Bildschirm angezeigt, kann jedoch nicht für weitere Verkettungen genutzt werden.

                          Ein Xcerpt-Programm besteht aus einer Menge von Regeln, welche aus einem Körper und einem Kopf bestehen.

                          Der Körper einer Regel ist eine Abfrage (Query), welche mit einem Datenterm (XML-Daten) verglichen wird. Er wird im Folgenden auch als Abfrageterm bezeichnet.

                          Der Kopf nutzt die Ergebnisse des Matchings und bildet damit einen neuen Datenterm. Die ermittelten Daten sind entweder im Abfrageterm spezifiziert oder durch weitere Regeln des Programms erstellt. Im folgenden soll er auch Konstruktionsterm genannt werden.

                          SVG - Xcerpt - Regel

                          Verkettung

                          Mit Chaining oder Verkettung bezeichnet man die Strategie, welche zur Verknüpfung von Regeln eines funktionalen Programmes und der Ableitung logischer Folgerungen genutzt wird. Sie arbeiten transitiv, so daß das Ergebnis einer Regel als Grundlage einer weiteren Regel dienen kann.

                          Rückwärtsverkettung

                          Backward-Chaining oder auch abfragegetriebenes Vorgehen nutzt leicht verständliche, deklarative Vereinfachungssregeln. Es beginnt mit dem Anfrageteil eines Zieles und wählt davon ausgehend solche Regeln aus, welche für die Auflösung des Abfrageterms benötigt werden. Der aktuelle Abfrageterm wird durch den Zielterm der gewählten Regel ersetzt. Wenn ein erwartetes Ergebnis klein gegenüber der Anzahl der möglichen Regeln des gesamten Programmes ist, spart ein abfragegetriebenes Vorgehen so Resourcen.

                          Theoretisch ist das gesamte Web als Resource denkbar, da Suchräume durch frühzeitige Inkonsistenzprüfung reduziert und komplexe Berechnungen so lang wie möglich vermieden werden können.

                          SVG - Rückwärtskettung

                          Vorwärtsverkettung

                          Dem gegenüber steht das Forward-Chaining, welches ein datengetriebenes Vorgehen darstellt. Beginnend mit der initialen Datenbasis werden hier alle Regeln iterativ gegen die aktuelle Menge von Datentermen ausgewertet, bis eine Sättigung erreicht ist. Es besitzt also keine Regeldatenteile, welche nicht bereits abgeleitet wurden. Dieser Zustand wird als „Fixpunkt“ bezeichnet, welcher nicht unendlich sein darf. Im Falle eines Zyklus würde die Iteration niemals terminieren. Ebenfalls werden durch den fehlenden zielgetriebenen Ansatz Großteile der bearbeiteten Daten für die Abfrage meist nicht genutzt und sind uninteressant.

                          Verwendung findet Forward Chaining in regelbasierten Abfragesprachen für traditionelle Datenbanksysteme, beispielsweise zur Materialisierung von Sichten und zur Sichten-Pflege.

                          SVG - Vorwärtsverkettung

                          In auf das Web bezogenen Anwendungen können beide Techniken interessant sein. Mittels Forward-Chaining können Abfrageergebnisse materialisiert werden, beispielsweise zur Generierung statischer Web-Seiten aus einem informationshaltenden XML-Dokument und einem Abfrageprogramm, welches Layout-Informationen hinzufügt. Backward-Chaining ist nützlich, falls die genutzte Resource nicht lokal sondern im Web selbst zu finden ist. Es bildet die Grundlage von Xcerpt.

                          Regelkopf

                          Es existieren bis zu drei Regelarten innerhalb eines Xcerpt-Programmes, welche sich im Kopfbereich unterscheiden:

                          • Regeln für die Erstellung von Zwischenergebnissen, die als Konstruktionsregeln bei folgenden Abfragen als Quelle genutzt werden, sowie die
                          • abschliessende Regel (Goal), welche das finale Ergebnis des Programms produziert.

                          Da Xcerpt auf Rückwärtsverkettung basiert, tritt hauptsächlich die abfragegetrieben arbeitende „Construct“-Regel auf.

                          Regeln, welche datengetrieben zu Programmstart aufgelöst werden, sind durch „Materialise“ eingeleitet.

                          GOAL CONSTRUCT MATERIALISE
                          ghead chead mhead
                          FROM FROM FROM
                          gbody cbody mbody
                          END END END

                          ghead , rhead und mhead sind dabei die erwähnten Konstruktionsterme.

                          Ein GOAL-Kopf kann im Gegensatz zum CONSTRUCT-Kopf Informationen beinhalten, wohin der durch den Konstruktionsterm produzierte Datenterm ausgegeben werden sollte. Standardmäßig wird er im Xcerpt Datenterm-Dateiformat zur Standard-Ausgabe gesendet.

                          Regelkörper

                          gbody, rbody sowie mbody sind Abfrageterme. Sie stellen Muster dar, welche mit entsprechenden Datentermen, oftmals als XML-Daten repräsentiert, verglichen werden. Passende Resultate werden in einer (evtl. leeren) Menge von Bindungen für die Variablen der Abfrageterme repräsentiert. Eine Bindung assoziiert Datenterme mit den Variablen des Abfrageterms.

                          In der Logikprogrammierung wird dabei ein ähnliches Konzept als Unifikation bezeichnet. Während dort allerdings beide in die Unifikation einbezogenen Teile Terme beinhalten könnten, ist in Xcerpt eine der beiden Terme immer ein Datenterm (korrespondierend zu einem Grundterm in der Logik-Programmierung). Das Ergebnis einer Regel ist ein neuer Datenterm, erhalten durch Anwendung aller oder einiger Bindungen zum Kopf der Regel.

                          Dieser neue Datenterm kann im Körper einer anderen Regel abgefragt werden. Da der von der Regelanwendung resultierende, neue Term das selbe Format besitzt wie ein aus einer anderen Quelle entnommener Datenterm, kann man ihn in einer weiteren Regel weiterverarbeiten. Ein Regelkörper muss demnach nicht von einer Datei ausgelesen werden, sondern kann stattdessen Xerpt-Daten identifizieren, welche durch eine Konstrukt-Regel erstellt wurde. Dieses Rule-Chaining erhöht die Übersichtlichkeit im Code und damit die Nutzbarkeit für menschliche Nutzer.

                          Das Ergebnis einer GOAL - Zielregel wird entweder in eine Datei geschrieben oder am Bildschirm angezeigt, kann jedoch nicht für weitere Verkettungen genutzt werden.

                      Ein Xcerpt-Programm besteht aus einer Menge von Regeln, welche aus einem Körper und einem Kopf bestehen.

                      Der Körper einer Regel ist eine Abfrage (Query), welche mit einem Datenterm (XML-Daten) verglichen wird. Er wird im Folgenden auch als Abfrageterm bezeichnet.

                      Der Kopf nutzt die Ergebnisse des Matchings und bildet damit einen neuen Datenterm. Die ermittelten Daten sind entweder im Abfrageterm spezifiziert oder durch weitere Regeln des Programms erstellt. Im folgenden soll er auch Konstruktionsterm genannt werden.

                      SVG - Xcerpt - Regel

                      Verkettung

                      Mit Chaining oder Verkettung bezeichnet man die Strategie, welche zur Verknüpfung von Regeln eines funktionalen Programmes und der Ableitung logischer Folgerungen genutzt wird. Sie arbeiten transitiv, so daß das Ergebnis einer Regel als Grundlage einer weiteren Regel dienen kann.

                      Rückwärtsverkettung

                      Backward-Chaining oder auch abfragegetriebenes Vorgehen nutzt leicht verständliche, deklarative Vereinfachungssregeln. Es beginnt mit dem Anfrageteil eines Zieles und wählt davon ausgehend solche Regeln aus, welche für die Auflösung des Abfrageterms benötigt werden. Der aktuelle Abfrageterm wird durch den Zielterm der gewählten Regel ersetzt. Wenn ein erwartetes Ergebnis klein gegenüber der Anzahl der möglichen Regeln des gesamten Programmes ist, spart ein abfragegetriebenes Vorgehen so Resourcen.

                      Theoretisch ist das gesamte Web als Resource denkbar, da Suchräume durch frühzeitige Inkonsistenzprüfung reduziert und komplexe Berechnungen so lang wie möglich vermieden werden können.

                      SVG - Rückwärtskettung

                      Vorwärtsverkettung

                      Dem gegenüber steht das Forward-Chaining, welches ein datengetriebenes Vorgehen darstellt. Beginnend mit der initialen Datenbasis werden hier alle Regeln iterativ gegen die aktuelle Menge von Datentermen ausgewertet, bis eine Sättigung erreicht ist. Es besitzt also keine Regeldatenteile, welche nicht bereits abgeleitet wurden. Dieser Zustand wird als „Fixpunkt“ bezeichnet, welcher nicht unendlich sein darf. Im Falle eines Zyklus würde die Iteration niemals terminieren. Ebenfalls werden durch den fehlenden zielgetriebenen Ansatz Großteile der bearbeiteten Daten für die Abfrage meist nicht genutzt und sind uninteressant.

                      Verwendung findet Forward Chaining in regelbasierten Abfragesprachen für traditionelle Datenbanksysteme, beispielsweise zur Materialisierung von Sichten und zur Sichten-Pflege.

                      SVG - Vorwärtsverkettung

                      In auf das Web bezogenen Anwendungen können beide Techniken interessant sein. Mittels Forward-Chaining können Abfrageergebnisse materialisiert werden, beispielsweise zur Generierung statischer Web-Seiten aus einem informationshaltenden XML-Dokument und einem Abfrageprogramm, welches Layout-Informationen hinzufügt. Backward-Chaining ist nützlich, falls die genutzte Resource nicht lokal sondern im Web selbst zu finden ist. Es bildet die Grundlage von Xcerpt.

                      Regelkopf

                      Es existieren bis zu drei Regelarten innerhalb eines Xcerpt-Programmes, welche sich im Kopfbereich unterscheiden:

                      • Regeln für die Erstellung von Zwischenergebnissen, die als Konstruktionsregeln bei folgenden Abfragen als Quelle genutzt werden, sowie die
                      • abschliessende Regel (Goal), welche das finale Ergebnis des Programms produziert.

                      Da Xcerpt auf Rückwärtsverkettung basiert, tritt hauptsächlich die abfragegetrieben arbeitende „Construct“-Regel auf.

                      Regeln, welche datengetrieben zu Programmstart aufgelöst werden, sind durch „Materialise“ eingeleitet.

                      GOAL CONSTRUCT MATERIALISE
                      ghead chead mhead
                      FROM FROM FROM
                      gbody cbody mbody
                      END END END

                      ghead , rhead und mhead sind dabei die erwähnten Konstruktionsterme.

                      Ein GOAL-Kopf kann im Gegensatz zum CONSTRUCT-Kopf Informationen beinhalten, wohin der durch den Konstruktionsterm produzierte Datenterm ausgegeben werden sollte. Standardmäßig wird er im Xcerpt Datenterm-Dateiformat zur Standard-Ausgabe gesendet.

                      Regelkörper

                      gbody, rbody sowie mbody sind Abfrageterme. Sie stellen Muster dar, welche mit entsprechenden Datentermen, oftmals als XML-Daten repräsentiert, verglichen werden. Passende Resultate werden in einer (evtl. leeren) Menge von Bindungen für die Variablen der Abfrageterme repräsentiert. Eine Bindung assoziiert Datenterme mit den Variablen des Abfrageterms.

                      In der Logikprogrammierung wird dabei ein ähnliches Konzept als Unifikation bezeichnet. Während dort allerdings beide in die Unifikation einbezogenen Teile Terme beinhalten könnten, ist in Xcerpt eine der beiden Terme immer ein Datenterm (korrespondierend zu einem Grundterm in der Logik-Programmierung). Das Ergebnis einer Regel ist ein neuer Datenterm, erhalten durch Anwendung aller oder einiger Bindungen zum Kopf der Regel.

                      Dieser neue Datenterm kann im Körper einer anderen Regel abgefragt werden. Da der von der Regelanwendung resultierende, neue Term das selbe Format besitzt wie ein aus einer anderen Quelle entnommener Datenterm, kann man ihn in einer weiteren Regel weiterverarbeiten. Ein Regelkörper muss demnach nicht von einer Datei ausgelesen werden, sondern kann stattdessen Xerpt-Daten identifizieren, welche durch eine Konstrukt-Regel erstellt wurde. Dieses Rule-Chaining erhöht die Übersichtlichkeit im Code und damit die Nutzbarkeit für menschliche Nutzer.

                      Das Ergebnis einer GOAL - Zielregel wird entweder in eine Datei geschrieben oder am Bildschirm angezeigt, kann jedoch nicht für weitere Verkettungen genutzt werden.

                  Ein Xcerpt-Programm besteht aus einer Menge von Regeln, welche aus einem Körper und einem Kopf bestehen.

                  Der Körper einer Regel ist eine Abfrage (Query), welche mit einem Datenterm (XML-Daten) verglichen wird. Er wird im Folgenden auch als Abfrageterm bezeichnet.

                  Der Kopf nutzt die Ergebnisse des Matchings und bildet damit einen neuen Datenterm. Die ermittelten Daten sind entweder im Abfrageterm spezifiziert oder durch weitere Regeln des Programms erstellt. Im folgenden soll er auch Konstruktionsterm genannt werden.

                  SVG - Xcerpt - Regel

                  Verkettung

                  Mit Chaining oder Verkettung bezeichnet man die Strategie, welche zur Verknüpfung von Regeln eines funktionalen Programmes und der Ableitung logischer Folgerungen genutzt wird. Sie arbeiten transitiv, so daß das Ergebnis einer Regel als Grundlage einer weiteren Regel dienen kann.

                  Rückwärtsverkettung

                  Backward-Chaining oder auch abfragegetriebenes Vorgehen nutzt leicht verständliche, deklarative Vereinfachungssregeln. Es beginnt mit dem Anfrageteil eines Zieles und wählt davon ausgehend solche Regeln aus, welche für die Auflösung des Abfrageterms benötigt werden. Der aktuelle Abfrageterm wird durch den Zielterm der gewählten Regel ersetzt. Wenn ein erwartetes Ergebnis klein gegenüber der Anzahl der möglichen Regeln des gesamten Programmes ist, spart ein abfragegetriebenes Vorgehen so Resourcen.

                  Theoretisch ist das gesamte Web als Resource denkbar, da Suchräume durch frühzeitige Inkonsistenzprüfung reduziert und komplexe Berechnungen so lang wie möglich vermieden werden können.

                  SVG - Rückwärtskettung

                  Vorwärtsverkettung

                  Dem gegenüber steht das Forward-Chaining, welches ein datengetriebenes Vorgehen darstellt. Beginnend mit der initialen Datenbasis werden hier alle Regeln iterativ gegen die aktuelle Menge von Datentermen ausgewertet, bis eine Sättigung erreicht ist. Es besitzt also keine Regeldatenteile, welche nicht bereits abgeleitet wurden. Dieser Zustand wird als „Fixpunkt“ bezeichnet, welcher nicht unendlich sein darf. Im Falle eines Zyklus würde die Iteration niemals terminieren. Ebenfalls werden durch den fehlenden zielgetriebenen Ansatz Großteile der bearbeiteten Daten für die Abfrage meist nicht genutzt und sind uninteressant.

                  Verwendung findet Forward Chaining in regelbasierten Abfragesprachen für traditionelle Datenbanksysteme, beispielsweise zur Materialisierung von Sichten und zur Sichten-Pflege.

                  SVG - Vorwärtsverkettung

                  In auf das Web bezogenen Anwendungen können beide Techniken interessant sein. Mittels Forward-Chaining können Abfrageergebnisse materialisiert werden, beispielsweise zur Generierung statischer Web-Seiten aus einem informationshaltenden XML-Dokument und einem Abfrageprogramm, welches Layout-Informationen hinzufügt. Backward-Chaining ist nützlich, falls die genutzte Resource nicht lokal sondern im Web selbst zu finden ist. Es bildet die Grundlage von Xcerpt.

                  Regelkopf

                  Es existieren bis zu drei Regelarten innerhalb eines Xcerpt-Programmes, welche sich im Kopfbereich unterscheiden:

                  • Regeln für die Erstellung von Zwischenergebnissen, die als Konstruktionsregeln bei folgenden Abfragen als Quelle genutzt werden, sowie die
                  • abschliessende Regel (Goal), welche das finale Ergebnis des Programms produziert.

                  Da Xcerpt auf Rückwärtsverkettung basiert, tritt hauptsächlich die abfragegetrieben arbeitende „Construct“-Regel auf.

                  Regeln, welche datengetrieben zu Programmstart aufgelöst werden, sind durch „Materialise“ eingeleitet.

                  GOAL CONSTRUCT MATERIALISE
                  ghead chead mhead
                  FROM FROM FROM
                  gbody cbody mbody
                  END END END

                  ghead , rhead und mhead sind dabei die erwähnten Konstruktionsterme.

                  Ein GOAL-Kopf kann im Gegensatz zum CONSTRUCT-Kopf Informationen beinhalten, wohin der durch den Konstruktionsterm produzierte Datenterm ausgegeben werden sollte. Standardmäßig wird er im Xcerpt Datenterm-Dateiformat zur Standard-Ausgabe gesendet.

                  Regelkörper

                  gbody, rbody sowie mbody sind Abfrageterme. Sie stellen Muster dar, welche mit entsprechenden Datentermen, oftmals als XML-Daten repräsentiert, verglichen werden. Passende Resultate werden in einer (evtl. leeren) Menge von Bindungen für die Variablen der Abfrageterme repräsentiert. Eine Bindung assoziiert Datenterme mit den Variablen des Abfrageterms.

                  In der Logikprogrammierung wird dabei ein ähnliches Konzept als Unifikation bezeichnet. Während dort allerdings beide in die Unifikation einbezogenen Teile Terme beinhalten könnten, ist in Xcerpt eine der beiden Terme immer ein Datenterm (korrespondierend zu einem Grundterm in der Logik-Programmierung). Das Ergebnis einer Regel ist ein neuer Datenterm, erhalten durch Anwendung aller oder einiger Bindungen zum Kopf der Regel.

                  Dieser neue Datenterm kann im Körper einer anderen Regel abgefragt werden. Da der von der Regelanwendung resultierende, neue Term das selbe Format besitzt wie ein aus einer anderen Quelle entnommener Datenterm, kann man ihn in einer weiteren Regel weiterverarbeiten. Ein Regelkörper muss demnach nicht von einer Datei ausgelesen werden, sondern kann stattdessen Xerpt-Daten identifizieren, welche durch eine Konstrukt-Regel erstellt wurde. Dieses Rule-Chaining erhöht die Übersichtlichkeit im Code und damit die Nutzbarkeit für menschliche Nutzer.

                  Das Ergebnis einer GOAL - Zielregel wird entweder in eine Datei geschrieben oder am Bildschirm angezeigt, kann jedoch nicht für weitere Verkettungen genutzt werden.

              Ein Xcerpt-Programm besteht aus einer Menge von Regeln, welche aus einem Körper und einem Kopf bestehen.

              Der Körper einer Regel ist eine Abfrage (Query), welche mit einem Datenterm (XML-Daten) verglichen wird. Er wird im Folgenden auch als Abfrageterm bezeichnet.

              Der Kopf nutzt die Ergebnisse des Matchings und bildet damit einen neuen Datenterm. Die ermittelten Daten sind entweder im Abfrageterm spezifiziert oder durch weitere Regeln des Programms erstellt. Im folgenden soll er auch Konstruktionsterm genannt werden.

              SVG - Xcerpt - Regel

              Verkettung

              Mit Chaining oder Verkettung bezeichnet man die Strategie, welche zur Verknüpfung von Regeln eines funktionalen Programmes und der Ableitung logischer Folgerungen genutzt wird. Sie arbeiten transitiv, so daß das Ergebnis einer Regel als Grundlage einer weiteren Regel dienen kann.

              Rückwärtsverkettung

              Backward-Chaining oder auch abfragegetriebenes Vorgehen nutzt leicht verständliche, deklarative Vereinfachungssregeln. Es beginnt mit dem Anfrageteil eines Zieles und wählt davon ausgehend solche Regeln aus, welche für die Auflösung des Abfrageterms benötigt werden. Der aktuelle Abfrageterm wird durch den Zielterm der gewählten Regel ersetzt. Wenn ein erwartetes Ergebnis klein gegenüber der Anzahl der möglichen Regeln des gesamten Programmes ist, spart ein abfragegetriebenes Vorgehen so Resourcen.

              Theoretisch ist das gesamte Web als Resource denkbar, da Suchräume durch frühzeitige Inkonsistenzprüfung reduziert und komplexe Berechnungen so lang wie möglich vermieden werden können.

              SVG - Rückwärtskettung

              Vorwärtsverkettung

              Dem gegenüber steht das Forward-Chaining, welches ein datengetriebenes Vorgehen darstellt. Beginnend mit der initialen Datenbasis werden hier alle Regeln iterativ gegen die aktuelle Menge von Datentermen ausgewertet, bis eine Sättigung erreicht ist. Es besitzt also keine Regeldatenteile, welche nicht bereits abgeleitet wurden. Dieser Zustand wird als „Fixpunkt“ bezeichnet, welcher nicht unendlich sein darf. Im Falle eines Zyklus würde die Iteration niemals terminieren. Ebenfalls werden durch den fehlenden zielgetriebenen Ansatz Großteile der bearbeiteten Daten für die Abfrage meist nicht genutzt und sind uninteressant.

              Verwendung findet Forward Chaining in regelbasierten Abfragesprachen für traditionelle Datenbanksysteme, beispielsweise zur Materialisierung von Sichten und zur Sichten-Pflege.

              SVG - Vorwärtsverkettung

              In auf das Web bezogenen Anwendungen können beide Techniken interessant sein. Mittels Forward-Chaining können Abfrageergebnisse materialisiert werden, beispielsweise zur Generierung statischer Web-Seiten aus einem informationshaltenden XML-Dokument und einem Abfrageprogramm, welches Layout-Informationen hinzufügt. Backward-Chaining ist nützlich, falls die genutzte Resource nicht lokal sondern im Web selbst zu finden ist. Es bildet die Grundlage von Xcerpt.

              Regelkopf

              Es existieren bis zu drei Regelarten innerhalb eines Xcerpt-Programmes, welche sich im Kopfbereich unterscheiden:

              • Regeln für die Erstellung von Zwischenergebnissen, die als Konstruktionsregeln bei folgenden Abfragen als Quelle genutzt werden, sowie die
              • abschliessende Regel (Goal), welche das finale Ergebnis des Programms produziert.

              Da Xcerpt auf Rückwärtsverkettung basiert, tritt hauptsächlich die abfragegetrieben arbeitende „Construct“-Regel auf.

              Regeln, welche datengetrieben zu Programmstart aufgelöst werden, sind durch „Materialise“ eingeleitet.

              GOAL CONSTRUCT MATERIALISE
              ghead chead mhead
              FROM FROM FROM
              gbody cbody mbody
              END END END

              ghead , rhead und mhead sind dabei die erwähnten Konstruktionsterme.

              Ein GOAL-Kopf kann im Gegensatz zum CONSTRUCT-Kopf Informationen beinhalten, wohin der durch den Konstruktionsterm produzierte Datenterm ausgegeben werden sollte. Standardmäßig wird er im Xcerpt Datenterm-Dateiformat zur Standard-Ausgabe gesendet.

              Regelkörper

              gbody, rbody sowie mbody sind Abfrageterme. Sie stellen Muster dar, welche mit entsprechenden Datentermen, oftmals als XML-Daten repräsentiert, verglichen werden. Passende Resultate werden in einer (evtl. leeren) Menge von Bindungen für die Variablen der Abfrageterme repräsentiert. Eine Bindung assoziiert Datenterme mit den Variablen des Abfrageterms.

              In der Logikprogrammierung wird dabei ein ähnliches Konzept als Unifikation bezeichnet. Während dort allerdings beide in die Unifikation einbezogenen Teile Terme beinhalten könnten, ist in Xcerpt eine der beiden Terme immer ein Datenterm (korrespondierend zu einem Grundterm in der Logik-Programmierung). Das Ergebnis einer Regel ist ein neuer Datenterm, erhalten durch Anwendung aller oder einiger Bindungen zum Kopf der Regel.

              Dieser neue Datenterm kann im Körper einer anderen Regel abgefragt werden. Da der von der Regelanwendung resultierende, neue Term das selbe Format besitzt wie ein aus einer anderen Quelle entnommener Datenterm, kann man ihn in einer weiteren Regel weiterverarbeiten. Ein Regelkörper muss demnach nicht von einer Datei ausgelesen werden, sondern kann stattdessen Xerpt-Daten identifizieren, welche durch eine Konstrukt-Regel erstellt wurde. Dieses Rule-Chaining erhöht die Übersichtlichkeit im Code und damit die Nutzbarkeit für menschliche Nutzer.

              Das Ergebnis einer GOAL - Zielregel wird entweder in eine Datei geschrieben oder am Bildschirm angezeigt, kann jedoch nicht für weitere Verkettungen genutzt werden.

          Ein Xcerpt-Programm besteht aus einer Menge von Regeln, welche aus einem Körper und einem Kopf bestehen.

          Der Körper einer Regel ist eine Abfrage (Query), welche mit einem Datenterm (XML-Daten) verglichen wird. Er wird im Folgenden auch als Abfrageterm bezeichnet.

          Der Kopf nutzt die Ergebnisse des Matchings und bildet damit einen neuen Datenterm. Die ermittelten Daten sind entweder im Abfrageterm spezifiziert oder durch weitere Regeln des Programms erstellt. Im folgenden soll er auch Konstruktionsterm genannt werden.

          SVG - Xcerpt - Regel

          Verkettung

          Mit Chaining oder Verkettung bezeichnet man die Strategie, welche zur Verknüpfung von Regeln eines funktionalen Programmes und der Ableitung logischer Folgerungen genutzt wird. Sie arbeiten transitiv, so daß das Ergebnis einer Regel als Grundlage einer weiteren Regel dienen kann.

          Rückwärtsverkettung

          Backward-Chaining oder auch abfragegetriebenes Vorgehen nutzt leicht verständliche, deklarative Vereinfachungssregeln. Es beginnt mit dem Anfrageteil eines Zieles und wählt davon ausgehend solche Regeln aus, welche für die Auflösung des Abfrageterms benötigt werden. Der aktuelle Abfrageterm wird durch den Zielterm der gewählten Regel ersetzt. Wenn ein erwartetes Ergebnis klein gegenüber der Anzahl der möglichen Regeln des gesamten Programmes ist, spart ein abfragegetriebenes Vorgehen so Resourcen.

          Theoretisch ist das gesamte Web als Resource denkbar, da Suchräume durch frühzeitige Inkonsistenzprüfung reduziert und komplexe Berechnungen so lang wie möglich vermieden werden können.

          SVG - Rückwärtskettung

          Vorwärtsverkettung

          Dem gegenüber steht das Forward-Chaining, welches ein datengetriebenes Vorgehen darstellt. Beginnend mit der initialen Datenbasis werden hier alle Regeln iterativ gegen die aktuelle Menge von Datentermen ausgewertet, bis eine Sättigung erreicht ist. Es besitzt also keine Regeldatenteile, welche nicht bereits abgeleitet wurden. Dieser Zustand wird als „Fixpunkt“ bezeichnet, welcher nicht unendlich sein darf. Im Falle eines Zyklus würde die Iteration niemals terminieren. Ebenfalls werden durch den fehlenden zielgetriebenen Ansatz Großteile der bearbeiteten Daten für die Abfrage meist nicht genutzt und sind uninteressant.

          Verwendung findet Forward Chaining in regelbasierten Abfragesprachen für traditionelle Datenbanksysteme, beispielsweise zur Materialisierung von Sichten und zur Sichten-Pflege.

          SVG - Vorwärtsverkettung

          In auf das Web bezogenen Anwendungen können beide Techniken interessant sein. Mittels Forward-Chaining können Abfrageergebnisse materialisiert werden, beispielsweise zur Generierung statischer Web-Seiten aus einem informationshaltenden XML-Dokument und einem Abfrageprogramm, welches Layout-Informationen hinzufügt. Backward-Chaining ist nützlich, falls die genutzte Resource nicht lokal sondern im Web selbst zu finden ist. Es bildet die Grundlage von Xcerpt.

          Regelkopf

          Es existieren bis zu drei Regelarten innerhalb eines Xcerpt-Programmes, welche sich im Kopfbereich unterscheiden:

          • Regeln für die Erstellung von Zwischenergebnissen, die als Konstruktionsregeln bei folgenden Abfragen als Quelle genutzt werden, sowie die
          • abschliessende Regel (Goal), welche das finale Ergebnis des Programms produziert.

          Da Xcerpt auf Rückwärtsverkettung basiert, tritt hauptsächlich die abfragegetrieben arbeitende „Construct“-Regel auf.

          Regeln, welche datengetrieben zu Programmstart aufgelöst werden, sind durch „Materialise“ eingeleitet.

          GOAL CONSTRUCT MATERIALISE
          ghead chead mhead
          FROM FROM FROM
          gbody cbody mbody
          END END END

          ghead , rhead und mhead sind dabei die erwähnten Konstruktionsterme.

          Ein GOAL-Kopf kann im Gegensatz zum CONSTRUCT-Kopf Informationen beinhalten, wohin der durch den Konstruktionsterm produzierte Datenterm ausgegeben werden sollte. Standardmäßig wird er im Xcerpt Datenterm-Dateiformat zur Standard-Ausgabe gesendet.

          Regelkörper

          gbody, rbody sowie mbody sind Abfrageterme. Sie stellen Muster dar, welche mit entsprechenden Datentermen, oftmals als XML-Daten repräsentiert, verglichen werden. Passende Resultate werden in einer (evtl. leeren) Menge von Bindungen für die Variablen der Abfrageterme repräsentiert. Eine Bindung assoziiert Datenterme mit den Variablen des Abfrageterms.

          In der Logikprogrammierung wird dabei ein ähnliches Konzept als Unifikation bezeichnet. Während dort allerdings beide in die Unifikation einbezogenen Teile Terme beinhalten könnten, ist in Xcerpt eine der beiden Terme immer ein Datenterm (korrespondierend zu einem Grundterm in der Logik-Programmierung). Das Ergebnis einer Regel ist ein neuer Datenterm, erhalten durch Anwendung aller oder einiger Bindungen zum Kopf der Regel.

          Dieser neue Datenterm kann im Körper einer anderen Regel abgefragt werden. Da der von der Regelanwendung resultierende, neue Term das selbe Format besitzt wie ein aus einer anderen Quelle entnommener Datenterm, kann man ihn in einer weiteren Regel weiterverarbeiten. Ein Regelkörper muss demnach nicht von einer Datei ausgelesen werden, sondern kann stattdessen Xerpt-Daten identifizieren, welche durch eine Konstrukt-Regel erstellt wurde. Dieses Rule-Chaining erhöht die Übersichtlichkeit im Code und damit die Nutzbarkeit für menschliche Nutzer.

          Das Ergebnis einer GOAL - Zielregel wird entweder in eine Datei geschrieben oder am Bildschirm angezeigt, kann jedoch nicht für weitere Verkettungen genutzt werden.

      Ein Xcerpt-Programm besteht aus einer Menge von Regeln, welche aus einem Körper und einem Kopf bestehen.

      Der Körper einer Regel ist eine Abfrage (Query), welche mit einem Datenterm (XML-Daten) verglichen wird. Er wird im Folgenden auch als Abfrageterm bezeichnet.

      Der Kopf nutzt die Ergebnisse des Matchings und bildet damit einen neuen Datenterm. Die ermittelten Daten sind entweder im Abfrageterm spezifiziert oder durch weitere Regeln des Programms erstellt. Im folgenden soll er auch Konstruktionsterm genannt werden.

      SVG - Xcerpt - Regel

      Verkettung

      Mit Chaining oder Verkettung bezeichnet man die Strategie, welche zur Verknüpfung von Regeln eines funktionalen Programmes und der Ableitung logischer Folgerungen genutzt wird. Sie arbeiten transitiv, so daß das Ergebnis einer Regel als Grundlage einer weiteren Regel dienen kann.

      Rückwärtsverkettung

      Backward-Chaining oder auch abfragegetriebenes Vorgehen nutzt leicht verständliche, deklarative Vereinfachungssregeln. Es beginnt mit dem Anfrageteil eines Zieles und wählt davon ausgehend solche Regeln aus, welche für die Auflösung des Abfrageterms benötigt werden. Der aktuelle Abfrageterm wird durch den Zielterm der gewählten Regel ersetzt. Wenn ein erwartetes Ergebnis klein gegenüber der Anzahl der möglichen Regeln des gesamten Programmes ist, spart ein abfragegetriebenes Vorgehen so Resourcen.

      Theoretisch ist das gesamte Web als Resource denkbar, da Suchräume durch frühzeitige Inkonsistenzprüfung reduziert und komplexe Berechnungen so lang wie möglich vermieden werden können.

      SVG - Rückwärtskettung

      Vorwärtsverkettung

      Dem gegenüber steht das Forward-Chaining, welches ein datengetriebenes Vorgehen darstellt. Beginnend mit der initialen Datenbasis werden hier alle Regeln iterativ gegen die aktuelle Menge von Datentermen ausgewertet, bis eine Sättigung erreicht ist. Es besitzt also keine Regeldatenteile, welche nicht bereits abgeleitet wurden. Dieser Zustand wird als „Fixpunkt“ bezeichnet, welcher nicht unendlich sein darf. Im Falle eines Zyklus würde die Iteration niemals terminieren. Ebenfalls werden durch den fehlenden zielgetriebenen Ansatz Großteile der bearbeiteten Daten für die Abfrage meist nicht genutzt und sind uninteressant.

      Verwendung findet Forward Chaining in regelbasierten Abfragesprachen für traditionelle Datenbanksysteme, beispielsweise zur Materialisierung von Sichten und zur Sichten-Pflege.

      SVG - Vorwärtsverkettung

      In auf das Web bezogenen Anwendungen können beide Techniken interessant sein. Mittels Forward-Chaining können Abfrageergebnisse materialisiert werden, beispielsweise zur Generierung statischer Web-Seiten aus einem informationshaltenden XML-Dokument und einem Abfrageprogramm, welches Layout-Informationen hinzufügt. Backward-Chaining ist nützlich, falls die genutzte Resource nicht lokal sondern im Web selbst zu finden ist. Es bildet die Grundlage von Xcerpt.

      Regelkopf

      Es existieren bis zu drei Regelarten innerhalb eines Xcerpt-Programmes, welche sich im Kopfbereich unterscheiden:

      • Regeln für die Erstellung von Zwischenergebnissen, die als Konstruktionsregeln bei folgenden Abfragen als Quelle genutzt werden, sowie die
      • abschliessende Regel (Goal), welche das finale Ergebnis des Programms produziert.

      Da Xcerpt auf Rückwärtsverkettung basiert, tritt hauptsächlich die abfragegetrieben arbeitende „Construct“-Regel auf.

      Regeln, welche datengetrieben zu Programmstart aufgelöst werden, sind durch „Materialise“ eingeleitet.

      GOAL CONSTRUCT MATERIALISE
      ghead chead mhead
      FROM FROM FROM
      gbody cbody mbody
      END END END

      ghead , rhead und mhead sind dabei die erwähnten Konstruktionsterme.

      Ein GOAL-Kopf kann im Gegensatz zum CONSTRUCT-Kopf Informationen beinhalten, wohin der durch den Konstruktionsterm produzierte Datenterm ausgegeben werden sollte. Standardmäßig wird er im Xcerpt Datenterm-Dateiformat zur Standard-Ausgabe gesendet.

      Regelkörper

      gbody, rbody sowie mbody sind Abfrageterme. Sie stellen Muster dar, welche mit entsprechenden Datentermen, oftmals als XML-Daten repräsentiert, verglichen werden. Passende Resultate werden in einer (evtl. leeren) Menge von Bindungen für die Variablen der Abfrageterme repräsentiert. Eine Bindung assoziiert Datenterme mit den Variablen des Abfrageterms.

      In der Logikprogrammierung wird dabei ein ähnliches Konzept als Unifikation bezeichnet. Während dort allerdings beide in die Unifikation einbezogenen Teile Terme beinhalten könnten, ist in Xcerpt eine der beiden Terme immer ein Datenterm (korrespondierend zu einem Grundterm in der Logik-Programmierung). Das Ergebnis einer Regel ist ein neuer Datenterm, erhalten durch Anwendung aller oder einiger Bindungen zum Kopf der Regel.

      Dieser neue Datenterm kann im Körper einer anderen Regel abgefragt werden. Da der von der Regelanwendung resultierende, neue Term das selbe Format besitzt wie ein aus einer anderen Quelle entnommener Datenterm, kann man ihn in einer weiteren Regel weiterverarbeiten. Ein Regelkörper muss demnach nicht von einer Datei ausgelesen werden, sondern kann stattdessen Xerpt-Daten identifizieren, welche durch eine Konstrukt-Regel erstellt wurde. Dieses Rule-Chaining erhöht die Übersichtlichkeit im Code und damit die Nutzbarkeit für menschliche Nutzer.

      Das Ergebnis einer GOAL - Zielregel wird entweder in eine Datei geschrieben oder am Bildschirm angezeigt, kann jedoch nicht für weitere Verkettungen genutzt werden.

Ein Xcerpt-Programm besteht aus einer Menge von Regeln, welche aus einem Körper und einem Kopf bestehen.

Der Körper einer Regel ist eine Abfrage (Query), welche mit einem Datenterm (XML-Daten) verglichen wird. Er wird im Folgenden auch als Abfrageterm bezeichnet.

Der Kopf nutzt die Ergebnisse des Matchings und bildet damit einen neuen Datenterm. Die ermittelten Daten sind entweder im Abfrageterm spezifiziert oder durch weitere Regeln des Programms erstellt. Im folgenden soll er auch Konstruktionsterm genannt werden.

SVG - Xcerpt - Regel

Verkettung

Mit Chaining oder Verkettung bezeichnet man die Strategie, welche zur Verknüpfung von Regeln eines funktionalen Programmes und der Ableitung logischer Folgerungen genutzt wird. Sie arbeiten transitiv, so daß das Ergebnis einer Regel als Grundlage einer weiteren Regel dienen kann.

Rückwärtsverkettung

Backward-Chaining oder auch abfragegetriebenes Vorgehen nutzt leicht verständliche, deklarative Vereinfachungssregeln. Es beginnt mit dem Anfrageteil eines Zieles und wählt davon ausgehend solche Regeln aus, welche für die Auflösung des Abfrageterms benötigt werden. Der aktuelle Abfrageterm wird durch den Zielterm der gewählten Regel ersetzt. Wenn ein erwartetes Ergebnis klein gegenüber der Anzahl der möglichen Regeln des gesamten Programmes ist, spart ein abfragegetriebenes Vorgehen so Resourcen.

Theoretisch ist das gesamte Web als Resource denkbar, da Suchräume durch frühzeitige Inkonsistenzprüfung reduziert und komplexe Berechnungen so lang wie möglich vermieden werden können.

SVG - Rückwärtskettung

Vorwärtsverkettung

Dem gegenüber steht das Forward-Chaining, welches ein datengetriebenes Vorgehen darstellt. Beginnend mit der initialen Datenbasis werden hier alle Regeln iterativ gegen die aktuelle Menge von Datentermen ausgewertet, bis eine Sättigung erreicht ist. Es besitzt also keine Regeldatenteile, welche nicht bereits abgeleitet wurden. Dieser Zustand wird als „Fixpunkt“ bezeichnet, welcher nicht unendlich sein darf. Im Falle eines Zyklus würde die Iteration niemals terminieren. Ebenfalls werden durch den fehlenden zielgetriebenen Ansatz Großteile der bearbeiteten Daten für die Abfrage meist nicht genutzt und sind uninteressant.

Verwendung findet Forward Chaining in regelbasierten Abfragesprachen für traditionelle Datenbanksysteme, beispielsweise zur Materialisierung von Sichten und zur Sichten-Pflege.

SVG - Vorwärtsverkettung

In auf das Web bezogenen Anwendungen können beide Techniken interessant sein. Mittels Forward-Chaining können Abfrageergebnisse materialisiert werden, beispielsweise zur Generierung statischer Web-Seiten aus einem informationshaltenden XML-Dokument und einem Abfrageprogramm, welches Layout-Informationen hinzufügt. Backward-Chaining ist nützlich, falls die genutzte Resource nicht lokal sondern im Web selbst zu finden ist. Es bildet die Grundlage von Xcerpt.

Regelkopf

Es existieren bis zu drei Regelarten innerhalb eines Xcerpt-Programmes, welche sich im Kopfbereich unterscheiden:

  • Regeln für die Erstellung von Zwischenergebnissen, die als Konstruktionsregeln bei folgenden Abfragen als Quelle genutzt werden, sowie die
  • abschliessende Regel (Goal), welche das finale Ergebnis des Programms produziert.

Da Xcerpt auf Rückwärtsverkettung basiert, tritt hauptsächlich die abfragegetrieben arbeitende „Construct“-Regel auf.

Regeln, welche datengetrieben zu Programmstart aufgelöst werden, sind durch „Materialise“ eingeleitet.

GOAL CONSTRUCT MATERIALISE
ghead chead mhead
FROM FROM FROM
gbody cbody mbody
END END END

ghead , rhead und mhead sind dabei die erwähnten Konstruktionsterme.

Ein GOAL-Kopf kann im Gegensatz zum CONSTRUCT-Kopf Informationen beinhalten, wohin der durch den Konstruktionsterm produzierte Datenterm ausgegeben werden sollte. Standardmäßig wird er im Xcerpt Datenterm-Dateiformat zur Standard-Ausgabe gesendet.

Regelkörper

gbody, rbody sowie mbody sind Abfrageterme. Sie stellen Muster dar, welche mit entsprechenden Datentermen, oftmals als XML-Daten repräsentiert, verglichen werden. Passende Resultate werden in einer (evtl. leeren) Menge von Bindungen für die Variablen der Abfrageterme repräsentiert. Eine Bindung assoziiert Datenterme mit den Variablen des Abfrageterms.

In der Logikprogrammierung wird dabei ein ähnliches Konzept als Unifikation bezeichnet. Während dort allerdings beide in die Unifikation einbezogenen Teile Terme beinhalten könnten, ist in Xcerpt eine der beiden Terme immer ein Datenterm (korrespondierend zu einem Grundterm in der Logik-Programmierung). Das Ergebnis einer Regel ist ein neuer Datenterm, erhalten durch Anwendung aller oder einiger Bindungen zum Kopf der Regel.

Dieser neue Datenterm kann im Körper einer anderen Regel abgefragt werden. Da der von der Regelanwendung resultierende, neue Term das selbe Format besitzt wie ein aus einer anderen Quelle entnommener Datenterm, kann man ihn in einer weiteren Regel weiterverarbeiten. Ein Regelkörper muss demnach nicht von einer Datei ausgelesen werden, sondern kann stattdessen Xerpt-Daten identifizieren, welche durch eine Konstrukt-Regel erstellt wurde. Dieses Rule-Chaining erhöht die Übersichtlichkeit im Code und damit die Nutzbarkeit für menschliche Nutzer.

Das Ergebnis einer GOAL - Zielregel wird entweder in eine Datei geschrieben oder am Bildschirm angezeigt, kann jedoch nicht für weitere Verkettungen genutzt werden.

top