Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Nowa wersja
Poprzednia wersja
pl:miw:2009:miw09_owl_rules_2:prezentacja [2009/09/12 00:48]
jsi08 utworzono
pl:miw:2009:miw09_owl_rules_2:prezentacja [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +~~SLIDESHOW~~
  
-==== Abstract Syntax ​==== +====== MIW 2009 OWL_Rules ======
-  * źródło: [[http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​|http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​]]+
  
 +**Zrealizował**:​ [[mmarsokol@gmail.com|Mariusz Sokołowski]] (4RI)
 +
 +===== Abstract Syntax =====
  
 Abstrakcyjna składnia języka ontologii OWL zawiera szereg aksjomatów i faktów. Mogą one być różnego rodzaju np. aksjomaty //​subClass//​ i //​equivalentClass//​. Zaproponowano rozszerzyć je o aksjomaty reguł. Abstrakcyjna składnia języka ontologii OWL zawiera szereg aksjomatów i faktów. Mogą one być różnego rodzaju np. aksjomaty //​subClass//​ i //​equivalentClass//​. Zaproponowano rozszerzyć je o aksjomaty reguł.
Linia 10: Linia 13:
   antecedent ::= '​Antecedent('​ { atom } '​)'​   antecedent ::= '​Antecedent('​ { atom } '​)'​
   consequent ::= '​Consequent('​ { atom } '​)'​   consequent ::= '​Consequent('​ { atom } '​)'​
-Nieformalnie reguły mogą być odczytywane w ten sposób, że jeżeli poprzednik jest prawdą to także następnik musi być prawdziwy. Pusty poprzednik jest uznawany za prawdę, a pusty następnik jest uznawany za fałsz. Niepusty poprzednik lub następnik jest prawdą jeśli zachodzą wszystkie atomy, z których się składa. Jest to traktowane jak koniunkcja. Reguły z następnikiem w postaci koniunkcji mogą być łatwo zamienione (za pomocą transformacji Lloyd-Topor'​a) na wiele reguł, każda z niepodzielnym następnikiem (jeden atom). +Nieformalnie reguły mogą być odczytywane w ten sposób, że jeżeli poprzednik jest prawdą to także następnik musi być prawdziwy. Pusty poprzednik jest uznawany za prawdę, a pusty następnik jest uznawany za fałsz.
-  atom ::= description '​('​ i-object '​)'​ +
-         | individualvaluedPropertyID '​('​ i-object i-object '​)'​ +
-         | datavaluedPropertyID '​('​ i-object d-object '​)'​ +
-         | sameAs '​('​ i-object i-object '​)'​ +
-         | differentFrom '​('​ i-object i-object '​)'​ +
-Atomy mogą być przedstawione w formie //C(x)//, //P(x,y)//, //​sameAs(x,​y)//,​ //​differentFrom(x,​y)//,​ gdzie //C// jest opisem w OWL, //P// właściwością w OWL, a //x//, //y// są zmiennymi, egzemplarzami klasy zdefiniowanej przez użytkownika (OWL individuals) lub wartościami danych w OWL. W kontekście OWL Lite, opisy w atomach w formie //C(x)// mogą być ograniczone do nazw klas.+
  
-Nieformalnie,​ atom //C(x)// jest prawdą gdy //x// jest egzemplarzem opisu //C// danej klasy, atom //P(x,y)// zachodzi, gdy //x// jest w relacji z //y// przez właściwość //P//, atom //​sameAs(x,​y)//​ zachodzi gdy //x// jest interpretowane jako ten sam obiekt co //y//, atom //​differentFrom(x,​y)//​ zachodzi gdy //x// i //y// są interpretowane jako inne obiekty. Dwie ostatnie formy są wygodne, ale nie zwiększają siły ekspresji języka (tzn. takie (nie)równości mogą być już wyrażone używając kombinacji języka OWL i reguł bez wyraźnych atomów (nie)równości). 
  
- +===== Direct Model-Theoretic Semantics =====
-==== Direct Model-Theoretic Semantics ==== +
-  * źródło: [[http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​|http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​]] +
- +
- +
- +
-Podstawowym założeniem jest zdefiniowanie wiązań (bindings), rozszerzeń interpretacji OWL, które mapują zmienne do elementów domeny. Reguła jest poprawna, jeżeli każde wiązanie, które powoduje, że poprzednik jest prawdą, także powoduję prawdziwość następnika. Semantyczne warunki związane z aksjomatami i ontologiami są niezmienione.+
  
 Dla danej interpretacji //I// abstrakcyjnego języka OWL, wiązanie //B(I)// jest interpretacją abstrakcyjnego OWL, która rozszerza //I// tak jak funkcja //S// mapuje odpowiednio //​i-zmienne//​ do elementów //R// i //​d-zmienne//​ do elementów ​ //​LV<​sub>​T</​sub>//​. ​ Dla danej interpretacji //I// abstrakcyjnego języka OWL, wiązanie //B(I)// jest interpretacją abstrakcyjnego OWL, która rozszerza //I// tak jak funkcja //S// mapuje odpowiednio //​i-zmienne//​ do elementów //R// i //​d-zmienne//​ do elementów ​ //​LV<​sub>​T</​sub>//​. ​
Linia 38: Linia 28:
 | differentFrom(x,​y) | S(x) ≠ S(y)                 ​| ​ | differentFrom(x,​y) | S(x) ≠ S(y)                 ​| ​
  
-Wiązanie //B(I)// satysfakcjonuje poprzednik //A//, jeśli //A// jest puste lub //B(I)// satysfakcjonuje każdy atom w //A//. Wiązanie //B(I)// satysfakcjonuje następnik //C//, jeśli //C// nie jest puste i //B(I)// satysfakcjonuje każdy atom w //C//. Reguła jest satysfakcjonująca przez interpretacje //I//, jeżeli dla każdego wiązania //B// takiego, że //B(I)// satysfakcjonuje poprzednik, to //B(I)// także satysfakcjonuje poprzednik. 
- 
- 
-==== XML Concrete Syntax ==== 
-  * źródło: [[http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​|http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​]] 
  
  
 +===== XML Concrete Syntax =====
  
 Istniejący OWL XML można łatwo rozszerzyć,​ tak aby można było w nim zapisać reguły, dzięki czemu: Istniejący OWL XML można łatwo rozszerzyć,​ tak aby można było w nim zapisać reguły, dzięki czemu:
Linia 52: Linia 38:
  
 \\ \\
-Główny element składni OWL XML - //Ontology// - rozszerzono ​o aksjomaty ​//Rule// //Variable//.+===== Element ​Ontology ​rozszerzony ​o aksjomaty Rule i Variable ​===== 
  
 <code xml><​Ontology <code xml><​Ontology
Linia 67: Linia 54:
 </​Ontology></​code>​ </​Ontology></​code>​
  
-Dodano oczywiście odpowiednią składnię dla elementów ​//Variable// //Rule//.+===== Składnia elementów Variable i Rule ===== 
 <code xml><​Variable <code xml><​Variable
   name = xsd:anyURI   name = xsd:anyURI
Linia 78: Linia 66:
 </​Rule></​code>​ </​Rule></​code>​
  
-Pojawiają się tu elementy //​antecedent//​ i //​consequent//,​ które składają się z listy atmów, traktowanej jako koniunkcja tych atomów.+
 <code xml><​antecedent>​ <code xml><​antecedent>​
   Content: ( atom* )   Content: ( atom* )
Linia 85: Linia 73:
   Content: ( atom* )   Content: ( atom* )
 </​consequent></​code>​ </​consequent></​code>​
-//Atom// to grupa elementów, w której skład wchodzą: //​classAtom//,​ //​individualPropertyAtom//,​ //​datavaluedPropertyAtom//,​ //​sameIndividualAtom//,​ //​differentIndividualsAtom//​. Poniżej znajduje się ich składnia.+ 
 +===== Składnia ​elementów Atomu ===== 
  
 <code xml><​classAtom>​ <code xml><​classAtom>​
Linia 112: Linia 102:
  
 \\ \\
-Za pomocą składni OWL XML, rozszerzonej o reguły, można zapisać np. taką regułę, że z własności //​hasParent//​ i //​hasBrother//​ wynika własność //​hasUncle//​. ​+===== Przykład reguły w OWL XML ===== 
 + 
 <code xml> <code xml>
 <​owlx:​Rule> ​ <​owlx:​Rule> ​
Linia 136: Linia 127:
    
  
-==== Mapping to RDF Graphs ==== +===== Mapping to RDF Graphs =====
-  * źródło: [[http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​|http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​]] +
- +
  
 Reguły zawierają zmienne, więc bardzo trudne jest traktowanie ich jako semantyczne rozszerzenie RDF. Aczkolwiek możliwe jest dostarczenie składni RDF dla reguł. Jest tak, ponieważ semantyka wynikowego grafu RDF nie jest rozszerzeniem RDF Semantics. Mapowanie do RDF/XML jest prościej tworzone jako rozszerzenie transformacji XSLT dla składni OWL XML.  Reguły zawierają zmienne, więc bardzo trudne jest traktowanie ich jako semantyczne rozszerzenie RDF. Aczkolwiek możliwe jest dostarczenie składni RDF dla reguł. Jest tak, ponieważ semantyka wynikowego grafu RDF nie jest rozszerzeniem RDF Semantics. Mapowanie do RDF/XML jest prościej tworzone jako rozszerzenie transformacji XSLT dla składni OWL XML. 
  
-Poniżej przykład przedstawiający rozszerzenie ​składni OWL RDF/XML o reguły.+===== Przykład rozszerzenia ​składni OWL RDF/XML o reguły ​=====
  
 <code xml> <code xml>
Linia 181: Linia 169:
  
  
----- +===== Inductive Logic Programming =====
- +
-==== Inductive Logic Programming ==== +
-  * źródło: [[http://​sunsite.informatik.rwth-aachen.de/​Publications/​CEUR-WS/​Vol-314/​42.pdf]]+
  
  
Linia 192: Linia 177:
  
 Indukcja z ILP, uogólnia poszczególne instancje w obecnej podstawie wiedzy, znajdując poprawne hipotezy. Ich prawdziwość zależy od poniższego otoczenia. Obecnie istnieje kilka formalizmów indukcji w logice opartej na klauzulach. Indukcja z ILP, uogólnia poszczególne instancje w obecnej podstawie wiedzy, znajdując poprawne hipotezy. Ich prawdziwość zależy od poniższego otoczenia. Obecnie istnieje kilka formalizmów indukcji w logice opartej na klauzulach.
 +
 +===== Inductive Logic Programming cd. =====
  
 Zostały zaproponowane dwa frameworki ILP, które stosują hybrydowy język DL-HCL dla reprezentacji zarówno hipotez jak i wiedzy. Zostały zaproponowane dwa frameworki ILP, które stosują hybrydowy język DL-HCL dla reprezentacji zarówno hipotez jak i wiedzy.
Linia 204: Linia 191:
  
  
----- +===== Hybrid MKNF ===== 
- + 
-==== Hybrid MKNF ==== +
-  * źródło: [[http://​www.comlab.ox.ac.uk/​people/​ian.horrocks/​Publications/​download/​2006/​MHRS06.pdf]] +
- +
 Logic Programing jest często brane pod uwagę jako sposób na pokonanie kilku wad OWL, takich jak niezdolność do tworzenia ograniczeń czy wykonywania kwerend "​closed-world"​. Jakkolwiek semantyka OWL jest typu "​open-world"​ i wydaje się być niekompatybilna z semantyką "​closed-world"​ LP. Dlatego zaproponowano alternatywny język ontologii bazujący całkowicie na LP. Jest nim hybrydowy MKNF, który integruje OWL z LP. Logic Programing jest często brane pod uwagę jako sposób na pokonanie kilku wad OWL, takich jak niezdolność do tworzenia ograniczeń czy wykonywania kwerend "​closed-world"​. Jakkolwiek semantyka OWL jest typu "​open-world"​ i wydaje się być niekompatybilna z semantyką "​closed-world"​ LP. Dlatego zaproponowano alternatywny język ontologii bazujący całkowicie na LP. Jest nim hybrydowy MKNF, który integruje OWL z LP.
  
Linia 219: Linia 202:
   * modelowanie wyjątków   * modelowanie wyjątków
  
-**Rozszerzenie DL o First-Order Rules**+===== Rozszerzenie DL o First-Order Rules ===== 
  
 Głównym założeniem jest dodanie aksjomatów postaci H ← B1, . . . ,Bn gdzie H (następnik reguły) i Bi (poprzednik) mogą być postaci C(s) lub R(s, t), przy czym C to koncepcja, R rola, a s i t są termami (np. zmienne czy tzw. '​individuals'​). Reguły te są interpretowane przez standardową semantykę pierwszego rzędu jako \\  Głównym założeniem jest dodanie aksjomatów postaci H ← B1, . . . ,Bn gdzie H (następnik reguły) i Bi (poprzednik) mogą być postaci C(s) lub R(s, t), przy czym C to koncepcja, R rola, a s i t są termami (np. zmienne czy tzw. '​individuals'​). Reguły te są interpretowane przez standardową semantykę pierwszego rzędu jako \\ 
 ∀x : H ∨ ¬B1 ∨ . . . ∨ ¬Bn, gdzie x jest zbiorem dowolnych zmiennych z wszystkich H i Bi. ∀x : H ∨ ¬B1 ∨ . . . ∨ ¬Bn, gdzie x jest zbiorem dowolnych zmiennych z wszystkich H i Bi.
  
-**Rozszerzenie DL o niemonotoniczne właściwości** +===== Rozszerzenie DL o niemonotoniczne właściwości ​===== 
  
 Rozszerzenie to opiera się na auto-epistemicznej logice, która pozwala wnioskować o przekonaniach. Wprowadzono auto-epistemiczny operator K, który może być stosowany do koncepcji i ról z intuicyjnym znaczeniem - "jest wiadomo, że zajdzie"​. Rozszerzenie to opiera się na auto-epistemicznej logice, która pozwala wnioskować o przekonaniach. Wprowadzono auto-epistemiczny operator K, który może być stosowany do koncepcji i ról z intuicyjnym znaczeniem - "jest wiadomo, że zajdzie"​.
Linia 231: Linia 216:
   * jako operatory w bazie wiedzy - MKNF (Minimal Knowledge and Negation-as-Failure) - umożliwia domyślną negację i modelowanie wyjątków. Przyjęto auto-epistemiczny operator A ('​not'​ z first-order MKNF) o nieformalnym znaczeniu - "może być fałszem"​.   * jako operatory w bazie wiedzy - MKNF (Minimal Knowledge and Negation-as-Failure) - umożliwia domyślną negację i modelowanie wyjątków. Przyjęto auto-epistemiczny operator A ('​not'​ z first-order MKNF) o nieformalnym znaczeniu - "może być fałszem"​.
  
-**Hybrid MKNF KBs**+===== Hybrid MKNF KBs ===== 
  
 Baza wiedzy //K// w hybrid MKNF składa się z bazy wiedzy //O// w rozstrzygalnym DL i ze zbioru //P// reguł MKNF w następującej postaci:\\ Baza wiedzy //K// w hybrid MKNF składa się z bazy wiedzy //O// w rozstrzygalnym DL i ze zbioru //P// reguł MKNF w następującej postaci:\\
Linia 243: Linia 229:
 Semantyka bazy wiedzy hybrydowego MKNF ukazuje dwie ważne własności. Z jednej strony jest w pełni kompatybilna z OWL - wszystkie zapytanie standardowego DL są traktowane w zwykły sposób. Z drugiej strony MKNF jest także w pełni kompatybilny z Logic Programming. Reguły MKNF mogą być również użyte w celu integracji OWL z językami LP zorientowanymi obiektowo takimi jak F-Logic czy WSML.  Semantyka bazy wiedzy hybrydowego MKNF ukazuje dwie ważne własności. Z jednej strony jest w pełni kompatybilna z OWL - wszystkie zapytanie standardowego DL są traktowane w zwykły sposób. Z drugiej strony MKNF jest także w pełni kompatybilny z Logic Programming. Reguły MKNF mogą być również użyte w celu integracji OWL z językami LP zorientowanymi obiektowo takimi jak F-Logic czy WSML. 
  
----- 
  
-==== F-Logic rules ==== +===== F-Logic rules =====
-  * źródło: [[http://​sunsite.informatik.rwth-aachen.de/​Publications/​CEUR-WS/​Vol-287/​paper_8.pdf]]+
  
  
 Reguły F-Logic są regułami Logic Programming na atomach F-Logic. ​ Reguły F-Logic są regułami Logic Programming na atomach F-Logic. ​
- 
-**Składnia F-Logic** 
  
 Alfabet języka F-Logic składa się ze zbioru F symboli funkcji, pełniących rolę konstruktorów obiektów. '​Id-term'​y są złożone z konstruktorów i zmiennych i są interpretowane jako elementy świata.  ​ Alfabet języka F-Logic składa się ze zbioru F symboli funkcji, pełniących rolę konstruktorów obiektów. '​Id-term'​y są złożone z konstruktorów i zmiennych i są interpretowane jako elementy świata.  ​
 Niech o, c, d, d<​sub>​1</​sub>,​ ... , d<​sub>​n</​sub>,​ p, v, v<​sub>​1</​sub>,​ v<​sub>​n</​sub>​ będą id-term lub literałami. Zauważmy, że URL jako podklasa klasy string może wskazywać obiekty. Niech o, c, d, d<​sub>​1</​sub>,​ ... , d<​sub>​n</​sub>,​ p, v, v<​sub>​1</​sub>,​ v<​sub>​n</​sub>​ będą id-term lub literałami. Zauważmy, że URL jako podklasa klasy string może wskazywać obiekty.
 +
 +===== Składnia F-Logic =====
  
 Na przykład: Na przykład:
Linia 265: Linia 249:
 Reguła F-Logic jest logiczną regułą h ← b na atomach F-Logic, np. asercje '​is-a'​ i obiektowe atomy. F-Logic program jest zbiorem reguł. Semantyka reguł F-Logic jest zdefiniowana przez struktury Herbrand'​a,​ gdzie świat składa się z podstawowych id-term'​ów. H-struktura jest zbiorem podstawowych atomów F-Logic, opisujących obiektowy świat, więc musi spełniać kilka domykających aksjomatów związanych z ogólnymi, zorientowanymi obiektowo właściwościami. Reguła F-Logic jest logiczną regułą h ← b na atomach F-Logic, np. asercje '​is-a'​ i obiektowe atomy. F-Logic program jest zbiorem reguł. Semantyka reguł F-Logic jest zdefiniowana przez struktury Herbrand'​a,​ gdzie świat składa się z podstawowych id-term'​ów. H-struktura jest zbiorem podstawowych atomów F-Logic, opisujących obiektowy świat, więc musi spełniać kilka domykających aksjomatów związanych z ogólnymi, zorientowanymi obiektowo właściwościami.
  
-**Aksjomaty F-Logic**+===== Aksjomaty F-Logic ​===== 
  
 Zbiór H (może być nieskończony) podstawowych atomów jest H-strukturą jeśli dla dowolnych u, u<​sub>​0</​sub>,​ . . . , u<​sub>​n</​sub>​ i u<​sub>​m</​sub>​ ze zbioru H zachodzą następujące warunki: Zbiór H (może być nieskończony) podstawowych atomów jest H-strukturą jeśli dla dowolnych u, u<​sub>​0</​sub>,​ . . . , u<​sub>​n</​sub>​ i u<​sub>​m</​sub>​ ze zbioru H zachodzą następujące warunki:
Linia 280: Linia 265:
  
  
- +===== What reasoning support for Ontology and Rules? =====
- +
----- +
-==== What reasoning support for Ontology and Rules? ==== +
-  * źródło: [[http://​sunsite.informatik.rwth-aachen.de/​Publications/​CEUR-WS/​Vol-188/​sub21.pdf]]+
  
 Jako, że jest to niemożliwe,​ żeby mieć równocześnie rozstrzygalność,​ kompletność i ekspresyjność,​ wymagane właściwości aplikacji muszą być dokładnie określone, ze względu na możliwości i ograniczenia metody wnioskowania,​ w celu wybrania jak najlepszego języka. Użyteczne jest wyjaśnienie,​ które właściwości są przewidywane pod ograniczeniami DLP, kiedy silnik reguł produkcyjnych np. Jess i mechanizm wnioskujący języka DL np. Racer są używane oddzielnie. Jeżeli DLP nie jest wystarczający i jest potrzebna ekspresyjność OWL DL, to dobrym rozwiązaniem jest rozszerzenie OWL DL bezpiecznymi regułami Datalog (¬∨), językiem SWRL lub FOL, zależnie od przewidywanej ekspresywności i obliczeniowych własności. Jako, że jest to niemożliwe,​ żeby mieć równocześnie rozstrzygalność,​ kompletność i ekspresyjność,​ wymagane właściwości aplikacji muszą być dokładnie określone, ze względu na możliwości i ograniczenia metody wnioskowania,​ w celu wybrania jak najlepszego języka. Użyteczne jest wyjaśnienie,​ które właściwości są przewidywane pod ograniczeniami DLP, kiedy silnik reguł produkcyjnych np. Jess i mechanizm wnioskujący języka DL np. Racer są używane oddzielnie. Jeżeli DLP nie jest wystarczający i jest potrzebna ekspresyjność OWL DL, to dobrym rozwiązaniem jest rozszerzenie OWL DL bezpiecznymi regułami Datalog (¬∨), językiem SWRL lub FOL, zależnie od przewidywanej ekspresywności i obliczeniowych własności.
Linia 291: Linia 272:
  
  
----- +===== Materiały =====
- +
- +
-====== Materiały ​======+
  
   * [[http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​|A Proposal for an OWL Rules Language]]   * [[http://​www.cs.man.ac.uk/​~horrocks/​DAML/​Rules/​|A Proposal for an OWL Rules Language]]
Linia 315: Linia 293:
  
  
-  * [[hekate:semweb:​dl_intro|Description Logics and OWL in the Semantic Web]]+  * [[hekate:​dl_intro|Description Logics and OWL in the Semantic Web]]
  
pl/miw/2009/miw09_owl_rules_2/prezentacja.1252709296.txt.gz · ostatnio zmienione: 2019/06/27 15:57 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0