- From: Hassan Aït-Kaci <hak@ilog.com>
- Date: Sun, 10 Dec 2006 06:11:47 -0800
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: Harold Boley <Harold.Boley@nrc-cnrc.gc.ca>, W3C RIF WG <public-rif-wg@w3.org>
- Message-ID: <457C15A3.3020700@ilog.com>
Hello, The attachment is in response to some comments by Michael and Harold regarding the CLP proposal and using the OSF formalism as a means to encode slotted terms. I am copying the rest of the RIF WG since I believe that this discussion is relevant to more than the three of us ... Cheers, -hak Michael Kifer wrote: >>See attachment for the essence of this semantics using OSF constraints. [HAK note - this is not included here but will be in the document that I am currently writing] >> >>>For instance, suppose we have this in the db: >>> >>>p(f{x->a,y->b}). >>> >>>and then the user asks the query >>> >>>?- p(f{x->a}). >>> >>>Is it true or not? >> >>Yes. (Assuming 'x' is not a variable). >> >> >>>Note that in unordered notation, if we have >>> >>>p(f{1->a,2->b}). >>> >>>then >>> >>>?- p(f{1->a}). >>> >>>is not true. >> >>It all depends on how you interpret this notation. If a, b, and f denote >>singletons, then Rank(f) =3D {1,2} and also f must be in Dom(1) and Dom(2) >>[see attachment for notation]. Therefore, using the 'partial feature' rule >>and the 'weak extensionality' rule in addtion to the basic OSF rules entails >>that p(f(1->a)) is true iff p(f(1->a,2->b)) is true. >> >> >>>I am asking in order to see if we are seeing things the same way, since= >> >> I >> >>>have to write the semantics part for the syntax we agreed at the F2F. >>I understand your concern. Please do not hesitate to call me if you wish >>to discuss these issues further. >> >> >>> regards >>> --michael >> >>Cheers, >> >>-hak > > > > Hi Hasan, > > For some reason our spam filter didn't like your attachment, so all msgs > with it ended up among spam. I hope that the filter will "unlearn" the > pattern it didn't like, but just in case I am copying to my gmail account. > > Anyway, now that I found it, here are my thoughts. > > One serious problem that I see is that this is not exactly compatible with > the standard first-order logic (as Harold observed in a followup email). > So, feature terms with subsumption are better suited for a dialect of RIF > than its core. > > The question in my mind really is whether slotted terms should be in the > core at all because it seems that there is disagreement between the > semantics that Harold has in mind (which is used in RuleML) and the one you > have. > > As far as I understand Harold's idea of slotted terms, they can be given > this model theoretic semantics. A slotted terms is basically a thing of the form > f{slot_1->val_1 ... slot_k->val_k} where the order of the slots doesn't matter. > So, an interpretation I_sf (sf stands for slotted funcs) maps f to a function > > I(f): Powerset(Domain^2) -> Domain > > That is, I(f) takes a set of pairs of elements in the domain and returns an > element of the domain. For instance, I(f{slot_1->val_1 ... slot_k->val_k}) > is I(f)({(I(slot_1) I(val_1)), ..., (I(slot_k) I(val_k))}). > (In f{...} the braces are simply suggest that we are dealing with a set, > while in I(f)({...}) they really mean a set.) > This can be viewed as a generalization of the standard first-order terms > where slot_i=i. > > This semantics doesn't imply any subsumption. It can be implemented at > reasonable cost provided that variables over slots are not allowed. > The idea of sorts can also be extended to such terms. > > A dialect can add subsumption to such terms, but the model theory for that > is not quite clear to me. (I can see the operational semantics only.) > > Another issue is the use of slotted atoms. They can be given a similar > semantics (to that of slotted terms a la Harold/RuleML :). But there also is > object notation a la F-logic, which has a different meaning from that of > slotted atoms. > > So, it is not clear what to include and at what level of RIF. > Would like to hear about your thoughts on this. > > > I am glad that you agree with the idea of using sorts for extensibility. > I was pretty sure that you would like it :-) > I was surprised that a number of people had difficulty understanding this > simple thing. > > > cheers > --michael -- Hassan Aït-Kaci ILOG, Inc. - Product Division R&D tel/fax: +1 (604) 930-5603 - email: hak @ ilog . com
> Hi Hasan, Hi Michael, Please (again): my name is spelled with two S's (Hassan). > For some reason our spam filter didn't like your attachment, so all > msgs with it ended up among spam. I hope that the filter will > "unlearn" the pattern it didn't like, but just in case I am copying to > my gmail account. Your spam filter must be unusually smart, then! ... :-) However, if it has taken the habit of discarding mail from me to you (including this one!?) this is unfortunate as far as easing our communication. Let us hope that it may come to terms (!) with the fact (!) that if it takes what I am sending you as de facto spam, at least it is not that I am not trying to sell you anything related to your sex life! ;-) > Anyway, now that I found it, here are my thoughts. > One serious problem that I see is that this is not exactly compatible > with the standard first-order logic (as Harold observed in a followup > email). So, feature terms with subsumption are better suited for a > dialect of RIF than its core. I am not sure I understand (and therefore cannot concur with) the "is not exactly compatible with standard fol" part. The OSF formalism that I summarized in my mail is all expressed in pure fol! > The question in my mind really is whether slotted terms should be in > the core at all because it seems that there is disagreement between > the semantics that Harold has in mind (which is used in RuleML) and > the one you have. My response (which was perhaps too terse) to the question related to having slotted atoms or terms is that if we use the CLP scheme whereby a slotted term syntax is seen as sugaring of more basic constraints, then the issue is not a semantic one, but a syntactic one. Indeed, the CLP semantics factors out semantics once and for all. Once the semantic CLP scheme is in place, *any* formalism describing the constraint part that is capable of recognizing solved forms (e.g., FOT substitutions in the case Prolog) can do. Since the OSF formalism is a flexible means for representing varied syntactic data models *and*, to boot, is compatible (since it generalizes FOTs). I contend that it is very adequate for representing data through logical constraints, where constraint formulae are a basic axiomatization of terms à la Michael Maher's [1]. Hence, the actual semantics of these constraints is *meta-logical* in that they encode and describe in FOL data using a logic tailored to represent rooted labelled graphs corresping to solved formulae. It is in that regard (as a meta-formalism) that I have proposed the OSF constraint formalism since it may be extended with any additional axioms to fit positional functional terms or objects (i.e., arity constraints, values), and even more powerful constraints (e.g., sort definition schema checking, etc...). > As far as I understand Harold's idea of slotted terms, they can be > given this model theoretic semantics. A slotted terms is basically a > thing of the form f{slot_1->val_1 ... slot_k->val_k} where the order > of the slots doesn't matter. So, an interpretation I_sf (sf stands > for slotted funcs) maps f to a function > > I(f): Powerset(Domain X Domain) -> Domain > > That is, I(f) takes a set of pairs of elements in the domain and > returns an element of the domain. For instance, I(f{slot_1->val_1 > ... slot_k->val_k}) is I(f)({(I(slot_1) I(val_1)), ..., (I(slot_k) > I(val_k))}). (In f{...} the braces are simply suggest that we are > dealing with a set, while in I(f)({...}) they really mean a set.) > This can be viewed as a generalization of the standard first-order > terms where slot_i=i. This is an interesting trick but: (1) it no more "standard FOL" than how OSF terms are interpreted (i.e., as graphs axiomatized in FOL), and IMHO no more intuitive (2) it simply assimilate all function symbols to unary functions over sets of pairs of domain elements (3) it is *not* faithful to the data models of slotted terms in that it allows arbitrary deomain elements to figure as slots (4) it cannot be generalized easily or intuitionally to account for object features such as cycles, Another unclear question is the compatibility of the conventional semantics of f(t1,...,tn) and its set-function encoding version f{1->t1,...,n->tn} and how to reconcile them formally. Indeed, since the RIF also wants to have the predefined syntax f(t1,...,tn), is "f" denoting a function from D^n -> D or from P(DxX) -> D? Finally, the "dotted" notation for slotted terms proposed by Harold (viz,, f{s1->t1,...,sn->tn} ==> f.s1 = t1 & ... & f.sn = tn) is inconsistent with your pairset-function trick (i.e., what does exactly f.s mean?). In the OSF formalism, the dotted notation is between *variables* (i.e., X.s = Y). > This semantics doesn't imply any subsumption. It can be implemented at > reasonable cost provided that variables over slots are not allowed. > The idea of sorts can also be extended to such terms. In a way it does in the way FOTs imply subsumption by matching (where a term t1 subsumes a term t2 iff the set of all instances of t1 contains those fo t2 - e.g., "person{age->10, name->Y}" is subsumed by "person{age->10, name->"Doe"}". > A dialect can add subsumption to such terms, but the model theory for > that is not quite clear to me. (I can see the operational semantics > only.) This is the whole point: your set-pair functions encoding trick is just a syntactic encoding - not a semantic one. Therefore, unlike the oSF constraint formalism, it does not fare very far for describing arbitrary data models in a general and flexible way with *both* a model semantics and a provably correct operational semantics. > Another issue is the use of slotted atoms. They can be given a similar > semantics (to that of slotted terms a la Harold/RuleML :) . But there > also is object notation a la F-logic, which has a different meaning > from that of slotted atoms. Let me extrapoloate from your slotted term "semantics" here. If your pair-set function trick is to be applied to predicates, this means that p{a1->t1, ..., an->tn} denotes a monadic relation on the set of pairs of domain values. In other words, all predicates denote sets of pairs of domain values. Again the comments above apply on this being unfaithful to the intended semantics (i.e., "slots" may not be arbitrary domain value). On the other hand, the OSF formalism (as a simple FIL meta-formalism for describing graphs) can be used for atoms as well since these are graphs. It is precisely because there many "slotted term" notations out there with varied semantics that I am suggestind the CLP scheme as the means to encode their semantics. It should be the responsibility of whoever wants to use the RIF for rules using slots to express one's data model as contraints. Building in any specific syntax should only have meta logical semantics at this level - viz., how to encode *faithfully* the intended semantics using constraints. > So, it is not clear what to include and at what level of RIF. Would > like to hear about your thoughts on this. I am not at all trying to sell the OSF formalism to RIF. I am trying to show that the CLP scheme is the best abstraction level for formalizing Horn clauses over arbitrary data models seen as constraints. Whether a particular syntax for "slotted" terms is provided in the RIF is ok as long as (1) it can be desugared as a formal constraint system thereby inheriting its semantics from the CLP scheme's for free; (2) and it corresponds *faithfully* to the user's intended semantics. I contend that OSF terms fit the bill. As icing on the cake, mapping a slooted term to an OSF constraint is *isomorphic* to expressing it as an set of RDF triples, thus meeting an important requirement for the RIF to accept the RDF data model! > I am glad that you agree with the idea of using sorts for extensibility. > I was pretty sure that you would like it :-) I was surprised that a > number of people had difficulty understanding this simple thing. I agree with you. > cheers > --michael Best, -hak REFERENCES: [1] @TECHREPORT{maher:axiomatizations:ibm:88 , AUTHOR = {Michael J.~Maher} , TITLE = {Complete Axiomatizations of the Algebras of Finite Rational and Infinite Trees} , INSTITUTION = {IBM T.J.~Watson Research Center} , YEAR = {1988} , TYPE = {Technical Report} , ADDRESS = {Yorktown Heights, NY, USA} , NOTE = {\online{http://www.cse.unsw.edu.au/~mmaher/pubs/trees/axiomatizations.pdf}} }
Received on Sunday, 10 December 2006 14:12:40 UTC