Różnice

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

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:2009:miw09_swrltrans [2009/03/16 20:42]
mikel
pl:miw:2009:miw09_swrltrans [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
-====== ​Opis ====== +~~ODT~~ 
-Michał Lesiak <mikelik@o2.pl>+====== ​MIW 2009 SWRLtrans ​====== 
 + 
 +**Zrealizował**: [[mikelik@o2.pl|Michał Lesiak]] (4RI)
  
 :!::!: :!::!:
Linia 14: Linia 16:
 [[student:​msc2008_xml_knowledge_transformation:​xttml2rif]] [[student:​msc2008_xml_knowledge_transformation:​xttml2rif]]
  
-====== ​Spotkania ​====== +====== ​Prezentacja ​====== 
-===== 20090319 ​==== +[[pl:miw:2009:miw09_swrltrans:prezentacja|Prezentacja wyników projektowych]].
-[[#​przyklad_xtt_-_swrl]] +
-===== 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? +====== Spotkania ====== 
-np. [[https://​ai.ia.agh.edu.pl/​wiki/​_media/​pl:miw:thermostat2.0.xml?​id=pl%3Amiw%3Amiw08_xtt_xml&​cache=cache|thermostat2.0]]+[[pl:miw:2009:​miw09_swrltrans:​spotkania|Notatki ze spotkań projektowych]].
  
-=== xtt -> r2ml -> swrl (niepolecane)=== +====== ​Projekt ======
-xtt -> r2ml: https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_xtt_r2ml:​translator+
  
-r2ml -> swrlhttp://​www.eclipse.org/​m2m/​atl/​atlTransformations/#​R2ML2SWRL (przy pomocy transformacji ATL)+[[pl:miw:2009:​miw09_swrltrans:​projekt|Implementacja translacji w prologu]].
  
-====== ​Projekt ​======+====== ​Sprawozdanie ​======
  
 ===== Założenia ===== ===== 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]]+W projekcie ​miał zostać ​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]].\\ 
 +Ostatecznie został stworzony translator w prologu, gdyż XSLT okazał się nie wystarczającym narzędziem.\\
  
 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ć. 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ć.
Linia 87: Linia 77:
   * 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 [[http://​www.w3.org/​2005/​rules/​wg/​draft/​rif-dtb/#​Appendix:​_Schemas_for_Externally_Defined_Terms]].
 +  * 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]]
Linia 146: Linia 137:
 ==swrlx:​differentIndividualsAtom== ==swrlx:​differentIndividualsAtom==
 ==swrlx:​builtinAtom== ==swrlx:​builtinAtom==
 +
 +
 +==== Fragment drzewa syntaktycznego ====
 +{{:​pl:​miw:​2009:​miw09_swrltrans:​swrlx.png|}}
 +===== Translacja XTT na SWRL =====
 +
 +W SWRL występuje ciąg aksjomatów (axioms) i faktów, gdzie aksjomaty to reguły i klasy obiektów. SWRL przewiduje tylko proste obliczenia matematyczne (builtIn),
 +ale poprawność syntaktyczna nie jest sprawdzana. Np. operacja "​builtIn(op:​numeric-add ?x 5)" (czyli: x + 5 zamiast np. 6 = x + 5) jest poprawna i zwraca wartość fałszu. SWRL bazuje na opisie i właściwościach klas obiektów.
 +To zdecydowanie odmienne podejście niż w przypadku XTT powoduje problemy w translacji między tymi językami.
 +
 +==== Problemy w translacji ====
 +
 +1. Możliwość stosowania tylko predykatów binarnych w SWRL (w XTT brak ograniczenia),​\\
 +2. Brak możliwości zagnieżdżania obliczeń matematycznych w SWRL,\\
 +3. Brak możliwości korzystania z predykatów zdefiniowanych zewnętrznie,​\\
 +4. SWRL nie obsługuje negacji ani alternatywy.
 +
 +==== Rodzaje podejść ====
 +
 +=== Translacja identycznościowa ===
 +
 +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).\\
 +
 +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 2. Rozwiązaniem jest stworzenie serii zmiennych pomocniczych,​ które przechowywałyby wyniki obliczeń kolejno w sobie zagnieżdżonych operacji.\\
 +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).\\
 +
 +Przykład translacji identycznościowej:​
 +[[#​Przykład translacji identycznościowej XTT -> SWRL| Przykład translacji identycznościowej XTT -> SWRL]]
 +
 +=== Translacja obiektowa ===
 +Translacja, której wynikiem byłby XML SWRL taki, że interpreter SWRL stwierdziłby poprawność XML, ale nie byłby w stanie wykonać działań (operacji) analogicznie do tego jak zrobiłby to interpreter XTT.
 +Translacja powodowałaby przedstawienie obliczeń i operacji w postaci klas i obiektów.\\
 +
 +Najbardziej właściwa dla SWRLa wydaje się propozycja przedstawiania zmiennych/​operacji/​funkcji jako klas, posiadających odpowiednie własności:​ wartość (własność:​ "​value"​),​ operacja (własność zależna od operacji).\\
 +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]]
  
 ==== Przykład Prolog -> SWRL ==== ==== Przykład Prolog -> SWRL ====
 +
 +Przykład pokazuje rozwiązanie problemu translacji predykatów o arności większej niż 2.
 +
 //​[[http://​vistology.com/​papers/​SWRLp.PDF|SWRL example]]//​\\ //​[[http://​vistology.com/​papers/​SWRLp.PDF|SWRL example]]//​\\
 Kod w Prologu: Kod w Prologu:
Linia 222: Linia 260:
 [[pl:​miw:​miw08_hml_rules:​owl|Więcej przykładów SWRL (na podstawie OWL)]] [[pl:​miw:​miw08_hml_rules:​owl|Więcej przykładów SWRL (na podstawie OWL)]]
  
-==== Przykład XTT -> SWRL ===+==== Przykład ​translacji identycznościowej ​XTT -> SWRL ===
  
 XTT: [[hekate:​hekate_markup_language#​xttml]] XTT: [[hekate:​hekate_markup_language#​xttml]]
Linia 231: Linia 269:
  
  
-Propozycja SWRL:+Propozycja ​translacji identycznościowej ​SWRL: (sprawdzona poprawność składniowa przez [[http://​www.w3.org/​2001/​03/​webdata/​xsv]])
 <​code>​ <​code>​
-<?xml version="1.0" encoding="​UTF-8"​?>+<?xml version='1.0' ​?>
 <​!DOCTYPE swrlx:​Ontology [ <​!DOCTYPE swrlx:​Ontology [
 <!ENTITY swrlb '​http://​www.w3.org/​2003/​11/​swrlb'>​ <!ENTITY swrlb '​http://​www.w3.org/​2003/​11/​swrlb'>​
-<!ENTITY xsd '​http://​www.w3.org/​2001/​XMLSchema'>​+<!ENTITY xsd '​http://​www.w3.org/​2001/​XMLSchema'> ​  
 +<!ENTITY map '​http://​www.daml.org/​2001/​06/​map/​map-ont#​'>
 ]> ]>
  
Linia 242: Linia 281:
     xmlns:​owlx="​http://​www.w3.org/​2003/​05/​owl-xml"​     xmlns:​owlx="​http://​www.w3.org/​2003/​05/​owl-xml"​
     xmlns:​swrlx="​http://​www.w3.org/​2003/​11/​swrlx"​     xmlns:​swrlx="​http://​www.w3.org/​2003/​11/​swrlx"​
-    xmlns:​ruleml="​http://​www.w3.org/​2003/​11/​ruleml">​+    xmlns:​ruleml="​http://​www.w3.org/​2003/​11/​ruleml"​ 
 +    xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance"​ 
 +    xsi:​schemaLocation="​http://​www.w3.org/​2003/​11/​swrlx http://​www.ruleml.org/​swrl/​xsd/​swrlx.xsd"​ 
 +    ​>
     <​owlx:​Annotation>​     <​owlx:​Annotation>​
         <​owlx:​Documentation>​ XTT to SWRL Translator</​owlx:​Documentation>​         <​owlx:​Documentation>​ XTT to SWRL Translator</​owlx:​Documentation>​
Linia 248: Linia 290:
     <​owlx:​VersionInfo>​v 1.0 2009/03/15 Michal Lesiak mikelik@o2.pl</​owlx:​VersionInfo>​     <​owlx:​VersionInfo>​v 1.0 2009/03/15 Michal Lesiak mikelik@o2.pl</​owlx:​VersionInfo>​
     ​     ​
-    <xsl:stylesheet version ​'​2.0'​ xmlns:xsl='http://www.w3.org/1999/XSL/Transform'​+    <owlx:ObjectProperty owlx:name="​table"/>​ 
-        <xsl:output method="xml" ​version="1.0" ​indent="yes"/>+    <​owlx:​ObjectProperty owlx:name="​link"/>​ 
 +     
 +    <ruleml:var>​att_0<​/ruleml:​var>​ 
 +    <​ruleml:​var>​att_1<​/ruleml:​var>​ 
 +    <​ruleml:​var>​temp1<​/ruleml:​var>​ 
 +     
 +    <​ruleml:​imp>​ 
 +        <​ruleml:​_rlab ruleml:​href="​rul_1a"​/
 +        <​owlx:​Annotation>​ 
 +            <​owlx:​Documentation>​ 
 +                Ta reguła dotyczy: if att_0 nalezy do zbioru (1,5) 
 +            </owlx:​Documentation
 +        </​owlx:​Annotation>​ 
 +        <​ruleml:​_body>​ 
 +            <​swrlx:​builtinAtom ​ swrlx:builtin="&​swrlb;#​greaterThanOrEqual"
 +                <​ruleml:​var>​att_0</​ruleml:​var>​ 
 +                <​owlx:​DataValue owlx:​datatype="&​xsd;#​int">​1</​owlx:​DataValue>​ 
 +            </​swrlx:​builtinAtom>​ 
 +             
 +            <​swrlx:​builtinAtom ​ swrlx:​builtin="&​swrlb;#​lessThanOrEqual">​ 
 +                <​ruleml:​var>​att_0</​ruleml:​var>​ 
 +                <​owlx:​DataValue owlx:​datatype="&​xsd;#​int">​5</​owlx:​DataValue>​ 
 +            </​swrlx:​builtinAtom>​ 
 +        </​ruleml:​_body>​ 
 +        <​ruleml:​_head>​ 
 +            <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;#​add">​ 
 +                <​ruleml:​var>​att_1</​ruleml:​var>​ 
 +                <​ruleml:​var>​att_0</​ruleml:​var>​ 
 +                <​owlx:​DataValue owlx:​datatype="&​xsd;#​int">​1</​owlx:​DataValue>​ 
 +            </​swrlx:​builtinAtom>​ 
 +             
 +            <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;#​sin">​ 
 +                <​ruleml:​var>​temp1</​ruleml:​var>​ 
 +                <​ruleml:​var>​att_0</​ruleml:​var>​ 
 +            </​swrlx:​builtinAtom>​ 
 +             
 +            <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;#​add">​ 
 +                <​ruleml:​var>​att_1</​ruleml:​var>​ 
 +                <​owlx:​DataValue owlx:​datatype="&​xsd;#​int">​5</​owlx:​DataValue>​ 
 +                <​ruleml:​var>​temp1</​ruleml:​var>​ 
 +            </​swrlx:​builtinAtom>​ 
 +             
 +        </​ruleml:​_head>​ 
 +    </​ruleml:​imp>​ 
 +     
 +    <​owlx:​Individual owlx:​name="​rul_1a">​ 
 +        <​owlx:​ObjectPropertyValue owlx:​property="​table">​  
 +            <​owlx:​Individual owlx:​name="#​xtt_1"​ />  
 +        </​owlx:​ObjectPropertyValue>​  
 +        <​owlx:​ObjectPropertyValue owlx:​property="​link">​  
 +            <​owlx:​Individual owlx:​name="#​xtt_1"​ />  
 +        </​owlx:​ObjectPropertyValue>​  
 +        <​!-- ​ owlx:type owlx:​name="​typu_np._link" ​- jakis typ obiektu czyli klasa" /> --> 
 +        <!-- może być tez wartość typu string 
 +            <​owlx:​DataPropertyValue owlx:​property="link"
 +            <​owlx:​DataValue owlx:​datatype="&​xsd;​string">​xtt_1</​owlx:​DataValue>​  
 +            </​owlx:​DataPropertyValue>​ --> 
 +    </​owlx:​Individual>​ 
 +     
 +    <​ruleml:​imp>​ 
 +        <​ruleml:​_rlab ruleml:​href="​rul_1b"/>​ 
 +        <​owlx:​Annotation>​ 
 +            <​owlx:​Documentation>​ 
 +                Ta reguła dotyczy: if att_0 jest rowne 8 
 +            </​owlx:​Documentation>​ 
 +        </​owlx:​Annotation>​ 
 +        <​ruleml:​_body>​ 
 +            <​swrlx:​datarangeAtom>​  
 +                <​owlx:​OneOf>​ 
 +                    <​owlx:​DataValue owlx:​datatype="&​xsd;​int">​8</​owlx:​DataValue>​ 
 +                </​owlx:​OneOf>​ 
 +                <​ruleml:​var>​att_0</​ruleml:​var>​ 
 +            </​swrlx:​datarangeAtom>​  
 +        </​ruleml:​_body>​ 
 +        <​ruleml:​_head>​ 
 +            <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;#​add">​ 
 +                <​ruleml:​var>​att_1</​ruleml:​var>​ 
 +                <​ruleml:​var>​att_0</​ruleml:​var>​ 
 +                <​owlx:​DataValue owlx:​datatype="&​xsd;#​int">​1</​owlx:​DataValue>​ 
 +            </​swrlx:​builtinAtom>​ 
 +             
 +            <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;#​sin">​ 
 +                <​ruleml:​var>​temp1</​ruleml:​var>​ 
 +                <​ruleml:​var>​att_0</​ruleml:​var>​ 
 +            </​swrlx:​builtinAtom>​ 
 +             
 +            <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;#​add">​ 
 +                <​ruleml:​var>​att_1</​ruleml:​var>​ 
 +                <​owlx:​DataValue owlx:​datatype="&​xsd;#​int">​5</​owlx:​DataValue>​ 
 +                <​ruleml:​var>​temp1</​ruleml:​var>​ 
 +            </​swrlx:​builtinAtom>​ 
 +             
 +        </​ruleml:​_head>​ 
 +    </​ruleml:​imp>​ 
 +     
 +    <​owlx:​Individual owlx:​name="​rul_1b">​ 
 +        <​owlx:​ObjectPropertyValue owlx:​property="​table">​  
 +            <​owlx:​Individual owlx:​name="#​xtt_1"​ />  
 +        </​owlx:​ObjectPropertyValue>​  
 +        <​owlx:​ObjectPropertyValue owlx:​property="​link">​  
 +            <​owlx:​Individual owlx:​name="#​xtt_1"​ />  
 +        </​owlx:​ObjectPropertyValue>​  
 +    </​owlx:​Individual>​ 
 +     
 +</​swrlx:​Ontology>​ 
 +</code>
  
-<​ruleml:​var>​att_0</​ruleml:​var>​ +==== Przykład translacji obiektowej XTT -SWRL ===
-<​ruleml:​var>​att_1</​ruleml:​var>​ +
-<​ruleml:​var>​temp1</​ruleml:​var>+
  
-        <ruleml:imp> +XTT[[hekate:hekate_markup_language#​xttml]] 
-            <ruleml:_rlab name="​rul_1"> ​               ​ + 
-            </​ruleml:_rlab> +W skrócie:\\ 
-            <​owlx:Annotation>​ +xtt_1:\\ 
-                ​Uwzgledniac opis? np. przynaleznosc do tabeli +rule_1: if att_0 in <1,5>u{8} then att_1 = att_0 + 1 and att_1 5 + sin(att_0)\\ 
-                Ta reguła dotyczy: if att_0 [1,5]             + 
-            </​owlx:​Annotation> +Poniżej translacja tylko fragmentu XTT, gdyż reszta jest analogiczna
-            <​ruleml:​_body>​ + 
-                <​swrlx:​builtinAtom ​ swrlx:​builtin="&​swrlb;#​greaterThanOrEqual">​ +XTT
-                    <​ruleml:​var>​att_0</​ruleml:​var>​ +<code
-                    <​owlx:​DataValue owlx:​datatype="&​xsd;#​int">​1</​owlx:​DataValue>​ +            <logop name="in">​ 
-                </​swrlx:builtinAtom>​ +                <attref ref="att_0"/>​ 
-                 +                <domain
-                <​swrlx:builtinAtom ​ swrlx:​builtin="&​swrlb;#​lessThanOrEqual">​ +                    <range from="1" ​to="5"/>​ 
-                    <ruleml:​var>​att_0</​ruleml:​var+                    <value>8</value
-                    <owlx:​DataValue owlx:​datatype="&​xsd;#​int">​5</​owlx:​DataValue+                </domain
-                </​swrlx:​builtinAtom>​ +            </logop
-            </​ruleml:​_body>​ +</code
-            <​ruleml:​_head>​ + 
-                <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;#​add"+ 
-                    <​ruleml:​var>​att_1<​/ruleml:var+SWRL
-                    <ruleml:​var>​att_0</​ruleml:​var+<code
-                    <owlx:​DataValue owlx:​datatype="&​xsd;#​int">​1</​owlx:​DataValue>​ +<owlx:Individual>
-                </​swrlx:​builtinAtom>​ +
-                 +
-                <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;#​sin"+
-                    <​ruleml:​var>​temp1<​/ruleml:var+
-                    <ruleml:var>att_0</ruleml:var+
-                </swrlx:​builtinAtom+
-                 +
-                <​swrlx:​builtinAtom swrlx:​builtin="&​swrlb;#​add">​ +
-                    <​ruleml:​var>​att_1</ruleml:var+
-                    <​owlx:​DataValue owlx:​datatype="&​xsd;#​int">​5</owlx:​DataValue+
-                    <​ruleml:​var>​temp1</​ruleml:​var>​ +
-                </​swrlx:builtinAtom>​ +
-            </​ruleml:​_head+
-        </ruleml:imp>+
         ​         ​
-        <owlx:DatatypeProperty ​owlx:name="link"/+        <owlx:ObjectPropertyValue ​owlx:property="logop">​ 
-       ​ +            <​owlx:​Individual>​ 
-        <​owlx:​Individual owlx:​name="​rul_1">​ +                <​owlx:​ObjectPropertyValue owlx:​property="​attribute">​ 
-            <​owlx:​ObjectPropertyValue owlx:​property="​table">  +                    ​<​owlx:​Individual
-                <​owlx:​Individual owlx:name="#xtt_1" />  +                        <owlx:DataPropertyValue owlx:​property="​name">​ 
-            </​owlx:​ObjectPropertyValue>​  +                            <​owlx:​DataValue owlx:​datatype="&​xsd;​string">in</​owlx:​DataValue>​  
-            <​owlx:​ObjectPropertyValue owlx:​property="​link">  +                        </​owlx:​DataPropertyValue>​ 
-                <​owlx:​Individual owlx:name="#xtt_1" ​/>  +                    </​owlx:​Individual>​ 
-            </owlx:​ObjectPropertyValue>​  +                </​owlx:​ObjectPropertyValue>​ 
-            <!--  ​owlx:type owlx:name="typu_np._link" ​- jakis typ obiektu czyli klasa" /> --+ 
-            <!-- może być tez wartość typu string +            <​owlx:​ObjectPropertyValue owlx:​property="​attref">​ 
-                <​owlx:​DataPropertyValue owlx:​property="​link">​ +                <​owlx:​Individual
-                <​owlx:​DataValue owlx:​datatype="&​xsd;​string">​xtt_1</​owlx:​DataValue>​  +                    <owlx:ObjectPropertyValue owlx:​property="attribute"
-            </​owlx:​DataPropertyValue> ​--+                        <​owlx:​Individual>​ 
-        </​owlx:​Individual>​ +                            <​owlx:​DataPropertyValue owlx:​property="​ref">​ 
-</swrlx:Ontology>+                                <​owlx:​DataValue owlx:​datatype="&​xsd;​string">​in<​/owlx:​DataValue>​  
 +                            </​owlx:​DataPropertyValue>​ 
 +                        </​owlx:​Individual>​ 
 +                    </​owlx:​ObjectPropertyValue>​ 
 +                </​owlx:​Individual
 +            </​owlx:​ObjectPropertyValue>​ 
 +                ​ 
 +            <​owlx:​ObjectPropertyValue owlx:​property="​domain">​ 
 +                <​owlx:​Individual
 +                <owlx:ObjectPropertyValue owlx:​property="range">​ 
 +                    <​owlx:​Individual>​ 
 +                        ​<​owlx:​ObjectPropertyValue ​owlx:​property="​attribute"​
 +                            <owlx:Individual>​ 
 +                                <owlx:DataPropertyValue owlx:​property="from"
 +                                    <​owlx:​DataValue owlx:​datatype="&​xsd;​string">​1<​/owlx:​DataValue 
 +                                </​owlx:​DataPropertyValue
 +                                <owlx:​DataPropertyValue owlx:​property="​to">​ 
 +                                    <​owlx:​DataValue owlx:​datatype="&​xsd;​string">​5</​owlx:​DataValue>​  
 +                                </​owlx:​DataPropertyValue>​ 
 +                            </​owlx:​Individual>​ 
 +                        </​owlx:​ObjectPropertyValue>​ 
 +                    </​owlx:​Individual>​ 
 +                ​</​owlx:​ObjectPropertyValue>​ 
 +                    ​<​owlx:​DataPropertyValue owlx:​property="​value">​ 
 +                        <​owlx:​DataValue owlx:​datatype="&​xsd;​string">​8</​owlx:​DataValue>​  
 +                    </​owlx:​DataPropertyValue>​ 
 +                </​owlx:​Individual              ​ 
 +            </​owlx:​ObjectPropertyValue>​ 
 +            ​</​owlx:​Individual>​ 
 +        </owlx:ObjectPropertyValue>​ 
 +     
 +    </​owlx:​Individual>
 </​code>​ </​code>​
  
-====== Sprawozdanie ====== 
-====== Prezentacja ====== 
 ====== Materiały ====== ====== Materiały ======
   * [[http://​www.w3.org/​Submission/​SWRL/​|SWRL]]   * [[http://​www.w3.org/​Submission/​SWRL/​|SWRL]]
Linia 321: Linia 481:
   * [[http://​vistology.com/​papers/​SWRLp.PDF|SWRL Presentation Proposal]]   * [[http://​vistology.com/​papers/​SWRLp.PDF|SWRL Presentation Proposal]]
   * [[pl:​miw:​miw08_hml_rules:​owl|SWRL na podstawie OWL - podstawy, przykłady]]   * [[pl:​miw:​miw08_hml_rules:​owl|SWRL na podstawie OWL - podstawy, przykłady]]
 +  * [[http://​www.oxygenxml.com/​|Oxygen - darmowy edytor XML]]
 +  * [[http://​www.w3.org/​2001/​03/​webdata/​xsv|Sprawdzanie poprawności XML]]
pl/miw/2009/miw09_swrltrans.1237232525.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (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