- From: Adrian GIURCA <giurca@tu-cottbus.de>
- Date: Sat, 17 Feb 2007 05:28:42 +0100
- To: "Boley, Harold" <Harold.Boley@nrc-cnrc.gc.ca>
- CC: Christian de Sainte Marie <csma@ilog.fr>, RIF WG <public-rif-wg@w3.org>
- Message-ID: <45D6847A.6080701@tu-cottbus.de>
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