Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:miw:miw08_hml_rules:rif [2008/04/21 23:27] miw |
pl:miw:miw08_hml_rules:rif [2019/06/27 15:50] (aktualna) |
| |
**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). | **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]] |
| |
| [[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_hml_rules:rif:rifattribute|Atrybuty w RIF + RDF oraz OWL Kompatybilność]] |
| |
Aby można było użyć RIF'a do przedstawiania regół potrzebna jest wiedza jak zapisywac typowe dla nich elementy. | 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: |
Przykładkowo: | |
| |
* wartosc logiczna: np: B | * wartosc logiczna: np: B |
</Implies> | </Implies> |
</code> | </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]] | [[https://ai.ia.agh.edu.pl/wiki/pl:miw:miw08_hml_rules|Powrót]] |
| |
| |
| ====== Materiały ====== |
| |
| |
| ** Strona domowa RIF** 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/ |
| |