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:
- SWRL in Logik erster Ordnung (Hoolet) übersetzen und Argumentationsaufgaben mit einem Theorembeweiser demonstrieren;
- Ü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)
- 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
- Beschreibung Logik
- Web-Ontologie-Sprache - "OWL"
- Datalog (Abfrage- und Regelsprache)
- Semantisches Web
- Semantisches Gitter
- Ontologie (Informatik)
- Business Intelligence 2.0 (BI 2.0)
- Semantisches Wiki
Verweise
Externe Links
- SWRL: A Semantic Web Rule Language Combining OWL and RuleML , W3C Member Submission 21. Mai 2004
- Ein Vorschlag für eine SWRL-Erweiterung in Richtung Logik erster Ordnung , Einreichung durch W3C-Mitglieder am 11. April 2005
- OWL Web Ontology Language XML-Präsentationssyntax , W3C-Anmerkung 11. Juni 2003