W3C home > Mailing lists > Public > www-rdf-interest@w3.org > March 2002

Re: Using rdf reification to nest statements in N3 like contexts

From: Graham Klyne <GK@NineByNine.org>
Date: Fri, 15 Mar 2002 17:52:49 +0000
Message-Id: <5.1.0.14.2.20020315173718.039f6680@joy.songbird.com>
To: "Seth Russell" <seth@robustai.net>
Cc: "RDFIG" <www-rdf-interest@w3.org>
At 06:23 AM 3/15/02 -0800, Seth Russell wrote:
>Re:  http://www.ninebynine.org/RDFNotes/UsingContextsWithRDF.html
>
>Where you say:
>    [[Using this approach, the number of triples will increase
>    exponentially with he depth of context nesting.]]
>
>From: "Graham Klyne" <GK@ninebynine.org>
>
> > With the first level of nesting, I agree that the number of triples for N
> > statements increases to 4N.
> >
> > But with the next level of nesting, in the framework I was describing,
>each
> > of those 4N triples itself becomes 4-fold, for a total, of 16N.  Next
>level
> > of nesting gives 64N.  etc.
>
>No, no,  no !!!   Mathematically, nesting cannot work that way.  Certainly a
>set, the quintessential  container,  doesn't work that way.   The act of
>putting a RDF triple in a container must reify it only because that's the
>only way you can deal with it as an object; and containing something is
>dealing with it as an object.  Once contained, anything inside the container
>becomes *opaque* to everything outside that container.  So nothing you do to
>a container (for example pointing to it from somewhere else, or containing
>it again) can ever change whatever it is inside that container.   You've got
>it that containing a container actually changes (in some bizarre way) what's
>inside that container.
>
>If the MT says that is the way RDF container's work, then the MT should be
>changed ... imho, of course.
>
>... or have I misunderstood ?

Well, what I was trying to do was suggest a possible encoding of 
containment in the flat space of RDF triples, using what are called 
reification quads, in the absence of (syntactic) containers as such.

There may be other ways to achieve this;  this something what I felt was 
reasonable close to the intent of reification quads.

As for the nesting:  part of my larger suggestion is that one can /enter/ a 
context, in the sense of Guha's thesis or McCarthy's writings on this 
topic, and talk about the possible-world described by that context:  this 
world would be also described by the RDF statements obtained by 
"unreifying" the encoded content of the context, treated as a separate RDF 
graph -- this graph, too, may contain embedded contexts that thereby come 
one level closer to the top-level of asserted RDF statements.

Example:

   A says { B says {C says D} . B a liar } .

If I decide that what A says is true, I may enter the context of what A 
says and assert:

   B says {C says D} . B a liar .

If we have a syntactic construct for containment, as N3, then the contents 
of {...} can be treated opaquely as you suggest.  But when all this is 
encoded into a flat space of triples, some other mechanism is needed.  I am 
proposing (multiple levels of) encoding as reification-quads.  If the inner 
levels were not multiple encoded, we might end up concluding that in the 
context of what A says:

   C says D

is a truth, even though A also says that B is a liar.

#g
--

>This train has been transfered from rdf-comments as per Brian's request, see
>prior history there:
>http://lists.w3.org/Archives/Public/www-rdf-comments/2002JanMar/0220.html
>http://lists.w3.org/Archives/Public/www-rdf-comments/2002JanMar/0222.html
>
>Seth Russell

-------------------
Graham Klyne
<GK@NineByNine.org>
Received on Friday, 15 March 2002 12:52:05 GMT

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