- From: Christian De Sainte Marie <csma@fr.ibm.com>
- Date: Tue, 21 Jul 2009 19:34:51 +0200
- To: "Adrian Paschke" <adrian.paschke@gmx.de>
- Cc: Changhai Ke <changhai.ke@fr.ibm.com>, "'RIF'" <public-rif-wg@w3.org>
- Message-ID: <OF081D9CAC.DA135517-ONC12575FA.005F9780-C12575FA.00609369@fr.ibm.com>
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 02430
Received on Tuesday, 21 July 2009 17:35:33 UTC