**RuleML - Rule Markup Language** jest językiem powstałym w ramach inicjatywy [[http://www.w3.org/2001/sw/|Semantic Web]], służącym do zapisywania reguł logicznych na bazie składni języka XML. W istocie, język RuleML rozszerza język OWL o dynamiczne aspekty modelowania wiedzy. RuleML obejmuje m.in. *Mathematical Markup Language (MathML) *DARPA Agent Markup Language (DAML) *Predictive Model Markup Language (PMML) *Gramatyke atrybutów w XML (AG-znaczników): *Transformacje XSL (XSLT) Podobnie jak to było w przypadku R2ML, nie musimy być zaznajomieni ze wszystkimi elementami języka RuleML w celu jego wykorzystania. Aby można było użyć RuleML do przedstawiania reguł potrzebna jest wiedza jak zapisywać typowe dla nich elementy. Przykłady takich elementów (RuleML ver. 0.91): * wartosc logiczna: B B * stałe argumenty: 20 20 * suma: n+1 add n 1 * różnica: n-1 subtract n 1 * równość: (wyr_1) = (wartosc) (wyr_1) (wartosc) Atrybut ‘oriented’ przyjmuje wartość ‘yes’ (directed equation) lub ‘no’ (undirected equation, default) ( (left hand side) i (right hand side) moga być pominiete, pomagaja w okresleniu orientacji) * nierówność: n > 0 greaterThan n 0 * nierówność: n <= 1 lessThanorEqual n 0 * suma logiczna : (wyr_1) and (wyr_2) (wyr_1) (wyr_2) * warunek if : (conclusion) if (conditions) (conclusion) (conditions) * funkcje: fun_name(B) fun_name B Atrybut ‘in’ przyjmuje wartości “yes”(uninterpreted functions – nie uzywaja definicji funkcji) lub “no”(interpreted functions – uzywaja definicji funkcji), in=”semi” to wartość domyślna (neutralna). Atrybut ‘val’ określa czy funkcja jest determistyczna czy nie determistyczna; dopuszczalne wartości „1”- dokładnie jeden , „0…” – zero lub wiecej, „2”, „0…3” itp. Teraz możemy spróbować zapisać nasz przykład (Jeżeli dzień=poniedziałek wtedy temp=20st) za pomocą RuleML. Przedstawmy go w postaci: temp = 20 if day = monday wówczas w RuleML zapis bedzie wyglądał następująco: day monday temp 20 [[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_hml_rules|Powrót]] ====== Materiały ====== ** Więcej na stronie domowej RuleML** (http://www.ruleml.org/0.91/) ** Szczególnie przydatne** http://www.ruleml.org/0.91/glossary/ ** Więcej przykładów** http://www.ruleml.org/0.91/exa/