Sprache der Semantic-Web-Regeln - Semantic Web Rule Language

Die Semantic Web Rule Language ( SWRL ) ist eine vorgeschlagene Sprache für das Semantic Web , die verwendet werden kann, um sowohl Regeln als auch Logik auszudrücken, indem sie OWL DL oder OWL Lite mit einer Teilmenge der Rule Markup Language (selbst eine Teilmenge von Datalog ) kombiniert .

Die Spezifikation wurde im Mai 2004 vom National Research Council of Canada , Network Inference (seitdem von webMethods übernommen ) und der Stanford University in Zusammenarbeit mit dem Joint US/EU Ad-hoc Agent Markup Language Committee beim W3C eingereicht . Die Spezifikation basierte auf einem früheren Vorschlag für eine OWL-Regelsprache.

SWRL hat die volle Leistung von OWL DL, jedoch auf Kosten der Entscheidbarkeit und praktischen Umsetzung. Die Entscheidbarkeit lässt sich jedoch durch eine Beschränkung der Form zulässiger Regeln, typischerweise durch Auferlegen einer geeigneten Sicherheitsbedingung, zurückgewinnen.

Regeln haben die Form einer Implikation zwischen einem Antezedens (Körper) und einem Konsequenz (Kopf). Die beabsichtigte Bedeutung kann wie folgt gelesen werden: Immer wenn die Bedingungen des Antezedens gelten, müssen auch die Bedingungen des Konsequenten gelten.

Beispiel

Für Menschen lesbare Syntax

hasParent(?x1,?x2) ∧ hasBrother(?x2,?x3) ⇒ hasUncle(?x1,?x3)

Konkrete XML-Syntax

Die XML Concrete Syntax ist eine Kombination der XML-Präsentationssyntax der OWL Web Ontology Language mit der RuleML XML-Syntax .

 <ruleml:imp> 
  <ruleml:_rlab ruleml:href="#example1"/>
  <ruleml:_body> 
    <swrlx:individualPropertyAtom  swrlx:property="hasParent"> 
      <ruleml:var>x1</ruleml:var>
      <ruleml:var>x2</ruleml:var>
    </swrlx:individualPropertyAtom> 
    <swrlx:individualPropertyAtom  swrlx:property="hasBrother"> 
      <ruleml:var>x2</ruleml:var>
      <ruleml:var>x3</ruleml:var>
    </swrlx:individualPropertyAtom> 
  </ruleml:_body> 
  <ruleml:_head> 
    <swrlx:individualPropertyAtom  swrlx:property="hasUncle"> 
      <ruleml:var>x1</ruleml:var>
      <ruleml:var>x3</ruleml:var>
    </swrlx:individualPropertyAtom> 
  </ruleml:_head> 
 </ruleml:imp>

RDF konkrete Syntax

Es ist einfach, eine solche konkrete RDF -Syntax für Regeln bereitzustellen , aber das Vorhandensein von Variablen in Regeln geht über die RDF-Semantik hinaus. Die Übersetzung von der XML-Konkreten Syntax in RDF/XML könnte leicht erreicht werden, indem die XSLT- Transformation für die OWL XML-Präsentationssyntax erweitert wird.

Implementierungen

Vorbehalt: Reasoner unterstützen die vollständige Spezifikation nicht, da die Argumentation unentscheidbar wird. Es kann drei Arten von Ansätzen geben:

  1. SWRL in Logik erster Ordnung (Hoolet) übersetzen und Argumentationsaufgaben mit einem Theorembeweiser demonstrieren;
  2. Übersetzen Sie OWL-DL in Regeln und geben Sie die Regeln an eine Vorwärtsverkettungs-Engine (Bossam) (dieser Ansatz kann aufgrund vieler Inkompatibilitäten zwischen Beschreibungslogik und Hornregelformalismen nicht die volle Expressivität von OWL-DL abdecken)
  3. Erweitern eines bestehenden OWL-DL-Begründers basierend auf dem Tableaux-Algorithmus (Pellet).
  • Protégé 4.2 enthält eine Regelansicht in seinen Ontologieansichten, die SWRL-Regeln unterstützt.
  • Für ältere Versionen von Protégé ist SWRLTab eine Erweiterung, die das Bearbeiten und Ausführen von SWRL-Regeln unterstützt. [1]
  • R2ML (REWERSE Rule Markup Language) unterstützt SWRL. [2]
  • Bossam , eine Vorwärtsverkettungsregel- Engine, unterstützt SWRL. [3]
  • Hoolet , eine Implementierung eines OWL-DL-Begründers, der einen Beweiser erster Ordnung verwendet, unterstützt SWRL. [4]
  • Pellet , ein Open-Source Java OWL DL Reasoner, hat SWRL-Unterstützung. [5]
  • KAON2 ist eine Infrastruktur zur Verwaltung von OWL-DL-, SWRL- und F-Logic-Ontologien. [6]
  • RacerPro unterstützt die Verarbeitung von Regeln in einer SWRL-basierten Syntax, indem sie in nRQL-Regeln übersetzt werden [7]
  • RDFox ist ein leistungsstarker, skalierbarer In-Memory- Wissensgraph und eine Datalog-Schlußfolgerungs-Engine, die SWRL unterstützt. Entwickelt von Oxford Semantic Technologies. [8]
  • Stardog ist eine RDF-Datenbank oder ein Triplestore , die Abfragen umschreibt, um Fragen mithilfe von SWRL-Inferenzen zu beantworten. [9]
Bossam Hoolet Pellet
SWRL/OWLX-Parser Ja ? ?
SWRL/RDF-Parser Ja ? Ja
Math Built-Ins Teilweise ? Ja
String-Einbauten Teilweise ? Ja
Vergleich Built-Ins ? ? Ja
Boolesche Built-Ins ? ? Ja
Datum, Uhrzeit und Dauer Built-Ins ? ? Nein
URI-Einbauten ? ? Ja
Listet Built-Ins auf ? ? Nein
Lizenzierung Kostenlose/geschlossene Quelle Kostenlos/Open-Source Kostenlos/Open-Source

Vergleich mit Beschreibungslogikprogrammen

Description Logic Programs (DLPs) sind ein weiterer Vorschlag zur Integration von Regeln und OWL. Im Vergleich zu Description Logic Programs verfolgt SWRL einen diametral entgegengesetzten Integrationsansatz. DLP ist die Schnittmenge von Horn-Logik und OWL, während SWRL (ungefähr) die Vereinigung von ihnen ist. In DLP ist die resultierende Sprache eine sehr eigenartig aussehende Beschreibungslogik und insgesamt eine eher ausdruckslose Sprache.

Siehe auch

Verweise

Externe Links