Difference Analysis Generated by HtmlDiff on 2011-01-31 13:52  

 
<?xml version="1.0" encoding="UTF-8"?> 
 
<RuleML
xmlns="http://www.ruleml.org/0.9/xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<RuleML xmlns="http://www.ruleml.org/0.9/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ruleml.org/0.9/xsd http://www.ruleml.org/0.9/xsd/datalog.xsd"><Assert mapClosure="universal"> http://www.ruleml.org/0.9/xsd/datalog.xsd"
>

<Assert mapClosure="universal">

<!-- start XML comment ...
 
This example rulebase contains four rules.
The first and second rules are implications; the third and fourth ones are facts.
 
In English:
 
The first rule implies that a person owns an object
if that person buys the object from a merchant and the person keeps the object.
 
As an OrdLab Tree:
 
Implies~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          *                         *
     head *                    body *
          *                         *
        Atom~~~~~~~~~~~~~~~~~~     And~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                 *     |     |           |                                   |
             opr *     |     |           |                                   |
                 *     |     |           |                                   |        
                Rel   Var   Var        Atom~~~~~~~~~~~~~~~~~~~~~~~~~~~     Atom~~~~~~~~~~~~~~~~~~
                 .     .     .                  *     |      |       |              *     |     |
                 .     .     .              opr *     |      |       |          opr *     |     |
                 .     .     .                  *     |      |       |              *     |     |
                own  person object             Rel   Var    Var     Var            Rel   Var   Var
                                                .     .      .       .              .     .     . 
                                                .     .      .       .              .     .     .
                                                .     .      .       .              .     .     .
                                               buy  person merchant object        keep  person object
 
... end XML comment --> 
 
 
<Implies> 
  <head> 
    <Atom> 
      <op><Rel>own</Rel></op> 
      <Var>person</Var> 
      <Var>object</Var> 
    </Atom> 
  </head> 
  <body> 
    
    <!-- explicit 'And' --> 
 
    <And> 
      <Atom> 
        <op><Rel>buy</Rel></op> 
        <Var>person</Var> 
        <Var>merchant</Var> 
        <Var>object</Var> 
      </Atom> 
      <Atom> 
        <op><Rel>keep</Rel></op> 
        <Var>person</Var> 
        <Var>object</Var> 
      </Atom> 
    </And> 
  </body> 
</Implies> 
 
 
<!-- The second rule implies that a person buys an object from a merchant
if the merchant sells the object to the person. --> 
 
 
<Implies> 
  <head> 
    <Atom> 
      <op><Rel>buy</Rel></op> 
      <Var>person</Var> 
      <Var>merchant</Var> 
      <Var>object</Var> 
    </Atom> 
  </head> 
  <body> 
    <Atom> 
      <op><Rel>sell</Rel></op> 
      <Var>merchant</Var> 
      <Var>person</Var> 
      <Var>object</Var> 
    </Atom> 
  </body> 
</Implies> 
 
 
 
<!-- The third rule is a fact that asserts that
John sells XMLBible to Mary. --> 
 
 
    <Atom> 
      <op><Rel>sell</Rel></op> 
      <Ind>John</Ind> 
      <Ind>Mary</Ind> 
      <Ind>XMLBible</Ind> 
    </Atom> 
 
 
 
<!-- The fourth rule is a fact that asserts that
Mary keeps XMLBible.
 
Observe that this fact is binary - i.e., there are two arguments
for the relation. RDF viewed as a logical knowledge representation
is, likewise, binary, although its arguments have type restrictions,
e.g., the first must be a resource (basically, a URI). Some of the
DTD's on the RuleML website handle URL's/URI's (UR's); see especially
urc-datalog.dtd for inferencing with RDF-like facts --> 
 
 
    <Atom> 
      <op><Rel>keep</Rel></op> 
      <Ind>Mary</Ind> 
      <Ind>XMLBible</Ind> 
    </Atom> 
 
</Assert></RuleML></Assert>

</RuleML>