RE: What is added by functional syntax?

Hello,

To answer your question, let me please first explain how the metamodel allows us to precisely describe various aspects of the
specification. Consider, for example, Section 5.9.1 of the Syntax document that specifies a bunch of constraints that must hold for
an ontology. These constraints are of the form "If an imports closure of an ontology contains this axiom, than it must contain that
axiom as well".

Without the metamodel, it would be really difficult to precisely describe such conditions. Indeed, assume for the moment that we
described OWL 2 by a grammar only. What does it mean for an axiom to occur in an ontology? A grammar doesn't describe the (abstract)
structure of ontologies; rather, it describes the structure of text files containing serializations of ontologies. Thus, we should
say something like "An axiom is in an ontology if such-and-such production can be matched to some part of the ontology text". While
this is possible, it is very wordy and imprecise.

Such an approach becomes really imprecise and ugly when you start talking about constructs that are not explicitly represented at
the syntactic level. Consider again the problem of the axiom closure: when does an axiom occur in an axiom closure? The answer
should be "This is so when such-and-such production can be matched to some of the ontologies imported (directly or indirectly) into
an ontology". All this starts being really fluffy, and can easily lead to misinterpretations and errors.



In order to be able to talk about such conditions precisely, OWL 2 has been defined in terms of structure and not just in terms of a
grammar. The structure has been described using diagrams, which have been made compliant with MOF because MOF provides us with a
standard for describing such structures. This now provides us with the machinery necessary to define conditions such as the ones
I've mentioned above. In particular, an ontology contains a *set of axioms*, and the import closure is defined in terms of *set
operations* on these sets. By relying on these simple mathematical constructs, we have removed any ambiguity and have, in my
opinion, improved the quality of the spec by a vast amount.


A different problem arises if you want to start writing instances of MOF down on paper. One could actually stay completely within
MOF and use instance diagrams for this purpose. For example, instead of writing something like "An axiom of the form SubClassOf( A B
)", you can draw a picture representing this axiom and say "An axiom of the form as shown in this picture". If we adopted this style
of presentation, we would indeed not need an additional syntax. I hope, however, that everybody agrees this would result in a really
clunky spec (not to mention the burden of having to draw 1000 pictures for all the OWL 2 fragments that we have in the spec). Thus,
the functional-style syntax has been introduced to allow for easy writing of OWL 2 axioms. One should think of this syntax as
*being* MOF: each MOF structure that satisfies various conditions spelled out in the document can be written down using the
functional-style syntax and vice versa.


Unfortunately, MOF doesn't provide us with a standard way for deriving textual grammars from the metamodel (at least I'm not aware
of such a thing -- please correct me if I'm wrong). Furthermore, even if such a way existed, the resulting grammar (being
automatically generated) would probably be completely unreadable. Finally, note that the MOF specification of OWL 2 is fully typed
(this is necessary to define the semantics). The functional-style syntax was fully typed in the beginning, but people didn't like
it, so full typing has been removed. Thus, there is no formal way of deriving a *useful functional-style grammar from MOF. Rather,
OWL 2 takes a pragmatic approach and defines another grammar; however, this grammar is *identical* to MOF for all practical intents
and purposes.


Thus, the MOF metamodel and the functional-style syntax are two faces of the same thing: the first one provides a formal definition
and the second one allows for writing things down. Consequently, I don't see why there should be any confusion there should between
the two.

Regards,

	Boris

> -----Original Message-----
> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org] On Behalf Of Jim Hendler
> Sent: 13 August 2008 10:06
> To: Boris Motik
> Cc: 'Alan Ruttenberg'; 'OWL 1.1'
> Subject: Re: What is added by functional syntax?
> 
> 
> so let me ask Alan's question a little differently -- coming out of
> this WG will be the functional syntax, the Manchester syntax, and the
> metamodel (not to mention the XML syntax) -- can we justify all of
> these, and if so, should we not more include discussion of  the
> differences and issues in the documents -- personally, I don't care
> which we use, but having many without clear justification is likely to
> create confusion -- and I think more confusion is certain to hurt OWL
> adoption (having 3 subsets was used by many people as an excuse to
> avoid moving to OWL, now we have multiple profiles and multiple
> syntaxes -- so we should be as clear as possible as to the differences
> and uses)
>   -JH
> 
> 
> On Aug 12, 2008, at 5:33 PM, Boris Motik wrote:
> 
> >
> > Hello,
> >
> > I wouldn't say that all people don't like the functional syntax;
> > however, let's not argue about this point.
> >
> > One of the reasons why we have the functional syntax is that it
> > provides us with a way to define tables in the RDF Mapping and the
> > Semantics. You can't really put diagrams in these tables (or, better
> > said, one could do that, but I'm not going to do that :-). The
> > functional-style syntax lends itself well for such purposes because
> > it is reasonable concise while being at least to some degree
> > human-readable.
> >
> > Thus, the functional-style syntax adds only some pragmatics to the
> > spec. It does not add anything to the language from the
> > definition/structural point of view.
> >
> > Regards,
> >
> > 	Boris
> >
> >> -----Original Message-----
> >> From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org
> >> ] On Behalf Of Alan Ruttenberg
> >> Sent: 13 August 2008 04:13
> >> To: OWL 1.1
> >> Subject: What is added by functional syntax?
> >>
> >>
> >> Hypothetically, if we had only had the object/metamodel, and
> >> documented the global restrictions on axioms in terms of the
> >> metamodel, what  would we lose (other than a syntax that not many are
> >> likely to use).
> >>
> >> Thanks,
> >>
> >> -Alan
> >>
> >
> >
> >
> 
> "If we knew what we were doing, it wouldn't be called research, would
> it?." - Albert Einstein
> 
> Prof James Hendler				http://www.cs.rpi.edu/~hendler
> Tetherless World Constellation Chair
> Computer Science Dept
> Rensselaer Polytechnic Institute, Troy NY 12180
> 
> 
> 
> 

Received on Wednesday, 13 August 2008 02:06:29 UTC