- 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