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:miw08_hml_rules:r2ml [2008/05/19 17:45]
miw
pl:miw:miw08_hml_rules:r2ml [2008/05/19 18:33]
miw
Linia 1: Linia 1:
-**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 
- 
-<code xml> 
-<​r2ml:​GenericVariable r2ml:​name="​B"/>​ 
-</​code>​ 
- 
-  * stałe argumenty: np: 300 
- 
-<code xml> 
-<​r2ml:​TypedLiteral r2ml:​lexicalValue="​300"​ r2ml:​datatype="​xs:​integer"/>​ 
-</​code>​ 
- 
-  * suma: n+1 
- 
-<code xml> 
-<​r2ml:​DatatypeFunctionTerm r2ml:​datatypeFunction="​op:​numeric-add">​ 
-   <​r2ml:​dataArguments>​ 
-   <​r2ml:​GenericVariable r2ml:​name="​n"/>​ 
-      <​r2ml:​TypedLiteral r2ml:​lexicalValue="​1"​ r2ml:​datatype="​xs:​integer"/>​ 
-   </​r2ml:​dataArguments>​ 
-</​r2ml:​DatatypeFunctionTerm>​ 
-</​code>​ 
- 
-  * różnica: n-1 
- 
-<code xml> 
-<​r2ml:​DatatypeFunctionTerm r2ml:​datatypeFunction="​op:​numeric-subtract">​ 
-  <​r2ml:​dataArguments>​ 
-   <​r2ml:​GenericVariable r2ml:​name="​n"/>​ 
-       <​r2ml:​TypedLiteral r2ml:​lexicalValue="​1"​ r2ml:​datatype="​xs:​integer"/>​ 
-  </​r2ml:​dataArguments>​ 
-</​r2ml:​DatatypeFunctionTerm>​ 
-</​code>​ 
- 
-  * równość: (wyr_1) = (wartosc) 
- 
-<code xml> 
-<​r2ml:​EqualityAtomr2ml:​isNegated="​false">​ 
-   <​r2ml:​ObjectVariabler2ml:​name="​wyr_1"/>​ 
-   <​r2ml:​ObjectVariabler2ml:​name="​wartosc"/>​ 
-</​r2ml:​EqualityAtom>​ 
-</​code>​ 
- 
-  * nierówność: ​ n > 0 
- 
-<code xml> 
-<​r2ml:​DatatypePredicateAtomr2ml:​datatypePredicateID="​swrlb:​greaterThan">​ 
-  <​r2ml:​dataArguments>​ 
-  <​r2ml:​GenericVariable r2ml:​name="​n"/>​ 
-    <​r2ml:​TypedLiteral r2ml:​lexicalValue="​1"​ r2ml:​datatype="​xs:​integer"/>​ 
-  </​r2ml:​dataArguments>​ 
-</​r2ml:​DatatypePredicateAtom>​ 
-</​code>​ 
- 
-  * nierówność: ​ n <= 1 
- 
-<code xml> 
-<​r2ml:​DatatypePredicateAtomr2ml:​datatypePredicateID="​swrlb:​ lessThanOrEqual "> 
-  <​r2ml:​dataArguments>​ 
-  <​r2ml:​GenericVariable r2ml:​name="​n"/>​ 
-     <​r2ml:​TypedLiteral r2ml:​lexicalValue="​1"​ r2ml:​datatype="​xs:​integer"/>​ 
-  </​r2ml:​dataArguments>​ 
-</​r2ml:​DatatypePredicateAtom>​ 
-</​code>​ 
- 
-  * suma logiczna : (wyr_1) and (wyr_2) 
- 
-<code xml> 
-<​r2ml:​GenericAtom r2ml:​isNegated="​false"​ r2ml:​predicateID="​wyr_1">​ 
-  <​r2ml:​arguments>​ 
-  </​r2ml:​arguments>​ 
-  </​r2ml:​GenericAtom>​ 
-  <​r2ml:​GenericAtom r2ml:​isNegated="​false"​ r2ml:​predicateID="​wyr_2">​ 
-  <​r2ml:​arguments>​ 
-  </​r2ml:​arguments>​ 
-</​r2ml:​GenericAtom>​ 
-</​code>​ 
- 
-  * warunek if : (conclusion) if (conditions) 
- 
-<code xml> 
-<​r2ml:​DerivationRule>​ 
-<​r2ml:​conditions>​ 
-     ​(conditions) 
-</​r2ml:​conditions>​ 
-<​r2ml:​conclusion>​ 
-     ​(conclusion)  ​ 
-</​r2ml:​conclusion>​ 
-</​r2ml:​DerivationRule>​ 
-</​code>​ 
- 
-  * funkcje: fun_name(B) 
- 
-<code xml> 
-<​r2ml:​GenericFunctionTermr2ml:​genericFunctionID="​ fun_name "> 
-  <​r2ml:​arguments>​ 
-  <​r2ml:​GenericVariabler2ml:​name="​B"/>​ 
-  </​r2ml:​arguments>​ 
-</​r2ml:​FunctionTerm>​ 
-</​code>​ 
- 
-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:​ 
- 
-<code xml> 
-<?xml version="​1.0"​ encoding="​UTF-8"​ ?> 
-<​r2ml:​RuleBase xmlns:​r2ml="​http://​www.rewerse.net/​I1/​2006/​R2ML"​ 
-          xmlns:​r2mlv="​http://​www.rewerse.net/​I1/​2006/​R2ML/​R2MLV"​ 
-          xmlns:​xsi="​http://​www.w3.org/​2001/​XMLSchema-instance"​ 
-          xmlns:​xs="​http://​www.w3.org/​2001/​XMLSchema" ​ 
-          xmlns:​userv="​http://​www.businessrulesforum.com/​2005/​userv#" ​ 
-          xmlns:​swrlb="​http://​www.w3.org/​2003/​11/​swrlb"​ 
-          xsi:​schemaLocation="​http://​oxygen.informatik.tu-cottbus.de/​R2ML/​0.5/​R2ML.xsd">​ 
- 
-<​r2ml:​DerivationRuleSet>​ 
-<​r2ml:​DerivationRule r2ml:​ruleID="​Rule"​ xmlns:​swrlb="​http://​www.w3.org/​2003/​11/​swrlb"​ xmlns:​srv="​http://​www.services.org/​EU-Rent/">​ 
-   <​r2ml:​Documentation>​ 
-    <​r2ml:​RuleText r2ml:​textFormat="​plain" ​ r2ml:​ruleDiagram="​examples:​DR_scheduledService.gif">​ 
-      If day is a monday then temp is equal to 20 degrees. 
-    </​r2ml:​RuleText>​ 
-   </​r2ml:​Documentation>​ 
-   <​r2ml:​conditions>​ 
-     <​r2ml:​ObjectClassificationAtom r2ml:​classID="​monday">​ 
-      <​r2ml:​ObjectVariable r2ml:​name="​day"/>​ 
-     </​r2ml:​ObjectClassificationAtom>​ 
-   </​r2ml:​conditions>​ 
-   <​r2ml:​conclusion>​ 
-    <​r2ml:​DatatypePredicateAtom r2ml:​datatypePredicateID="​swrlb:​equal">​ 
-     <​r2ml:​dataArguments>​ 
-      <​r2ml:​ObjectVariable r2ml:​name="​temp"/>​ 
-      <​r2ml:​TypedLiteral r2ml:​lexicalValue="​20"​ r2ml:​datatypeID="​xs:​positiveInteger"/>​ 
-     </​r2ml:​dataArguments>​ 
-    </​r2ml:​DatatypePredicateAtom>​ 
-   </​r2ml:​conclusion>​ 
-  </​r2ml:​DerivationRule>​ 
-</​r2ml:​DerivationRuleSet>​ 
-</​r2ml:​RuleBase>​ 
-</​code>​ 
- 
-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]] 
- 
- 
-[[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 ​ 
- 
  
pl/miw/miw08_hml_rules/r2ml.txt · ostatnio zmienione: 2019/06/27 15:50 (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