Różnice

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

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
pl:miw:miw08_hml_rules:ruleml [2008/05/19 19:00]
miw
pl:miw:miw08_hml_rules:ruleml [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +**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
 +
 +<code xml>
 +<Var> B </​Var>​
 +</​code>​
 +
 +  * stałe argumenty: 20
 +
 +<code xml>
 +<Data xsi:type = "​xs:​integer">​ 20 </​Data>​
 +</​code>​
 +
 +  * suma: n+1
 +
 +<code xml>
 +<​Expr>​
 +<Fun in="​yes">​ add </​Fun>​
 +    <Var> n </​Var>​
 +    <Ind> 1 </​Ind>​
 +</​Expr>​
 +</​code>​
 +
 +  * różnica: n-1
 +
 +<code xml>
 +<​Expr>​
 +<Fun in="​yes">​ subtract </​Fun>​
 +   <​Var>​ n </​Var>​
 +   <​Ind>​ 1 </​Ind>​
 +</​Expr>​
 +</​code>​
 +
 +  * równość: (wyr_1) = (wartosc)
 +
 +<code xml>
 +<Equal oriented="​yes">​
 +  <lhs>
 +     ​(wyr_1)
 +  </​lhs>​
 +  <rhs>
 +     ​(wartosc)
 +  </​rhs>​
 +</​Equal>​
 +</​code>​
 +
 +Atrybut ‘oriented’ przyjmuje wartość ‘yes’ (directed equation) lub ‘no’ (undirected equation, default)
 +(<​lhs>​ (left hand side) i <rhs> (right hand side) moga być pominiete, pomagaja w okresleniu orientacji)
 +
 +  * nierówność: ​ n > 0
 +
 +<code xml>
 +<Rel> greaterThan </​Rel>​
 +    <​Var>​n</​Var>​
 +    <​Ind>​0</​Ind>​
 +</​code>​
 +
 +  * nierówność: ​ n <= 1
 +
 +<code xml>
 +<Rel> lessThanorEqual </​Rel>​
 +    <​Var>​n</​Var>​
 +    <​Ind>​0</​Ind>​
 +</​code>​
 +
 +  * suma logiczna : (wyr_1) and (wyr_2)
 +
 +<code xml>
 +<And>
 +  <​Atom>​
 +       ​(wyr_1)
 +  </​Atom>​
 +  <​Atom>​
 +       ​(wyr_2)
 +  </​Atom>​
 +</​And>​
 +</​code>​
 +
 +  * warunek if : (conclusion) if (conditions)
 +
 +<code xml>
 +<​Implies>​
 +  <​head>​
 +    (conclusion)
 +  </​head>​
 +  <​body>​
 +    (conditions)
 +  </​body>​
 +</​Implies>​
 +</​code>​
 +
 +  * funkcje: fun_name(B)
 +
 +<code xml>
 +<Fun in="​…"​ val="​…">​ fun_name </​Fun>​
 +   <​Var>​ B </​Var>​
 +</​code>​
 +
 +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:​
 +
 +<code xml>
 +<?xml version="​1.0"​ encoding="​UTF-8"?>​
 +
 +<​RuleML ​ xmlns=http://​www.ruleml.org/​0.91/​xsd
 +xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance"​
 +xsi:​schemaLocation="​http://​www.ruleml.org/​0.91/​xsd http://​www.ruleml.org/​0.91/​xsd/​hornlogeq.xsd">​
 +<​Implies>​
 +    <​head>​
 +      <Equal oriented="​yes">​
 +      <lhs>
 +          <Var> day </​Var>​
 +      </​lhs>​
 +      <rhs>
 +          <Data xsi:​type="​xs:​dateTime">​monday</​Data>​
 +      </​rhs>​
 +      </​Equal>  ​
 +    </​head>​
 +    <​body>​
 +      <​Atom>​
 +          <Rel> temp </​Rel>​
 +          <Data xsi:type = "​xs:​float">​ 20 </​Data>​
 +      </​Atom>​
 +    </​body>​
 +</​Implies>​
 +</​RuleML>​
 +</​code>​
 +
 +
 +[[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/​
 +
  
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