W3C home > Mailing lists > Public > www-rdf-interest@w3.org > January 2001

Re: Proposal: variables, templates, and Stickey Cyber Molecules

From: Graham Klyne <GK-lists@ninebynine.org>
Date: Fri, 19 Jan 2001 11:43:10 +0000
Message-Id: <5.0.0.25.2.20010119105503.03f98570@pop3.connectfree.uk.com>
To: Seth Russell <seth@robustai.net>
Cc: RDF-IG <www-rdf-interest@w3.org>
Seth,

when you say:
>but the fact that the node is an :Unknown must be explicitly asserted.

I would suggest that known/unknown here is not a negation of knowledge, but 
a positive statement about what is being sought.

When you say:
   :Seth :isLookingFor [ a :Unknown].

Do you mean that Seth is looking for something, but doesn't know what, or 
that the person making the statement knows that Seth is looking for 
something but doesn't know what it is, or that the thing that Seth is 
looking for hasn't yet been discovered or invented?

All this, and your example, is entirely consistent with the approach I 
suggest:  "a :Unknown" is a specific assertion about that which is being 
sought, whose meaning is associated with the semantics of 'rdf:type' and 
':Unknown'.  In this case, you make a simple assertion about that which is 
sought so it doesn't matter what URI is used (in local context) to identify 
it, so any unique URI can be used.

But suppose one wishes to make a more complex statement, say that "Seth is 
looking for something he lost yesterday, which was given to him by his 
mother".  Im expect it is possible to express this in N3 entirely with 
anonymous nodes, but I think it's easier to just assign a unique name and 
build a description:

   local:lost   >- :gift      -> [ >- :from -> local:Mother;
                                   >- :to   -> local:Seth ].
   local:Seth   >- :firstName -> "Seth";
                >- :looksFor  -> local:lost.
   local:Mother >- :motherOf  -> local:Seth.

Here I've used a mix of anonymous node and explicit name syntax.  In my 
mind, the only difference is that the name of an anonymous node is 
allocated "behind the scenes", with the consequence that it cannot be 
referenced directly from any other lexical place.

Following this pattern, an alternative way to express your example would be:

   :Seth      >- :looksFor -> local:lost.
   local:lost >- rdf:type  -> :Unknown

I assert the difference from your example is merely lexical. (I'm using 
local: to indicate a local context binding that may or may not be the 
containing document.)

#g
--

At 03:07 PM 1/18/01 -0800, Seth Russell wrote:
>Graham Klyne wrote:
>
> > I think it is possible to achieve this effect without requiring an explicit
> > indication that the node is a "variable", although I think there is a need
> > to indicate the scope withi which the value/name bindings associated with a
> > node may be applicable.
>
>Well maybe its not even a variable;  but the fact that the node is an 
>:Unknown must
>be explicitly asserted.   Let's factor all the particulars out of the 
>equation and
>see what's left:
>
>:Seth :isLookingFor [ a :Unknown].
>
>That is the intent of the message,  I won't let you just lop it off.
>
>:Seth  :mustGoTo  :Work
Received on Friday, 19 January 2001 08:34:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:47 GMT