[Attempto] OWL_1 -> ACE -> OWL_2

Kaarel Kaljurand kaljurand at gmail.com
Wed Oct 6 11:03:37 CEST 2010


Hi,

2010/10/1 Normunds Grūzītis <normundsg at ailab.lv>:
> If I pass an ontology OWL_1 to the ACE verbalizer, I get Text_1 that, if passed back to APE, produces OWL_2 that, if verbalized again, produces Text_2.
>
> OWL_2 is semantically equal to OWL_1 (i.e., the reasoning works the same), but syntactically (structurally) they are different (in general). Thus, Text_2 syntactically differs from Text_1 as well - it has been semantically paraphrased. (Actually, axioms of certain patterns are being paraphrased already at the OWL2DRS step - while generating Text_1.)

Note that there is no OWL2DRS: OWL is mapped directly to ACE with a DCG,
without using DRS as interlingua.
But you are right, a lot of OWL axioms are rewritten into a general
form before this DCG is applied.

> As I read in Kaarel's dissertation [1] (Section 5.3.2), preserving the structure is considered as *not* important.

Yes, when designing the ACE->OWL mapping we considered the existing
OWL syntaxes and OWL tools (such as Protege) unimportant. For two reasons:
first, in this way the focus was more fixed on how to express OWL in
_natural English_, and secondly the implementation was simpler because
we had to target only a small subset of the OWL syntax.
This subset does not include disjointWith, domain, range, etc.

> While we are considering only the CNL interface (the domain expert point of a view), this makes no problem, but if a knowledge engineer works in parallel (using a different interface and a lower-level formalism), this makes problems: axioms containing allValuesFrom restrictions are "detached" from the respective classes and are converted to general class axioms (using negation and someValuesFrom), disjointWith is converted to complementOf etc. This is not anymore convenient for a Protege user, for instance.
>

I agree.


> Moreover, instead of (or in parallel with) the engineer (i.e., Protege interface) there could be another (more advanced) domain expert, who uses a graphical notation (e.g., the UML profile for OWL) instead of CNL. In this case the visualization suffers from drammatical changes, and many axioms can not be visualized anymore.

Can you be more specific? Which type of axioms cannot be visualized?
The general class inclusion axioms? Do these tools visualize the
syntax of the constructs rather than the semantics? E.g. I would
visualize "disjoint(dog, cat)" and "dog subclassof not cat" in the same way
to show that they are semantically equivalent.

> Is there some principal problem, why the structure cannot be (or is hard to be) preserved? It would be useful to have such an *option*. I mean, not a 100% equivalence is important but certain aspects, like:
> - the topic-focus articulation should be preserved (e.g., "Every herbivore eats nothing but plants." vs. "Everything that is eaten by a herbivore is a plant.", i.e., allValuesFrom should not be changed to someValuesFrom);
> - disjointWith should not be changed to complementOf;
> - the unnecesarry owl:Thing references sould not be generated for ".. something that ..";
> - and perhaps some other constraints.

The principle reason is that the OWL->ACE->OWL tool is composed
of two tools: OWL->ACE and ACE->OWL and that the second component
does not know what is the input to the first component.
Secondly, OWL->ACE->OWL is not syntax-preserving, simply because
OWL and ACE offer different kinds of syntactic sugar
e.g. in order to say that dogs
and cats have no common member, in OWL one would use one of the following forms:

1. disjoint(dog, cat)
2. dog subClassOf not cat
...

but in ACE one would use one of the following forms:

1. No dog is a cat.
2. If there is a dog then it is not a cat.
3. It is false that a dog is a cat.
...

I don't think there exists a mapping between these sets of forms
such that the mapping is both a bijection and useful.


I agree that something could and should be done to fix the problem that
you describe. I'm not sure how much can be done with OWL->ACE, but ACE->OWL
could be changed to target a richer syntactic fragment of OWL, including:
disjointWith, domain, range. Also the unnecessary owl:Thing in OWL
intersections should not be there. I'm not sure what to do with allValuesFrom,
this has always been a complex construct...

I'll try to get something in these lines into the next release of APE.
Then we can see if this meets your requirements.

--
kaarel


More information about the attempto mailing list