To jest stara wersja strony!


Przypisywanie podpisu do stałych symboli

Opis podpisów (ang. signatures) został umieszczony tutaj. Podpisy nie są częścią składni RIFa.

Obsługiwane typy termów

RIF-BLD wspiera powyższe typy termów:

  • stałe
  • zmienne
  • pozycjonowane
  • z nazwanymi argumentami
  • równościowe
  • ramy
  • należące do klasy
  • należące do podklas

Wspierane przestrzenie symboli

Wspierane formuły

  • warunek RIF-BLD
  • reguła RIF-BLD

Serializacja XML dla przenoszalności RIF

Serializacja XML dla składni prezentacji RIF-BLD zaprezentowana w tej sekcji jest z nią przemienna. Naśladując Javę i RDF, używamy nazw pisanych dużymi literami dla elementów klas oraz nazw które zaczynają się od małej litery dla elementów ról.
Wszystkie klasy zapisywane dużymi literami w składni prezentacji, jak CONDITION, stają się tagami (?) XMLa. Zachowują się jak makra i nie są widoczne w instance markup.

Zacznijmy od serializacji Języka Warunkowego w XMLu:

Klasy, role i ich zamierzone znaczenie

- And       (conjunction)
- Or        (disjunction)
- Exists    (quantified formula for 'Exists', containing declare and formula roles)
- declare   (declare role, containing a Var)
- formula   (formula role, containing a CONDITION formula)
- Uniterm   (term or atomic formula, positional or with named arguments)
- Member    (member formula)
- Subclass  (subclass formula)
- Frame     (Frame formula)
- object    (Member/Frame role containing a TERM or an object description)
- op        (Uniterm role for predicates/functions as operations)
- arg       (argument role)
- upper     (Member/Subclass upper class role)
- lower     (Member/Subclass lower instance/class role)
- slot      (Uniterm/Frame slot role, prefix version of slot infix ' -> ')
- Equal     (prefix version of term equation '=')
- side      (Equal left-hand side and right-hand side role)
- Const     (slot, individual, function, or predicate symbol, with optional 'type' attribute)
- Var       (logic variable)

Składnia XML dla przestrzeni symboli wykorzystuje atrybut type związany z elementami term, jak Const. Na przykład literał w xsd:dateTime data type może być przedstawiony jako <Const type=„xsd:dateTime”>2007-11-23T03:55:44-02:30</Const>.

Przykład 3
Przykład ten obrazuje serializację XML dla warunkór RIFa.

Serializacja języka reguł
Jest to rozszerzenie Języka Warunkowego poprzez serializację reguł RIF-BLD. Element Forall zawira role elements declare and formula, które były wcześniej wykorzystywane w elemencie Exists. Element Implies zawiera role elementów if oraz then rozróżniające te dwie części reguły.

Klasy, role i ich zamierzone znaczenie

- Ruleset (rule collection, containing rule roles)
- Forall  (quantified formula for 'Forall', containing declare and formula roles)
- Implies (implication, containing if and then roles)
- if      (antecedent role, containing CONDITION)
- then    (consequent role, containing a Uniterm, Equal, or Frame)

Przykład 4
Przykład przedstawia warunek z przykładu 2a zapisany za pomocą XML'a:

Przemyślenia dotyczące reguł zawierających przypisanie

Przeglądając dokumentacje RIF'a nie znalazłem wzmianki o operacji przypisania. Jedną z metod, byłoby zaproponowanie zaimplementowanie predykatu fn:assign(A,B) przypisującego elementowi A wartość elementu B. Wydaje mi się, że ze względu na trwające ciągle prace nad formatem kwestia ta pozostaje otwarta i można przyjąć, że taki warunek jest formułowalny w RIF'ie.
Proponowany przeze mnie zapis wyglądał by tak:

<Ruleset>
 <rule>
  <declare><Var>A</Var></declare>
  <declare><Var>B</Var></declare>
  <declare><Var>C</Var></declare> 
  <formula>
   <Implies>
    <if>
       <formula>
        <Uniterm>
         <op><Const type="rif:iri">op:numeric-lesser-than</Const></op>
         <arg><Var>A</Var></arg>
         <arg>
          <Uniterm>
           <op><Const type="rif:iri">op:numeric-add</Const></op>
           <arg><Const type="">3</Const></arg>
           <arg><Var>B</Var></arg>
          </Uniterm>
         </arg>
        </Uniterm>
       </formula>
    </if>
    <then>
      <Uniterm>
       <op><Const type="rif:iri">fn:assign</Const></op>
       <arg><Var>C</Var></arg>
       <arg><Var>B</Var></arg>
      </Uniterm>
    </then>
   </Implies>
  </formula>
 </rule>
</Ruleset>

Poniższe propozycje zapisu XTT za pomocą RIFa są oparte na proponowanym XTTMLu i są z nim zestawione. Jest to wstępna wersja, która zostanie dopracowana.

XTTML RIF
<xtt_table id="xtt_1">
 ...
</xtt_table>
<Group id="xtt_1">
 ...
</Group>
<rule id="rul_1">
 ...
</rule>
<sentence id="rul_1">
 ...
</sentence>
<schema>
 <independent>
  <attref ref="att_0"/>	  
 </independent>
 <dependent>
  <attref ref="att_1"/>
 </dependent>
</schema>
...
<Forall>
 <declare><Var>att_0</Var></declare>
 <declare><Var>att_1</Var></declare>
 ...
</Forall>
<condition>
 ...
</condition>
<formula>
 <Implies>
  <if>
   ...
  </if>
  ...
 </Implies>
<decision>
 ...
</decision>
<link xtt="xtt_1"/>
<then>
 <Atom>
  <op><Const type="rif:iri">run</Const></op>
  <arg>
   <Atom>
    <op><Const type="rif:iri">xtt_link</Const></op>
    <arg><Const type="xsd:string">xtt_1</Const></arg>
   </Atom>
  </arg>
  ...
 </Atom>
</then>
pl/miw/miw08_xtt_rif/obsolate.1210962812.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (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