[[
✎ pl:miw:miw08_hml_rules:ruleml
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
**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/
pl/miw/miw08_hml_rules/ruleml.txt
· ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry