- From: Christian de Sainte Marie <csma@ilog.fr>
- Date: Tue, 08 Jan 2008 11:18:58 +0100
- To: Michael Kifer <kifer@cs.sunysb.edu>
- CC: "Boley, Harold" <harold.boley@nrc-cnrc.gc.ca>, RIF WG <public-rif-wg@w3.org>
Michael Kifer wrote: >> >>In order to check the existence of object t, you have to denote it in >>some way: How do you denote an object without either asserting or >>checking its existence already in the process (thus removing any need to >>check it further)? > > What does one have to do with the other?? > > It is like asking, "why is it useful to test that a table is not empty? > Shouldn't one first create a table and put tuples into it? I did not question the usefuleness of checking the existence of objects: I questionned the usefuleness of the form 't[]' for that purpose (that is, to test the existence of object 't'). Actually, I do not even question that: it is just that I cannot figure how you do refer to the object ('t') for the rule to check its existence and not check its existence in the process of identifying/refering to it (if the form of the test is to be 't[]', of course: that is what we are talking about; that excludes Paul's example of checking the existence of an object identified by its position in an array). Maybe it is obvious: it is just that I do not figure it. Well, actually, it is not entirely true: I figured something out, but I am not sure this is what you had in mind: - rules that you want to apply to all existing objects (i.e., something like: "for all ?o and other variables, if ?o[] and other conditions not involving ?o, then head involving ?o"); - and rules that you want to apply if there exist an object (i.e., something like: "for all ?o and other variables, if ?o[] and other conditions not involving ?o, then head not involving ?o", which you might also express with an existential in the condition, of course). But in both cases, the frame ?o[] tests the "objectness" of ?o, whatever it means, rather than its existence (the quantifier gives you the existence, doesn't it?). Btw, I assumed that you meant the logical existence of the object, not its computational existence (ref Paul's exemple). But, at first sight, I think that I would ask the same question in both cases. Is my question any clearer now? Just to make another point clear: I have nothing against allowing the form t[]; it is just that I wondered how it could (or would) be used (in BLD). (Well, I have nothing against it if it is useful, of course :-) Christian
Received on Tuesday, 8 January 2008 10:19:15 UTC