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/04/07 21:31]
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 ​====== 
-===== 20090402 ==== +[[pl:miw:2009:​miw09_swrltrans:​prezentacja|Prezentacja wyników projektowych]].
-   * SWRL nie obsługuje ani negacji ani alternatywy. Problem zapisania regułyjeżeli x jest w zbiorze <1,2> lub 3 to (...) - konieczność rozbicia na 2 reguły (suma zbiorów odpowiada alternatywnym regułom) +
-   * '​Union'​ dotyczy tylko klas (nie liczb czy właściwości),​ to zapisu typu wyliczeniowego1 lub 2 lub 3 służy OneOf. +
-   * <range from="​1"​ to="​5"/>​ - w SWRL brak zmiennej typu '​range',​ należy stworzyć zmienną i operacjami matematycznymi (built-ins) sprawdzić: >= 1 oraz <= 5 +
-   * HQed - wersja z okreslonym XTT? +
-   * problem z zagnieżdżeniem - udało się zrobić zliczanie zagnieżdżeń,​ ciężko ze wstawianiem zmiennych temp* we właściwe miejsce (funkcja position() i brak odniesienia w przypadku dwóch reguł w xtt)+
  
-===== 20090319 ==== 
-   * [[#​przyklad_xtt_-_swrl]] 
-   * konieczność utworzenia zmiennych tymczasowych (u mnie: temp1), ponieważ nie można zagnieżdżać funkcji w funkcji, np. builtin sin w builtin add ([[http://​www.w3.org/​Submission/​SWRL/​swrlx.xsd|swrlx.xsd]]). 
-   * za pomocą transformacji XSL trzeba policzyć ilość zagnieżdżeń,​ ilość predykatów o arności więcej niż 2, (...) - skomplikowane (o ile wykonalne) - sugestia zmiany narzędzia z XSLT, może napisać rodzaj '​kompilatora'?​ 
  
-===== 20090305 ​==== +====== Spotkania ====== 
-  * 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]])\\ +[[pl:miw:2009:miw09_swrltrans:spotkania|Notatki ze spotkań projektowych]].
-  * <​del>​Bazować jedynie na specyfikacji:​ [[hekatedev:​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 ​==== +====== Projekt ​======
-  * 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]] +
-  * [[hekatedev:​hqed:​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)=== +[[pl:miw:2009:miw09_swrltrans:​projekt|Implementacja translacji w prologu]].
-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) +====== ​Sprawozdanie ​======
- +
-====== ​Projekt ​======+
  
 ===== 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 159: Linia 139:
  
  
 +==== Fragment drzewa syntaktycznego ====
 +{{:​pl:​miw:​2009:​miw09_swrltrans:​swrlx.png|}}
 ===== Translacja XTT na SWRL ===== ===== Translacja XTT na SWRL =====
  
Linia 180: Linia 162:
  
 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.\\+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 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 3. Brak istniejącego rozwiązania.\\
Linia 186: Linia 168:
  
 Przykład translacji identycznościowej:​ Przykład translacji identycznościowej:​
-[[#​Przykład XTT -> SWRL| Przykład XTT -> SWRL]]+[[#​Przykład ​translacji identycznościowej ​XTT -> SWRL| Przykład ​translacji identycznościowej ​XTT -> SWRL]]
  
 === Translacja obiektowa === === 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ć ​wszystkich ​działań (operacji) analogicznie do interpretera ​XTT.+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.\\ Translacja powodowałaby przedstawienie obliczeń i operacji w postaci klas i obiektów.\\
  
-Najbardziej właściwa dla SWRLa wydaje się propozycja przedstawiania zmiennych jako klas, posiadających odpowiednie własności:​ wartość (własność:​ "​value"​),​ operacja (własność zależna od operacji).\\+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. 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 ====
Linia 412: Linia 398:
 </​code>​ </​code>​
  
-====== ​Sprawozdanie ​====== +==== Przykład translacji obiektowej XTT -> SWRL === 
-====== ​Prezentacja ​======+ 
 +XTT: [[hekate:​hekate_markup_language#​xttml]] 
 + 
 +W skrócie:​\\ 
 +xtt_1:\\ 
 +rule_1: if att_0 in <​1,​5>​u{8} then att_1 att_0 + 1 and att_1 5 + sin(att_0)\\ 
 + 
 +Poniżej translacja tylko fragmentu XTT, gdyż reszta jest analogiczna:​ 
 + 
 +XTT: 
 +<​code>​ 
 +            <logop name="​in">​ 
 +                <attref ref="​att_0"/>​ 
 +                <​domain>​ 
 +                    <range from="​1"​ to="​5"/>​ 
 +                    <​value>​8</​value>​ 
 +                </​domain>​ 
 +            </​logop>​ 
 +</​code>​ 
 + 
 + 
 +SWRL: 
 +<​code>​ 
 +<​owlx:​Individual>​ 
 +        ​ 
 +        <​owlx:​ObjectPropertyValue owlx:​property="​logop">​ 
 +            <​owlx:​Individual>​ 
 +                <​owlx:​ObjectPropertyValue owlx:​property="​attribute">​ 
 +                    <​owlx:​Individual>​ 
 +                        <​owlx:​DataPropertyValue owlx:​property="​name">​ 
 +                            <​owlx:​DataValue owlx:​datatype="&​xsd;​string">​in</​owlx:​DataValue>​  
 +                        </​owlx:​DataPropertyValue>​ 
 +                    </​owlx:​Individual>​ 
 +                </​owlx:​ObjectPropertyValue>​ 
 + 
 +            <​owlx:​ObjectPropertyValue owlx:​property="​attref">​ 
 +                <​owlx:​Individual>​ 
 +                    <​owlx:​ObjectPropertyValue owlx:​property="​attribute">​ 
 +                        <​owlx:​Individual>​ 
 +                            <​owlx:​DataPropertyValue owlx:​property="​ref">​ 
 +                                <​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>​ 
 ====== Materiały ====== ====== Materiały ======
   * [[http://​www.w3.org/​Submission/​SWRL/​|SWRL]]   * [[http://​www.w3.org/​Submission/​SWRL/​|SWRL]]
pl/miw/2009/miw09_swrltrans.1239132701.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