Różnice

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

Odnośnik do tego porównania

pl:miw:2009:miw09_swrltrans [2009/03/15 15:13]
mikel
pl:miw:2009:miw09_swrltrans [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Opis ====== 
-Michał Lesiak <​mikelik@o2.pl>​ 
  
-:!::!: 
-Work on the translation 
-of 
-[[hekate:​XTT2]] 
-to 
-[[http://​www.w3.org/​Submission/​SWRL/​|SWRL]] 
-using 
-[[http://​www.w3.org/​TR/​xslt|XSLT]]. 
- 
-[[pl:​miw:​miw08_xtt_rif]] 
-[[student:​msc2008_xml_knowledge_transformation:​xttml2rif]] 
- 
-====== Spotkania ====== 
-===== 20090319 ==== 
-===== 20090305 ==== 
-  * Projekty bazujące na xtt2: ([[pl:​miw:​miw08_xtt_r2ml:​translator|xtt to r2ml ]], [[https://​ai.ia.agh.edu.pl/​wiki/​_media/​pl:​miw:​miw08_xtt_rif:​xtttorif.xml|xtt ​ to rif]])\\ 
-  * <​del>​Bazować jedynie na specyfikacji:​ [[student:​hqed:​xttml20]] i przykładzie z projektu [[pl:​miw:​miw08_xtt_xml]]:​ [[https://​ai.ia.agh.edu.pl/​wiki/​_media/​pl:​miw:​thermostat2.0.xml|:​pl:​miw:​thermostat2.0.xml]] - wiarygodny thermostat2.0 czy stworzony przez studenta?</​del>​ - specyfikacja xtt na potrzeby hqed 
-  * jedyna poprawna specyfikacja XTT2: [[hekate:​xtt2]] 
- 
-===== 20090219 ==== 
-  * konto 
-brak dostępu: 
-  * [[hekatedev:​xtt_rules]] 
-  * [[student:​msc2008_xml_knowledge_transformation:​xttml2rif]] 
-  * [[hekatedev:​xtt_minicases#​calculations_factorial]] - link z [[pl:​miw:​miw08_xtt_r2ml]] 
-  * [[student:​xttml20]] - link z 080318 [[pl:​miw:​miw08_xtt_xml]] 
- 
-Czy jest przykładowy xttml, w którym byłyby wszystkie znaczniki? 
-np. [[https://​ai.ia.agh.edu.pl/​wiki/​_media/​pl:​miw:​thermostat2.0.xml?​id=pl%3Amiw%3Amiw08_xtt_xml&​cache=cache|thermostat2.0]] 
- 
-=== xtt -> r2ml -> swrl (niepolecane)=== 
-xtt -> r2ml: https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_xtt_r2ml:​translator 
- 
-r2ml -> swrl: http://​www.eclipse.org/​m2m/​atl/​atlTransformations/#​R2ML2SWRL (przy pomocy transformacji ATL) 
- 
-====== Projekt ====== 
- 
-===== Założenia ===== 
- 
-W projekcie zostanie stworzony wzorzec XSLT, który zamieni składnię XTTML na składnię [[http://​www.w3.org/​Submission/​SWRL/#​5|SWRL XML]], przy czym XML dla SWRL jest kombinacją [[http://​www.w3.org/​TR/​owl-xmlsyntax/​|OWL Web Ontology Language XML]] z [[http://​www.ruleml.org/​|RuleML XML]] 
- 
-Możliwa jest również zamiana XTTML na [[http://​www.w3.org/​Submission/​SWRL/#​6|RDF dla SWRL]], przy czym można tego dokonać korzystając ze wzorca [[http://​www.w3.org/​TR/​owl-xmlsyntax/​owlxml2rdf.xsl|owlxml2rdf.xsl]],​ który należałoby rozbudować. 
- 
-===== 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. 
-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. 
- 
-Reguły są przedstawiane w formie implikacji: poprzednik ("​body"​) i następnik ("​head"​),​ z których każdy może składać się z zera lub więcej atomów. Implikacja w przypadku pustego poprzednika jest traktowana jako zawsze prawdziwa, a w przypadku pustego następnika jest traktowana jako zawsze fałszywa. Wiele atomów jest traktowanych jako koniunkcja. 
-Reguła z koniunkcją atomów w następniku jest równoważna koniunkcjom reguł, w których następnikami są pojedyncze atomy. ​ 
- 
- 
-===== 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]]. 
- 
-Definiuje przestrzenie nazw swrlx i swrlb, importuje przestrzeń nazw ruleml i owl. 
- 
-Używane przestrzenie nazw: 
-|**Skrót**|**Przestrzeń nazw**| 
-|swrlx|http://​www.w3.org/​2003/​11/​swrlx| 
-|swrlb|http://​www.w3.org/​2003/​11/​swrlb| 
-|ruleml|http://​www.w3.org/​2003/​11/​ruleml| 
-|owl|http://​www.w3.org/​2003/​05/​owl-xml| 
-|xsd|http://​www.w3.org/​2001/​XMLSchema| 
- 
- 
- 
-**Zalety SWRL**\\ 
-  * klasy OWL (np. opisy) mogą być używane jako predykaty w regułach, 
-  * reguły i aksjomaty ontologii mogą być dowolnie mieszane, 
-  * istniejący arkusz XSLT ([[http://​www.w3.org/​TR/​owl-xmlsyntax/​owlxml2rdf.xsl]]) może posłużyć jako podstawa do stworzenia mapowania na grafy RDF, 
-  * istniejące narzędzia do RuleML mogą być przystosowane do 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, 
-  * 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. 
- 
-W związku z czym został zaproponowany bardziej czytelny XML: SWRL presentation:​ [[http://​vistology.com/​papers/​SWRLp.PDF|SWRLp]] 
- 
-==== Elementy składni==== 
-===Ontology=== 
-<​code><​swrlx:​Ontology 
-  swrlx:name = xsd:​anyURI ​ 
-> 
-  Content: (owlx:​VersionInfo | owlx:​PriorVersion | owlx:​BackwardCompatibleWith |  
-              owlx:​IncompatibleWith | owlx:​Imports | owlx:​Annotation |  
-            owlx:​Class[axiom] | owlx:​EnumeratedClass(D,​F) |  
-            owlx:​SubClassOf(D,​F) | owlx:​EquivalentClasses | owlx:​DisjointClasses(D,​F) |  
-            owlx:​DatatypeProperty | owlx:​ObjectProperty |  
-            owlx:​SubPropertyOf | owlx:​EquivalentProperties |  
-            owlx:​Individual[axiom] | owlx:​SameIndividual | owlx:​DifferentIndividuals | 
-            ruleml:​imp[axiom] | ruleml:​var[axiom])* ​ 
-</​swrlx:​Ontology>​ </​code>​ 
- 
-Główny element "​Ontology"​ w stosunku do składni prezentacji OWL XML został rozszerzony o aksjomaty "​imp"​ ("​implication"​ - reguła implikacyjna) oraz "​var"​ ("​variable"​ - deklaracja zmiennej)  ​ 
- 
-===ruleml: var=== 
-<​code><​ruleml:​var>​xsd:​string</​ruleml:​var></​code>​ 
-Definiuje istnienie zmiennej. Zapożyczono z przestrzeni nazw RuleML. 
- 
-=== ruleml: imp === 
-<​code>​ 
-<​ruleml:​imp>​ 
-  Content: ( _rlab?, owlx:​Annotation*,​ _body, _head ) 
-</​ruleml:​imp>​ 
-</​code>​ 
- 
-== ruleml:​_rlab == 
-<​code>​ 
-<​ruleml:​imp>​ 
-  Content: ( _rlab?, owlx:​Annotation*,​ _body, _head ) 
-</​ruleml:​imp>​ 
-</​code>​ 
-== ruleml:​_body == 
-<​code>​ 
-<​ruleml:​_body>​ 
-  Content: ( swrlx:atom* ) 
-</​ruleml:​_body>​ 
-</​code>​ 
-== ruleml:​_head== 
-<​code>​ 
-<​ruleml:​_head>​ 
-  Content: ( swrlx:atom* ) 
-</​ruleml:​_head>​ 
-</​code>​ 
- 
-=== Atomy === 
-Mogą być pojedynczymi predykatami (klasami), binarnymi predykatami (właściwościami),​ równościami lub nierównościami. 
-==swrlx:​classAtom== 
-==swrlx:​datarangeAtom== 
-==swrlx:​individualPropertyAtom== 
-==swrlx:​datavaluedPropertyAtom== 
-==swrlx:​sameIndividualAtom== 
-==swrlx:​differentIndividualsAtom== 
-==swrlx:​builtinAtom== 
- 
-==== Przykład ==== 
-//​[[http://​vistology.com/​papers/​SWRLp.PDF|SWRL example]]//​\\ 
-Kod w Prologu: 
-<​code>​ 
-inSupplyOfAt(Consumer,​Resource,​Time) 
-:- reserve(Consumer,​Resource,​Time,​Reserve) 
-    consumption(Consumer,​Resource,​Consumption) 
-    greaterThanOrEqual(Reserve,​Consumption). 
-</​code>​ 
- 
-Składnia SWRL: 
-<​code>​ 
-<​ruleml:​imp>​ 
-    <​ruleml:​_head>​ 
-        <​swrlx:​classAtom>​ 
-            <​owlx:​Class owlx:​name="​InSupplyOfAt"/>​ 
-            <​ruleml:​var>?​reifiedRelation</​ruleml:​var>​ 
-        </​swrlx:​classAtom>​ 
-        <​swrlx:​individualPropertyAtom swrlx:​property="​consumer">​ 
-            <​ruleml:​var>?​reifiedRelation</​ruleml:​var>​ 
-            <​ruleml:​var>?​consumer</​ruleml:​var>​ 
-        </​swrlx:​individualPropertyAtom>​ 
-        <​swrlx:​individualPropertyAtom swrlx:​property="​resource">​ 
-            <​ruleml:​var>?​reifiedRelation</​ruleml:​var>​ 
-            <​ruleml:​var>?​resource</​ruleml:​var>​ 
-        </​swrlx:​individualPropertyAtom>​ 
-        <​swrlx:​datavaluedPropertyAtom swrlx:​property="​dateTime">​ 
-            <​ruleml:​var>?​reifiedRelation</​ruleml:​var>​ 
-            <​ruleml:​var>?​time</​ruleml:​var>​ 
-        </​swrlx:​datavaluedPropertyAtom>​ 
-    </​ruleml:​_head>​ 
-    <​ruleml:​_body>​ 
-        <​swrlx:​individualPropertyAtom swrlx:​property="​reserve">​ 
-            <​ruleml:​var>?​consumer</​ruleml:​var>​ 
-            <​ruleml:​var>?​reserve</​ruleml:​var>​ 
-        </​swrlx:​individualPropertyAtom>​ 
-        <​swrlx:​individualPropertyAtom swrlx:​property="​resource">​ 
-            <​ruleml:​var>?​reserve</​ruleml:​var>​ 
-            <​ruleml:​var>?​resource</​ruleml:​var>​ 
-        </​swrlx:​individualPropertyAtom>​ 
-        <​swrlx:​datavaluedPropertyAtom swrlx:​property="​dateTime">​ 
-            <​ruleml:​var>?​reserve</​ruleml:​var>​ 
-            <​ruleml:​var>?​time</​ruleml:​var>​ 
-        </​swrlx:​datavaluedPropertyAtom>​ 
-        <​swrlx:​individualPropertyAtom swrlx:​property="​quantity">​ 
-            <​ruleml:​var>?​reserve</​ruleml:​var>​ 
-            <​ruleml:​var>?​quantity</​ruleml:​var>​ 
-        </​swrlx:​individualPropertyAtom>​ 
-        <​swrlx:​datavaluedPropertyAtom swrlx:​property="​amount">​ 
-            <​ruleml:​var>?​quantity</​ruleml:​var>​ 
-            <​ruleml:​var>?​amount</​ruleml:​var>​ 
-        </​swrlx:​datavaluedPropertyAtom>​ 
-        <​swrlx:​individualPropertyAtom swrlx:​property="​consumption">​ 
-            <​ruleml:​var>?​consumer</​ruleml:​var>​ 
-            <​ruleml:​var>?​consumption</​ruleml:​var>​ 
-        </​swrlx:​individualPropertyAtom>​ 
-        <​swrlx:​individualPropertyAtom swrlx:​property="​consumptionType">​ 
-            <​ruleml:​var>?​consumption</​ruleml:​var>​ 
-            <​ruleml:​var>?​resource</​ruleml:​var>​ 
-        </​swrlx:​individualPropertyAtom>​ 
-        <​swrlx:​datavaluedPropertyAtom swrlx:​property="​consumptionRate">​ 
-            <​ruleml:​var>?​consumption</​ruleml:​var>​ 
-            <​ruleml:​var>?​rate</​ruleml:​var>​ 
-        </​swrlx:​datavaluedPropertyAtom>​ 
-        <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;​greaterThanOrEqual">​ 
-            <​ruleml:​var>?​amount</​ruleml:​var>​ 
-            <​ruleml:​var>?​rate</​ruleml:​var>​ 
-            <​ruleml:​var/>​ 
-        </​swrlx:​builtinAtom>​ 
-    </​ruleml:​_body>​ 
-</​ruleml:​imp>​ 
-</​code>​ 
- 
-[[pl:​miw:​miw08_hml_rules:​owl|Więcej przykładów SWRL (na podstawie OWL)]] 
- 
-====== Sprawozdanie ====== 
-====== Prezentacja ====== 
-====== Materiały ====== 
-  * [[http://​www.w3.org/​Submission/​SWRL/​|SWRL]] 
-  * [[http://​oxygen.informatik.tu-cottbus.de/​rewerse-i1/?​q=node/​15]] 
-  * [[http://​st.inf.tu-dresden.de/​OCLApps2006/​topic/​acceptedPapers/​04_Gasevic_OnInterchanging.pdf]] 
-  * [[http://​www.w3.org/​2005/​rules/​wg/​wiki/​Implementations/​SWRL|zależności RIF <-> SWRL]] 
-  * [[http://​protege.cim3.net/​cgi-bin/​wiki.pl?​SWRLLanguageFAQ]] 
-  * [[http://​vistology.com/​papers/​SWRLp.PDF|SWRL Presentation Proposal]] 
-  * [[pl:​miw:​miw08_hml_rules:​owl|SWRL na podstawie OWL - podstawy, przykłady]] 
pl/miw/2009/miw09_swrltrans.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