**R2ML – Reverse Rule Markup Language** powstał z inicjatywy [[http://oxygen.informatik.tu-cottbus.de/rewerse-i1/|REWERSE Working Group I1]], w celu ułatwienia wymiany reguł między różnymi systemami oraz narzędziami, wzbogacenia ontologii o reguły oraz możliwości łączenia systemów regułowych z narzedziami R2ML do wizualizacji, weryfikacji, walidacji oraz werbalizacji. R2ML wspiera Integrity Rules, Derivation Rules, Production Rules oraz Reaction Rules. R2ML integruje [[http://www.omg.org/technology/documents/formal/ocl.htm|Object Constraint Language (OCL)]], Semantic Web Rule Language (SWRL) oraz Rule Markup Language (RuleML).
Nie musimy być zaznajomieni ze wszystkimi elementami języka R2ML w celu wykorzystania jej wydajnością. Aby można było użyć R2ML’a do przedstawiania reguł potrzebna jest wiedza jak zapisywać typowe dla nich elementy. Poniżej przedstawiam kilka takich elementów zapisanych w R2ML ver.0.4:
* wartość logiczna: np: B
* stałe argumenty: np: 300
* suma: n+1
* różnica: n-1
* równość: (wyr_1) = (wartosc)
* nierówność: n > 0
* nierówność: n <= 1
* suma logiczna : (wyr_1) and (wyr_2)
* warunek if : (conclusion) if (conditions)
(conditions)
(conclusion)
* funkcje: fun_name(B)
Teraz możemy spróbować zapisać nasz przykład (Jeżeli dzień=poniedziałek wtedy temp=20st) za pomocą R2ML.
Przedstawmy go w postaci:
temp = 20 if day = monday
wówczas zapis w R2ML wyglada następująco:
If day is a monday then temp is equal to 20 degrees.
Inne przykłady przedstawienia reguł za pomocą R2ML można znaleźć na stronie: [[http://oxygen.informatik.tu-cottbus.de/rewerse-i1/?q=node/17|Rule Examples]]. Ciekawym przykładem może być również całość [[https://ai.ia.agh.edu.pl/wiki/hekate:hekate_case_thermostat|hekate_case_thermostat]] zapisana w R2ML: [[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_xtt_r2ml:thermostat|Therm in R2ML]]
[[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_hml_rules|Powrót]]
====== Materiały ======
** Więcej na stronie domowej** http://oxygen.informatik.tu-cottbus.de/rewerse-i1/?q=node/6
** Szczególnie przydatne** http://www.w3.org/TR/xpath20/
** Więcej przykładów** http://oxygen.informatik.tu-cottbus.de/rewerse-i1/?q=node/49
** Całość thermostat w R2ML** https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_xtt_r2ml:thermostat