[Attempto] How to...

Kaarel Kaljurand kaljurand at gmail.com
Mon Jun 1 15:15:53 CEST 2009


Hi,

On Mon, Jun 1, 2009 at 11:50,  <adam at wyner.info> wrote:
> I'm trying to write an expression in AceView to create an object property
> relative to some individual.  For example, I want to create a class of men
> who are the happy men, but this depends on the intersection of two other
> properties -- the men who love a woman and the men who talk with a woman.
>  This is possible to express in AceView.
>
> Every man that loves a woman and that talks_with a woman is happy.

Actually, ACE View does not support adjectives like "happy", but
this would work:

Every man that loves a woman and that talks_with a woman is a happy-man.

   SubClassOf(
      ObjectIntersectionOf(
         Class(:man)
         ObjectSomeValuesFrom(
            ObjectProperty(:love)
            Class(:woman)
         )
         ObjectSomeValuesFrom(
            ObjectProperty(:talks_with)
            Class(:woman)
         )
      )
      Class(:happy-man)
   )


> But rather than this, I want the happy men to be those who love a woman and
> talk with that woman, not just some other woman.  Something like the
> following is OK in natural language, but I've tried something like this in
> AceView and it isn't right.
>
> Every man that loves a woman and that talks_with her is happy.

Yes, this where OWL starts to fail: the variable sharing created by"her"
cannot be captured in OWL.
The ACE->OWL/SWRL mapping that ACE View embeds converts such sentences
into SWRL. (In some sense, SWRL is an extension to OWL which relaxes
precisely these variable sharing patterns that OWL has problems with.)

For the sentence

Every man that loves a woman X and that talks_with the woman X is a happy-man.

the corresponding SWRL is:

man(X) and woman(Y) and love(X, Y) and talk_with(X, Y) implies happy-man(X)

Protege 4 supports SWRL to some extent, e.g, the Pellet reasoner integrated
with Protege can reason with SWRL rules, see:
http://clarkparsia.com/pellet/faq/rules/

--
kaarel


More information about the attempto mailing list