Język reguł sieci semantycznej — Semantic Web Rule Language

Semantic Web Rule Language ( SWRL ) jest proponowany język dla Semantic Web , które mogą być używane do wyrażenia zasady, jak i logiki, łącząc OWL DL lub OWL Lite z podzbioru Rule Markup Language (sama podzbiorem Datalogu ).

Specyfikacja została przedłożona w maju 2004 do W3C przez National Research Council of Canada , Network Inference (odkąd została przejęta przez webMethods ) i Stanford University we współpracy ze Wspólną amerykańsko-europejską komisją ad hoc Agent Markup Language Committee. Specyfikacja została oparta na wcześniejszej propozycji języka reguł OWL.

SWRL ma pełną moc OWL DL, ale za cenę rozstrzygalności i praktycznych wdrożeń. Rozstrzygalność można jednak odzyskać, ograniczając formę dopuszczalnych zasad, zazwyczaj przez nałożenie odpowiedniego warunku bezpieczeństwa.

Reguły mają formę implikacji między poprzednikiem (ciało) a następnikiem (głowa). Zamierzone znaczenie można odczytywać jako: ilekroć warunki określone w poprzedniku są spełnione, to warunki określone w następniku również muszą być spełnione.

Przykład

Składnia czytelna dla człowieka

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

Konkretna składnia XML

XML Beton Składnia jest kombinacją OWL Web Ontologia Języka XML Presentation Składnia z RuleML składni XML .

 <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>

Składnia betonu RDF

Łatwo jest zapewnić taką konkretną składnię RDF dla reguł, ale obecność zmiennych w regułach wykracza poza semantykę RDF. Tłumaczenie z konkretnej składni XML na RDF/XML może być łatwo wykonane przez rozszerzenie transformacji XSLT dla składni OWL XML Presentation.

Realizacje

Zastrzeżenie: Rozumujący nie popierają pełnej specyfikacji, ponieważ rozumowanie staje się nierozstrzygnięte. Mogą być trzy rodzaje podejścia:

  1. przetłumacz SWRL na logikę pierwszego rzędu (Hoolet) i zademonstruj zadania rozumowania za pomocą dowodzenia twierdzeń;
  2. przetłumacz OWL-DL na reguły i przekaż reguły do ​​silnika łańcuchowego w przód (Bossam) (to podejście nie może objąć pełnej ekspresji OWL-DL z powodu wielu niezgodności między formalizmami Logiki Opisu i Reguły Horna)
  3. rozwiń istniejący system wnioskowania OWL-DL oparty na algorytmie tableaux (Pellet).
  • Protégé 4.2 zawiera widok Reguły w swoich Widokach Ontologii, który obsługuje reguły SWRL.
  • W przypadku starszych wersji Protégé SWRLTab jest rozszerzeniem obsługującym edycję i wykonywanie reguł SWRL. [1]
  • R2ML (REWERSE Rule Markup Language) obsługuje SWRL. [2]
  • Bossam , mechanizm reguł łączenia w przód obsługuje SWRL. [3]
  • Hoolet , implementacja wnioskowania OWL-DL, która używa weryfikatora pierwszego rzędu obsługuje SWRL. [4]
  • Pellet , open-source Java OWL DL Reasoner ma obsługę SWRL. [5]
  • KAON2 to infrastruktura do zarządzania ontologiami OWL-DL, SWRL i F-Logic. [6]
  • RacerPro , obsługuje przetwarzanie reguł w składni opartej na SWRL, tłumacząc je na reguły nRQL [7]
  • RDFox to wysokowydajny, skalowalny wykres wiedzy w pamięci i silnik wnioskowania Datalog, który obsługuje SWRL. Opracowany przez Oxford Semantic Technologies. [8]
  • Stardog to baza danych RDF lub triplestore, która przepisuje zapytania, aby odpowiedzieć na pytania za pomocą wnioskowania SWRL. [9]
Bossam Hoolet Śrut
Analizator SWRL/OWLX tak ? ?
Analizator SWRL/RDF tak ? tak
Wbudowane funkcje matematyczne Częściowy ? tak
Wbudowane ciągi Częściowy ? tak
Porównanie wbudowane ? ? tak
Wbudowane wartości logiczne ? ? tak
Wbudowana data, godzina i czas trwania ? ? Nie
Wbudowane URI ? ? tak
Listy wbudowane ? ? Nie
Koncesjonowanie Bezpłatne/zamknięte źródło Bezpłatne/open-source Bezpłatne/open-source

Porównanie z programami opisującymi logikę

Opis Programy logiczne (DLP) to kolejna propozycja integracji reguł i OWL. W porównaniu z programami opisującymi, SWRL przyjmuje diametralnie przeciwne podejście do integracji. DLP jest skrzyżowaniem logiki Horna i OWL, podczas gdy SWRL jest (w przybliżeniu) ich połączeniem. W DLP język wynikowy jest bardzo dziwnie wyglądającą logiką opisu i ogólnie raczej niewyrażalnym językiem.

Zobacz też

Bibliografia

Linki zewnętrzne