Adrian, Changhai is right, I think. "Adrian Paschke" <adrian.paschke@gmx.de> wrote on 21/07/2009 18:36:51: > > I would assume that the frame which is bound to variable ?X within > the atomic transaction of assert + retract is still bound to the > variable after the retraction, so it contains all previous > attributes of the frame and only the ex:discount attribute is changed. That is the case if you retract a frame, not if you retract the object. The semantics of retracting the object is that you retract all the known facts about it [1]. In the end, only the facts that you asserted *after* the retract are known, that is, in your example ex:john[ex:discount -> "0"] " > That is semantically an atomic assert+retract transaction is like a modify. Again, Retract(frame)+Assert(frame_with_new_value) is equivalent to Modify(frame_with_new_value), not Retract(object)+Assert(frame_about_object_with_new_value) Christian [1] [w-alpha->w' if] ? is Retract(o), where o is a constant, and w' = w \ {o[s->v] | for all the values of terms s and v} - {o#c | for all the values of term c}; (from http://www.w3.org/TR/rif-prd/#Operational_semantics_of_atomic_actions) ILOG, an IBM Company 9 rue de Verdun 94253 - Gentilly cedex - FRANCE Tel. +33 1 49 08 35 00 Fax +33 1 49 08 35 10 Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siège Social : Tour Descartes, 2, avenue Gambetta, La Défense 5, 92400 Courbevoie RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 609.751.783,30 ? SIREN/SIRET : 552 118 465 02430Received on Tuesday, 21 July 2009 17:35:33 GMT
This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 21 July 2009 17:35:34 GMT