Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:2009:miw09_swrltrans:prezentacja [2009/06/09 17:58] mikel |
pl:miw:2009:miw09_swrltrans:prezentacja [2019/06/27 15:50] (aktualna) |
| |
===== Wprowadzenie do SWRL ==== | ===== Wprowadzenie do SWRL ==== |
//[[http://www.w3.org/Submission/SWRL/#1|Introduction]]// | |
| |
| |
Semantic Web Rule Language (SWRL) jest propozycją języka, który bazuje na kombinacji OWL DL i OWL Lite, czyli podjęzyków [[http://www.w3.org/2001/sw/WebOnt/|OWL Web Ontology Language]] z pojedynczymi/binarnymi [[http://en.wikipedia.org/wiki/Datalog|datalogami]] języka RuleML. | Semantic Web Rule Language (SWRL) jest propozycją języka, który bazuje na kombinacji OWL DL i OWL Lite, czyli podjęzyków [[http://www.w3.org/2001/sw/WebOnt/|OWL Web Ontology Language]] z pojedynczymi/binarnymi [[http://en.wikipedia.org/wiki/Datalog|datalogami]] języka RuleML. |
Propozycja rozszerza zbiór aksjomatów OWL tak, by zawierał reguły podobne do reguł Horna. Reguły te mogą więc być łączone z bazą wiedzy OWL. | Propozycja rozszerza zbiór aksjomatów OWL tak, by zawierał reguły podobne do reguł Horna. Reguły te mogą więc być łączone z bazą wiedzy OWL. |
| |
===== Składnia XML ===== | ===== Składnia XML ===== |
//[[http://www.w3.org/Submission/SWRL/#5|XML Concrete Syntax]]// | |
| |
Składnia XML dla SWRL jest kombinacją [[http://www.w3.org/TR/owl-xmlsyntax/|OWL Web Ontology Language XML]] z [[http://www.ruleml.org/|RuleML XML]]. | Składnia XML dla SWRL jest kombinacją [[http://www.w3.org/TR/owl-xmlsyntax/|OWL Web Ontology Language XML]] z [[http://www.ruleml.org/|RuleML XML]]. |
\\ | \\ |
=====Wady SWRL===== | =====Wady SWRL===== |
//[[http://vistology.com/papers/SWRLp.PDF]]//\\ | |
* konieczność transformacji na predykaty binarne (SWRL jest zgodne z OWL, który zabrania używania predykatów złożonych ("higher-order"). Zwiększa nieczytelność, wydłuża XML, | * konieczność transformacji na predykaty binarne (SWRL jest zgodne z OWL, który zabrania używania predykatów złożonych ("higher-order"). Zwiększa nieczytelność, wydłuża XML, |
* rozróżnianie predykatów reprezentujących: classAtom, individualPropertyAtom, datavaluedPropertyAtom. Wydłuża XML, | * rozróżnianie predykatów reprezentujących: classAtom, individualPropertyAtom, datavaluedPropertyAtom. Wydłuża XML, |
* mieszanie ruleml, swrlx, swrlb i owlx. W każdym elemencie trzeba określić przestrzeń nazw. Wydłuża XML, | * mieszanie ruleml, swrlx, swrlb i owlx. W każdym elemencie trzeba określić przestrzeń nazw. Wydłuża XML, |
* nie można korzystać z predykatów definiowanych zewnętrznie jak ma to miejsce w RIF [[http://www.w3.org/2005/rules/wg/draft/rif-dtb/#Appendix:_Schemas_for_Externally_Defined_Terms]]. | * nie można korzystać z predykatów definiowanych zewnętrznie jak ma to miejsce w RIF |
* SWRL nie obsługuje ani negacji, ani alternatywy [[http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nid9L3|SWRL FAQ]]. | * SWRL nie obsługuje ani negacji, ani alternatywy [[http://protege.cim3.net/cgi-bin/wiki.pl?SWRLLanguageFAQ#nid9L3|SWRL FAQ]]. |
| |
W związku z czym został zaproponowany bardziej czytelny XML: SWRL presentation: [[http://vistology.com/papers/SWRLp.PDF|SWRLp]] | W związku z czym został zaproponowany bardziej czytelny XML: SWRL presentation: [[http://vistology.com/papers/SWRLp.PDF|SWRLp]] |
| |
Translacja, której wynikiem byłby XML SWRL taki, że interpreter SWRL dokonywałby działań (operacji) analogicznych do interpretera XTT. | Translacja, której wynikiem byłby XML SWRL taki, że interpreter SWRL dokonywałby działań (operacji) analogicznych do interpretera XTT. |
Napisanie takich reguł translacji XTT -> SWRL przy pomocy XSLT jest bardzo trudne, o ile nie niemożliwe (XSLT jest nieodpowiednim do tego narzędziem, należałoby napisać własny translator).\\ | Napisanie takich reguł translacji XTT -> SWRL przy pomocy XSLT jest bardzo trudne, o ile nie niemożliwe (XSLT jest nieodpowiednim do tego narzędziem, należałoby napisać własny translator).\\ |
| ===== Translacja identycznościowa - rozwiązanie ===== |
W tym podejściu rozwiązania problemów przedstawiałyby się nastepująco:\\ | W tym podejściu rozwiązania problemów przedstawiałyby się nastepująco:\\ |
ad 1. Rozwiązaniem jest stworzenie sztucznej relacji, która wiąże ze soba kolejne argumenty. [[#przyklad_prolog_-_swrl|Przykład zastosowania sztucznej relacji 'reifiedRelation']]\\ | ad 1. Rozwiązaniem jest stworzenie sztucznej relacji, która wiąże ze soba kolejne argumenty. [[#przyklad_prolog_-_swrl|Przykład zastosowania sztucznej relacji 'reifiedRelation']]\\ |
ad 3. Brak istniejącego rozwiązania.\\ | ad 3. Brak istniejącego rozwiązania.\\ |
ad 4. Rozwiązaniem problemu alternatywy jest stworzenie tylu reguł, ile jest alternatyw. Każda reguła w poprzedniku posiadałaby inną alternatywę, w następniku znajdowałaby się natomiast ta sama dla wszystkich operacja (Zbiór operacji).\\ | ad 4. Rozwiązaniem problemu alternatywy jest stworzenie tylu reguł, ile jest alternatyw. Każda reguła w poprzedniku posiadałaby inną alternatywę, w następniku znajdowałaby się natomiast ta sama dla wszystkich operacja (Zbiór operacji).\\ |
| |
Przykład translacji identycznościowej: | |
[[#Przykład translacji identycznościowej XTT -> SWRL| Przykład translacji identycznościowej XTT -> SWRL]] | |
| |
===== Translacja obiektowa ===== | ===== Translacja obiektowa ===== |
Przykładem operacji jest np. sumowanie, właściwość obiektu "add" byłaby obiektem, która posiadałaby własność liczby (DataPropertyValue) lub przechowywałaby konieczne do wykonania obliczenia w postaci obiektu (ObjectPropertyValue) - kolejne zagnieżdżenie z kolejnymi własnościami "value" lub operacjami. | Przykładem operacji jest np. sumowanie, właściwość obiektu "add" byłaby obiektem, która posiadałaby własność liczby (DataPropertyValue) lub przechowywałaby konieczne do wykonania obliczenia w postaci obiektu (ObjectPropertyValue) - kolejne zagnieżdżenie z kolejnymi własnościami "value" lub operacjami. |
\\ | \\ |
W takim przypadku również reguła byłaby obiektem, ponieważ interpreter SWRL i tak nie byłby w stanie sprawdzić założeń reguły (poprzednika, tezy), gdyż poprzednikiem byłaby po prostu klasa - czyli obiekt. | |
| |
Przykład translacji obiektowej: | |
[[#Przykład translacji obiektowej XTT -> SWRL| Przykład translacji obiektowej XTT -> SWRL]] | |
| |
| |
===== Materiały ===== | ===== Materiały ===== |