- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Tue, 08 Jan 2008 10:54:08 -0500
- To: Christian de Sainte Marie <csma@ilog.fr>
- Cc: "Boley, Harold" <harold.boley@nrc-cnrc.gc.ca>, RIF WG <public-rif-wg@w3.org>
Sorry, Christian,
I did not understand *anything* of what you wrote. :-()
The construct t[] has natural semantics, which in terms of RDF would be
(t, blank, blank) \/ (blank, t, blank) \/ (blank, blank,t)
In terms of the frame syntax, t[] can be checked by the query
t[?S -> ?V] or ?O[t->?V] or ?O[?S->t].
--michael
> 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 15:54:19 UTC