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:rif [2008/05/19 11:19]
miw
pl:miw:miw08_hml_rules:rif [2008/05/19 12:19]
miw
Linia 1: Linia 1:
- 
-**RIF(Rule Interchange Format)** jest stworzonym przez W3C [[http://​www.w3.org/​|(Word Wide Web Consorcium)]] formatem reguł pozwalających na ich wymianę dla różnych języków reguł w sieciach semantycznych (RDF, OWL). Format RIF jest ciągle w fazie rozwoju, jedyne dostępne dokumenty są to szkice specyfikacji poszczególnych modułów (Working Draft). Do rozwijanych dokumentów należą m.in. [[http://​www.w3.org/​2005/​rules/​wg/​draft/​rif-fld/​|RIF Framework for Logic Dialects ]] oraz [[http://​www.w3.org/​2005/​rules/​wg/​draft/​rif-bld/​|RIF Basic Logic Dialect]] 
- 
-Dokładny opis specyfikacji RIF można znaleźć w projekcie [[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_xtt_rif|XTT_RIF]]. Dla mnie natomiast istotna, z punktu widzenia projektu, jest wiedza jak zapisywać typowe dla reguł elementy tj: 
- 
-  * wartosc logiczna: np: B 
- 
-<code xml> 
-<Var> B </​Var>​ 
-</​code>​ 
- 
-  * stałe argumenty: np: 300 
- 
-<code xml> 
-<​arg><​Const type="​rds:​long">​ 300 </​Const></​arg>​ 
-</​code>​ 
- 
-  * suma: n+1 
- 
-<code xml> 
-<​Uniterm>​ 
-<​op><​Const type="​rif:​iri">​ op:​numeric-add </​Const></​op>​ 
-<​arg><​Const type="">​ 1 </​Const></​arg>​ 
-<​arg><​Var>​ n </​Var></​arg>​ 
-</​Uniterm>​ 
-</​code>​ 
- 
-  * różnica: n-1 
- 
-<code xml> 
-<​Uniterm>​ 
-<​op><​Const type="​rif:​iri">​ op:​numeric-subtract </​Const></​op>​ 
-<​arg><​Const type="">​ 1 </​Const></​arg>​ 
-<​arg><​Var>​ n </​Var></​arg>​ 
-</​Uniterm>​ 
-</​code>​ 
- 
-  * równość: (wyr_1) = (wartosc) 
- 
-<code xml> 
-<​Equal>​ 
-<arg> wyr_1 </​arg>​ 
-<arg> wartosc </​arg>​ 
-</​Equal>​ 
-</​code>​ 
- 
-  * nierówność: ​ n > 0 
- 
-<code xml> 
-<​Uniterm>​ 
-<​op><​Const type="​rif:​iri">​ op:​numeric-greater-than </​Const></​op>​ 
-<​arg><​Var>​ n </​Var></​arg>​ 
-<​arg><​Const type="​xsd:​decimal">​ 0 </​Const></​arg>​ 
-</​Uniterm>​ 
-</​code>​ 
- 
-  * nierówność: ​ n <= 1 
- 
-<code xml> 
-<​Uniterm>​ 
-<​op><​Const type="​rif:​iri">​ op:​numeric-less-or-equal-than </​Const></​op>​ 
-<​arg><​Var>​ n </​Var></​arg>​ 
-<​arg><​Const type="​xsd:​decimal">​ 0 </​Const></​arg>​ 
-</​Uniterm>​ 
-</​code>​ 
- 
-  * suma logiczna : (wyr_1) and (wyr_2) 
- 
-<code xml> 
-<And> 
-<​formula>​ 
-(wyr_1) 
-</​formula> ​ 
-<​formula>​ 
-(wyr_2) 
-</​formula>​ 
-</​And>​ 
-</​code>​ 
- 
-  * warunek if : (conclusion) if (conditions) 
- 
-<code xml> 
-<​Implies>​ 
-<if> 
-(conditions) 
-</if> 
-<​then>​ 
-(conclusion) 
-</​then>​ 
-</​Implies>​ 
-</​code>​ 
- 
-Teraz, na podstawie powyższej wiedzy, możemy spróbować zapisać nasz przykład (//​**Jeżeli dzień=poniedziałek wtedy temp=20st**//​) za pomocą RIF: 
- 
-<code xml> 
-<?xml version="​1.0"​ encoding="​UTF-8"?>​ 
- 
-<​Ruleset>​ 
-<​rule>​ 
-  <​declare><​Var>​ day </​Var></​declare> ​ 
-  <​formula>​ 
-   <​Implies>​ 
-    <if> 
-      <​formula>​ 
-        <​Equal>​ 
-         <​arg><​Var>​ day </​Var></​arg>​ 
-         <​arg><​Const type="​xsd:​string">​Monday</​Const></​arg>​ 
-        </​Equal>​ 
-      </​formula> ​ 
-    </if> 
-    <​then>​ 
-      <​Uniterm>​ 
-       <​op><​Const type="​rif:​local">​temp</​Const></​op>​ 
-       <​arg><​Const type="​rds:​positiveInteger">​20</​Const></​arg>​ 
-      </​Uniterm>​ 
-    </​then>​ 
-   </​Implies>​ 
-  </​formula>​ 
- </​rule>​ 
-</​Ruleset>​ 
-</​code>​ 
- 
-W analogiczny sposób możemy zapisać większość reguł. Przykładem może być tu całość [[https://​ai.ia.agh.edu.pl/​wiki/​hekate:​hekate_case_thermostat|HeKatE Case Thermostat]] którego reguły przedstawione w RIF wyglądają nastepująco:​ [[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_xtt_rif:​thermostat|therm in RIF]]. 
- 
-[[https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_hml_rules|Powrót]] 
- 
-====== Materiały ====== 
- 
- 
-** Strona domowa** http://​www.w3.org/​2005/​rules/​wiki/​RIF_Working_Group 
- 
-** Więcej przykładów** http://​www.w3.org/​2005/​rules/​wg/​wiki/​UC3_Worked_Example 
- 
-** Szczególnie przydatne** http://​www.w3.org/​TR/​2007/​WD-rif-bld-20071030/​ 
- 
-**Cały thermostat w RIF** https://​ai.ia.agh.edu.pl/​wiki/​pl:​miw:​miw08_xtt_rif:​thermostat 
- 
-**RIF Core Design** http://​www.w3.org/​TR/​2007/​WD-rif-core-20070330/​ 
  
pl/miw/miw08_hml_rules/rif.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