Re: [TED] Core Overview Section and Validation Appendix Added

Dear Harold,
Please see my comments below.
Boley, Harold wrote:
> Hi Adrian and all, my comments are inlined, Harold
>
>
> -----Original Message-----
> From: Adrian Giurca [mailto:giurca@tu-cottbus.de] 
> Sent: Tuesday, February 13, 2007 5:05 AM
> To: Boley, Harold; Christian de Sainte Marie
> Cc: RIF WG
> Subject: Re: [TED] Core Overview Section and Validation Appendix Added
>
> Dear all,
>   
>> Great, I have edited the two diagrams / (meta-)models to
>> initialize the Overview (Arch) Section:
>>
>> http://www.w3.org/2005/rules/wg/wiki/Core/Overview
>>
>>   
>>     
>
> Looking to the RIF Core metamodel (the MOF/UML diagrams)  a number of 
> questions arise:
>
>     * The existent BNF and the actual MOF/UML metamodel are NOT
>       equivalent. For example the definition of equality (Equal):  in
>       the MOF model  equality orders the terms implied (by using roles
>       /lhs /and /rhs/) but in the BNF (Equal      ::= TERM '=' TERM) no
>       order is imposed. Lets try from the beginning to be more precise
>       in such cases. I believe that BNF must align with the MOF abstract
>       syntax.
>
> The BNF is stripe-skipped, 
The concept stripe-skipped seems to refer to the XML syntax and not to 
the BNF syntax. (I checked the links you refer in the document). I am 
aware about OWL abstract <http://www.w3.org/TR/owl-semantics/> syntax 
and there is also an OWL UML metamodel (I don't remember now the link 
but I will find out it). In this paper, "A Model Driven Approach for 
Building OWL DL and OWL Full Ontologies 
<http://www.aifb.uni-karlsruhe.de/WBS/sbr/publications/omgodm.pdf>" by 
Saartje Brockmans, Robert M. Colomb, Elisa F. Kendall, Evan K. Wallace,
Chris Welty, Guo Tong Xie there is an UML profile for OWL so I believe 
there is a common understanding here. Another reference is:
S. Brockmans, P. Haase, P. Hitzler, and R. Studer. A Metamodel and UML 
Profile for Rule-extended OWL DL Ontologies. In 3rd Annual European 
Semantic Web Conference, Budva, Montenegro, June 2006. LNCS 4011, pp. 
303-316.

Following the rules there I obtained the following BNF (you may notice 
that I don't have anonymous variable since is not defined in MOF):

CONDIT ::= 'And (' {'formula(' CONDIT ')'} ')' |
                    'Or (' {'formula(' CONDIT ')'} ')' |
                    'Exists(' 'declare('Var')' {'declare(' Var')'} 
{'formula(' CONDIT ')'}')' |
                    LITFORM

LITFORM ::= 'Equal(' 'lhs(' TERM ')' 'rhs(' TERM ')' ')'  |  'Atom(' 
'op('Con')' { 'arg(' TERM ')' } ')'

TERM ::= Var | Con | 'Expr(' 'op('Con')' { 'arg(' TERM ')' } ')'

Var ::= NamedElement
Con ::= NamedElement

My point of view is that is incorrect to drop out the role names in the 
BNF because the meaning of the elements from the meta model is changed. 
We can speak about stripe-skipped syntax when we speak about the XML 
syntax. As a comment, this stripe-skipped syntax will make bad life to 
the tools and translators which will be more complicated. This concept 
is related to RDF XML syntax. RDF supports both standard XML syntax but 
also a short syntax. However, there is a deterministic algorithm how to 
translate from one syntax to another. I suppose people  from RDF 
community may comment here if I'm wrong.
> thus uses XML's natural order instead of most
> roles (however, Equal is commutative, anyway).
>   
I don't agree. If there are two different roles for the terms involved 
in the equality then they are different. We need to distinguish between 
the left part and the right part just if we consider to use the equality 
in a non-commutative way (as an assignment, for example). If you 
instantiate the MOF abstract syntax you'll never obtain commutativity.
>     * Why we need the roles /formula/ and /declare/? How are they 
>       specified in the BNF?
>
> We don't need them if we want to be stripe-skipped even in the model
> (see above).
>
>   
A RIF model with roles is not equivalent with the RIF model without 
roles. This is clear following the MOF 
<http://www.omg.org/mof/>specification.
>     * Interesting, the last document of Core  Positive Conditions 
>       contains now in the BNF two productions for /Atom /and /Expr /even
>       they are the same in content. This  separate de facto  atoms from
>       functions.
>
> This is clearer, and simplifies possible alignment with classical FOL.
>
>   
I don't agree: Lets suppose that the Con set on names contains 
constants, functions and predicates names. However, the proposed 
interpretation consider different mappings from Con to the corresponding 
concepts (names, functions and predicate evaluations) i.e.

    *

      /*I*/_C from Con to elements of D

    *

      /*I*/_F from Con to functions from D* into D (here D* is a set of
      all tuples of any length over the domain D)

    *

      /*I*/_R from Con to truth-valued mappings D* -> /*TV*/

Therefore, the semantics suppose that there is no symbol in Con such 
that this symbol is both function name and predicate name. Otherwise 
this mappings does not work. Implicitly that defines a partition on Con. 
Now we have a basic inconsistence:
The syntax allows constructs like And ( p( p(a))  ?X)  but the semantics 
does not know how to interpret them. There is no way to define an 
interpretation for this formula. Fortunately since in the MOF model 
there are Expr and Atom as distinct classes we are back to the classical 
point of view (see the BNF).

Another comment on semantics: TV is a partial order so I believe this 
prepares the future extensions including the management of uncertain 
information. This approach seems to be not a fuzzy one (using different 
implications like Goguen, Lukasiewicz etc). Is  this true? Anyway for me 
this is the right direction. May be some people can comment on that.
>     * I suppose in the past was a problem of multiple inheritance (/Expr
>       /was inheriting from both /Atom /and /TERM/) which creates
>       troubles for tools to generate XMI, but in the MOF specification
>       this is NOT restricted.
>
> See above.
>
>     * The naming of classes/roles are not appropriate. Why /arg /and not
>       /arguments/?
>
> No problem, in my experience, or in (X)HTML and MathML.
>   
I don't want to contradict but for XHTML is just a historical 
perspective and I believe MathML is not a good example. There are just 
few tools for markup MathML  and moreover since  MathML separates 
content from presentation by duplicating the matkup, browsers support 
many times just the presentation part. Not to many people markup 
manually in MathML. They need to learn all names even some of them are 
meaningful. I see that on our students too.

I argue in favor of complete names by looking in the XML recommendation 
<http://www.w3.org/TR/xml/> where all examples have appropriate names 
(not acronyms which make language difficult to be learned) for elements 
and attributes. In any XML tutorial is expressed that elements capture 
the "semantics" of the content such that 
<from>public-rif-wg@w3.org</from> is clearly much better than 
<fr>public-rif-wg@w3.org</fr>.

Looking for comments,
-Adrian

Received on Saturday, 17 February 2007 04:29:00 UTC