To jest stara wersja strony!
Opis
Michał, Rogula, michal.rogula@wp.pl
Porównać i omówić metody reprezentowania atrybutów w językach:
oraz metody reprezentowania reguł w:
Projekt
Jeżeli dzień=poniedziałek wtedy temp=20st
mamy 2 atrybuty:
dzień, przyjmuje wart symboliczne ze zb: pon-niedz
temp, jest liczbą, np. float, z zakresu, np. 0-20st
Rozważania na temat zapisu powyższej reguły za pomocą:
SPOTKANIA
Sprawozdanie
1. RIF(Rule Interchange Format) jest stworzonym przez W3C (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. RIF Framework for Logic Dialects oraz RIF Basic Logic Dialect
Atrybuty w RIF + RDF oraz OWL Kompatybilność
Dokładny opis specyfikacji RIF można znaleźć w projekcie XTT_RIF. Dla mnie istotna, z punktu widzenia projektu, jest wiedza jak zapisywać typowe dla reguł elementy tj:
<Var> B </Var>
<arg><Const type="rds:long"> 300 </Const></arg>
<Uniterm>
<op><Const type="rif:iri"> op:numeric-add </Const></op>
<arg><Const type=""> 1 </Const></arg>
<arg><Var> n </Var></arg>
</Uniterm>
<Uniterm>
<op><Const type="rif:iri"> op:numeric-subtract </Const></op>
<arg><Const type=""> 1 </Const></arg>
<arg><Var> n </Var></arg>
</Uniterm>
<Equal>
<arg> wyr_1 </arg>
<arg> wartosc </arg>
</Equal>
<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>
<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>
<And>
<formula>
(wyr_1)
</formula>
<formula>
(wyr_2)
</formula>
</And>
<Implies>
<if>
(conditions)
</if>
<then>
(conclusion)
</then>
</Implies>
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:
<?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>
W analogiczny sposób możemy zapisać większość reguł. Przykładem może być tu całość HeKatE Case Thermostat którego reguły przedstawione w RIF wyglądają nastepująco: therm in RIF.
Materiały