Różnice

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

Odnośnik do tego porównania

pl:miw:miw08_hml_rules:owl [2008/04/29 00:25]
miw
pl:miw:miw08_hml_rules:owl [2019/06/27 15:50]
Linia 1: Linia 1:
-**OWL - Web Ontology Language** jest językiem ze składnią opartą na XML, a semantyką opartą na tzw. logice deskrypcyjnej (ang. description logics). Stanowi on rozszerzenie [[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_hml_rules:​rdf|RDF (ang. Resource Description Framework)]]. Służy do reprezentacji i przetwarzania danych w sieci WWW. OWL umożliwia opisywanie danych w postaci ontologii i budowanie w ten sposób tzw. Semantycznego Internetu. OWL posiada trzy podjęzyki o wzrastającej ekspresyjności:​ OWL Lite, OWL DL, and OWL Full. Zapis w języku OWL składa się z definicji ontologicznych metadanych (container),​ definicji ​ 
-relacji binarnych, pojęć, przykładów pojęć oraz aksjomatów definiujących omówione dodatkowe ​ 
-właściwości pojęć i relacji. 
  
-Ponieważ OWL posiada pewne ograniczenia - nie można uchwycić złożonych relacji pomiędzy zdefiniowanymi właściwościami (chociażby ogólnie znany przykład "​uncle"​) - powstała idea rozszerzenia OWL'a o pewne formy regułowe przy jednoczesnym zachowaniu maksymalnej kompatybilności z istniejącą składnią i semantyką OWL.  
- 
-Obecnie istnieje propozycja języka **SWRL - Semantic Web Rule Language** (początkowo nazwany ORL - OWL Rules Language) opartego na połączeniu podjęzyków OWL DL i OWL Lite języka OWL z fragmentami języka [[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_hml_rules:​ruleML|RuleML (Rule Markup Language)]]. Propozycja ta rozszerza zbiór aksjomatów zapisanych w języku OWL tak, aby obejmował reguły mające postać klauzul. Pozwala to łączyć takie reguły z bazą wiedzy zapisaną w języku OWL. Proponowane reguły mają postać implikacji pomiędzy poprzednikiem (ciałem) i następnikiem (nagłówkiem). Poprzednik i następnik mogą być zbudowane z koniunkcji atomów, pojedynczego atomu albo być puste. (Wiadomo, że regułę zawierającą koniunkcję w następniku można przekształcić w zestaw reguł zawierających tylko jeden atom w następniku). Reguła ma następujące znaczenie: jeśli warunki podane w poprzedniku zachodzą, to warunki podane w następniku także muszą zachodzić. Pusty poprzednik jest traktowany jako trywialnie prawdziwy, a pusty następnik jako trywialnie fałszywy. Atomy w regułach mogą być postaci C(x), P(x,y), sameAs(x,y) lub differentFrom(x,​y),​ gdzie C jest deskrypcją pojęcia języka OWL, P jest wasnocią, a x,y są albo zmiennymi, albo indywiduami,​ albo wartościami danych. 
- 
-W tzw. Human Readable Syntax czyli składni bardziej czytelnej człowiekowi reguły przyjmują formę: 
- 
-    antecedent(poprzednik) -> consequent(następnik) 
- 
-gdzie zarówno antecedent jak i consequent składają się ze zbioru atomów a1 ^ a2 ^ ... ^ an. Zmienne są zaznaczane przy użyciu standardowej konwencji prefixowania ich znakiem zapytania (np.?x). Korzystając z tej składni reguła ​ stwierdzająca że połączenie własności '​parent'​ i '​brother'​ da nam własność '​uncle'​ może być zapisana następująco:​ 
- 
-    parent(?​a,?​b) ^ brother (?b,?c) -> uncle(?​a,?​c) 
- 
-czyli jeśli Mary jest rodzicem Johna i Bill jest bratem Mary, to ta reguła wymaga by Bill był wujkiem Johna. ​ 
- 
-Teraz spróbujemy zapisać tą regułę za pomocą XML Presentation Syntax. 
- 
-  * **owlr** - prefix przestrzeni nazw dla nowo przedstawianej składni 
-  * **owlx** - prefix przestrzeni nazw http://​www.w3.org/​2003/​05/​owl-xml ​ 
- 
-Deklaracje zmiennych są zdaniami wskazującymi by dany URI był używany jako zmienna. Na przykład: 
- 
-<code xml> 
-<​owlr:​Variable owlr:​name="​x1"/>​ 
-</​code>​ 
- 
-Aksjomaty reguł posiadają poprzedników (owlr:​antecedent) oraz następników (owlr:​consequent),​ które są listami atomów tworzonych z klas, predykatów,​ równości i nierówności. Na przykład: 
- 
-<code xml> 
-<​owlr:​classAtom>​ 
-    <​owlx:​Class owlx:​name="​Person"/>​ 
-    <​owlr:​Variable owlr:​name="​x1"/>​ 
-</​owlr:​classAtom>​ 
-</​code>​ 
- 
-jest atomem klasy używającym nazwy Person, natomiast: 
- 
-<code xml> 
-<​owlr:​classAtom>​ 
-    <​owlx:​IntersectionOf>​ 
-        <​owlx:​Class owlx:​name="​Person"/>​ 
-        <​owlx:​ObjectRestriction owlx:"​hasParent"/>​ 
-              <​owlx:​someValuesFrom owlx:​class="​Physician"/>​ 
-        <​owlx:​ObjectRestriction/>​ 
-    <​owlx:​IntersectionOf>​ 
-    <​owlr:​Variable owlr:​name="​x2"/>​ 
-</​owlr:​classAtom>​ 
-</​code>​ 
- 
-jest atomem klasy używającym opis reprezentujący osobę('​Person'​) mającą przynajmniej jednego rodzica, który jest lekarzem('​Physician'​) 
- 
-Property atom zawiera atrybut name oraz dwa elementy które mogą być zmiennymi, indywiduami,​ albo wartościami danych. Na przykład: 
- 
-<code xml> 
-<​owlr:​datavaluedPropertyAtom owlr:​property="​grade">​ 
-    <​owlr:​Variable owlr:​name="​x1">​ 
-    <​owlx:​DataValue rdf:​datatype="&​xsd:​integer">​4</​owlx:​DataValue>​ 
-</​owlr:​datavaluedPropertyAtom>​ 
-</​code>​ 
- 
-Na koniec jeszcze przykład atomu wskazującego równość (nierówność) pomiędzy zbiorami indywiduów i nazwami zmiennych. 
- 
-<code xml> 
-<​owlr:​sameIndividualAtom>​ 
-    <​owlr:​Variable owlr:​name="​x1"/>​ 
-    <​owlr:​Variable owlr:​name="​x2"/>​ 
-    <​owlx:​Individual owlx:​name="​Clinton"/>​ 
-    <​owlx:​Individual owlx:​name="​Bill_Clinton"/>​ 
-</​owlr:​sameIndividualAtom>​ 
-</​code>​ 
- 
-Teraz spróbujmy zapisać nasz przykład (tj. jeżeli dzień=poniedziałek wtedy temp=20st) za pomocą SWRL w składni XML: 
- 
-<code xml> 
-<​owlx:​Rule>​ 
-    <​owlr:​antecedent>​ 
-        <​owlr:​individualPropertyAtom owlr:​property="​monday">​ 
-            <​owlr:​Variable owlr:​name="​day"/>​ 
-        </​owlr:​individualPropertyAtom>​ 
-    </​owlr:​antecedent>​ 
-    <​owlr:​consequent>​ 
-        <​owlr:​datavaluedPropertyAtom owlr:​property="​grade">​ 
-            <​owlx:​DataValue rdf:​datatype="&​xsd:​integer">​20</​owlx:​DataValue>​ 
-        </​owlr:​datavaluedPropertyAtom>​ 
-    </​owlr:​consequent>​ 
-</​owlx:​Rule>​ 
-</​code>​ 
- 
-  * Bardzo przydatny PDF pt:"​OWL RULES: A Proposal and Prototype Implementation":​ http://​www.cs.man.ac.uk/​~horrocks/​Publications/​download/​2005/​HPBT05.pdf 
-  * Overview w języku polskim: http://​www.rax.pl/​tlumaczenia/​OWL-Web-Ontology-Language-Overview/​index.htm 
-  * Overview w języku angielskim: http://​www.w3.org/​TR/​2004/​REC-owl-features-20040210/​ 
- 
-[[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_hml_rules|Powrót]] 
pl/miw/miw08_hml_rules/owl.txt · ostatnio zmienione: 2019/06/27 15:50 (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