[Attempto] algebraic expressions in ACE - continued

Jean-Marc Vanel jeanmarc.vanel at gmail.com
Thu Jun 10 15:54:42 CEST 2010


Hi all

After the acceleration formula, I tried a simpler example, with two
variants, and with ACE mainly, but with no more success in the way of
obtaining an OWL-RDF output.

*If a rectangle R has a length L1*

*and R has a length L2*

*then R has-surface ( L1 * L2 ) .*

The OWL Functional-Style Syntax gives:

Ontology(
   http://attempto.ifi.uzh.ch/ontologies/owlswrl/test
   Implies(
      Antecedent(
         description(
            Class(:rectangle)
            I-variable(1)
         )
         description(
            Class(:length)
            I-variable(2)
         )
         description(
            ObjectProperty(:have)
            I-variable(1)
            I-variable(2)
         )
         description(
            Class(:length)
            I-variable(4)
         )
         description(
            ObjectProperty(:have)
            I-variable(1)
            I-variable(4)
         )
      )
      Consequent(
         description(
            DataProperty(:has-surface)
            I-variable(1)*
            expr(
               *
               $VAR(
                  2
               )
               $VAR(
                  4
               )
            )*
         )
      )
   )
)

I also tried this variant with equality instead of the verb to be :

*If a rectangle R has a length L1*

*and R has a length L2*

*then R has-surface S, and S = ( L1 * L2 ) .*

The consequent side is different:

      Consequent(
         description(
            Class(owl:Thing)
            I-variable(6)
         )
         description(
            ObjectProperty(:has-surface)
            I-variable(1)
            I-variable(6)
         )
         *builtIn(multiply, I-variable($VAR(6)), $VAR(2), $VAR(4))*
      )

Comments:

   - DataProperty is apropriate in first variant,
   - builtIn(multiply  seems apropriate in second variant;
   - the paraphrase is incorrect in case 2 (then missing) :

   *If a n:rectangle X1 has a n:length X2 and the n:rectangle X1 has a
   n:length X3 and X4 = ( X2 * X3 ) and the n:rectangle X1 v:has-surface X4.
   *


Hopefully these tests could allow the experts to correct easily the issues.

-- 
Jean-Marc Vanel
Consulting, services, training,
Rule-based programming, Semantic Web
http://jmvanel.free.fr/
+33 (0)6 89 16 29 52 -- +33 (0)1 39 55 58 16
( we rarely listen to voice messages, please send a mail instead )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ifi.uzh.ch/pipermail/attempto/attachments/20100610/66bb4813/attachment.htm>


More information about the attempto mailing list