Regelaustauschformat

Das Rule Interchange Format (RIF) ist eine Empfehlung des W3C. RIF ist Teil der Semantic Web Roadmap , hauptsächlich mit SPARQL , RDF und OWL . Obwohl ursprünglich von vielen als "logische Regelschicht" für das Semantic Web gedacht, basiert das Design des RIF in Wirklichkeit auf der Beobachtung, dass es viele "Regelsprachen" gibt und dass Regeln zwischen ihnen ausgetauscht werden müssen.

RIF umfasst drei Dialekte, einen Kerndialekt, einen Basislogikdialekt (BLD) und den Produktionsregeldialekt (PRD).

Historisch

Die RIF-Arbeitsgruppe wurde Ende 2005 ins Leben gerufen. Eines ihrer Ziele ist es, Befürworter von Regeln für kommerzielle Märkte zu gewinnen. Die Arbeitsgruppe beginnt mit über 50 Mitgliedern, darunter 2 aus der Industrie, Christian de Sainte-Marie von ILOG und Chris Welty von IBM . Die Charta zur Entwicklung eines Austauschformats zwischen bestehenden Regelsystemen wird von einem Sommerseminar 2005 beeinflusst, für das klar war, dass eine einsprachige Regel nicht den Bedürfnissen interessierter Parteien entsprechen würde (Dr. Welty beschreibt das Ergebnis dieses Seminars als solches ein Nash-Gleichgewicht ).

RIF wurde eine W3C-Empfehlung am 22. Juni 2010.

Regeln und Regelsysteme

Eine Regel ist vielleicht eine der einfachsten Begriffe in der Informatik: Es ist ein IF (IF) - THEN (THEN) -Konstrukt. Wenn bestimmte Bedingungen (im IF-Teil) mit bestimmten Daten überprüfbar sind, wird die Schlussfolgerung (der THEN-Teil) verarbeitet. Von der Logik abgeleitet , verwenden Regelsysteme den Begriff der Prädikate, der den Rückschluss auf Daten oder Objekte ermöglicht oder nicht. Zum Beispiel kann die Tatsache, dass zwei Personen verheiratet sind, mit Prädikaten wie MARRIED (LISA, JOHN) dargestellt werden . MARIÉ ist ein Prädikat, das einen Rückschluss zwischen LISA und JOHN bietet . Durch Hinzufügen des Begriffs "Variablen" kann eine Regel folgendermaßen aussehen:

SI ''MARIÉ(?x, ?y)'' ALORS ''AIME(?x, ?y)''

Für jedes Paar von? X und? Y (zum Beispiel LISA und JOHN ), auf das das Prädikat MARRIED angewendet wird, kann ein Computersystem mit dieser Regel ableiten, dass das AIME- Prädikat für das Paar? X und? Y gilt.

Regeln sind eine einfache Möglichkeit, Wissen darzustellen, und eine radikale Vereinfachung der Logik erster Ordnung, für die es relativ einfach ist, Inferenz-Engines zu implementieren, die Bedingungen verarbeiten und gute Schlussfolgerungen ziehen können. Ein Regelsystem ist eine bestimmte Implementierung einer Regelsyntax und -semantik , die von dem oben beschriebenen einfachen Begriff Folgendes umfassen kann:

Regelsysteme werden seit Mitte der 1970er Jahre angewendet und untersucht und wurden in den 1980er Jahren mit dem Aufkommen von Expertensystemen weit verbreitet .

RIF-Standarddialekte

Die Standard-RIF-Dialekte sind Core, BLD und PRD. Diese Dialekte hängen von einer umfangreichen Liste von Datentypen mit integrierten und beabsichtigten Funktionen für diese Datentypen ab.

Die Beziehungen zwischen den verschiedenen RIF-Dialekten sind im Venn-Diagramm dargestellt.

DTB

Ader

FLD

BLD

PRD

Beispiel (Beispiel 1.2 in)

Prefix(ex <http://example.com/2008/prd1#>) (* ex:rule_1 *) Forall ?customer ?purchasesYTD ( If And( ?customer#ex:Customer ?customer[ex:purchasesYTD->?purchasesYTD] External(pred:numeric-greater-than(?purchasesYTD 5000)) ) Then Do( Modify(?customer[ex:status->"Gold"]) ) )

Nicht standardmäßige RIF-Dialekte

CASPD

Beispiel:

Document( Prefix(ex <http://example.com/concepts#>) Group ( Forall ?S ( ex:afraid(?S ex:Math) :- And ( ?S#ex:Student (Naf Neg ex:afraid(?S ex:Math)) ) ) Forall ?S ( Neg ex:afraid(?S ex:Math) :- And ( ?S#ex:Student ?S[ex:majors -> ex:Math] ) ) )

URD

Beispiel:

Document( Import (<http://example.org/fuzzy/membershipfunction >) Group ( Forall ?x ?y( cheapFlight(?x ?y) :- affordableFlight(?x ?y) ) / 0.4 Forall ?x ?y(affordableFlight(?x ?y)) / left_shoulder0k4k1k3k(?y) ) )

DIE SEIDE

Beispiel

Document { Prefix(foaf http://xmlns.com/foaf/0.1/) Prefix(pub http://example.org/pub#) Prefix(silk http://TBD/silk#) Group { (* r1 *) Forall ?a1 ?a2 ?paper (?a1[foaf:knows->?a2]  :- ?paper # pub:Publication[pub:author->?a1, pub:author->?a2}]) (* r2 *) Forall ?a1 ?a2 (neg ?a1[foaf:knows->?a2]  :- ?a1[hasNeverMet->?a2]) silk:overrides(r2, r1) } }

Verweise

  1. Kifer, Michael (2008). " Regelaustauschformat: Das Framework ". in: Web Reasoning und Regelsysteme. Vorlesungsunterlagen in Informatik
  2. http://www.w3.org/TR/2010/NOTE-rif-overview-20100622/
  3. https://www.w3.org/2005/rules/wiki/images/b/b0/W3C_RIF-CW-9-09.pdf
  4. http://www.w3.org/TR/2010/REC-rif-core-20100622/
  5. https://www.w3.org/TR/rif-ucr/#Structure_of_RIF
  6. RIF-PRD-Spezifikation

Externe Links