[Attempto] algebraic expressions in ACE - continued
Kaarel Kaljurand
kaljurand at gmail.com
Fri Jun 11 07:36:52 CEST 2010
Hi Jean-Marc,
2010/6/10 Jean-Marc Vanel <jeanmarc.vanel at gmail.com>:
>
> 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.
Thanks for the testcases.
They indeed point out some issues that need to be fixed, namely:
* wrong (and even syntactically incorrect) paraphrase
* choice between object and data properties
* representation of variables (the '$VAR'/1 should not occur in the output)
* both of your sentences should maybe get an identical representation in SWRL
Added to the TODO list...
--
kaarel
More information about the attempto
mailing list