W3C home > Mailing lists > Public > www-rdf-interest@w3.org > September 2000

RE: abstract model

From: McBride, Brian <bwm@hplb.hpl.hp.com>
Date: Thu, 14 Sep 2000 22:10:51 +0100
Message-ID: <5F13A1874524D411A876006008CD059F340451@0-mail-1.hpl.hp.com>
To: "'Graham Klyne'" <GK@Dial.pipex.com>, "'RDF Interest (E-mail)'" <www-rdf-interest@w3.org>
Hi Graham,

> Brian,
> 
> While I find your approach to reification very attractive,

I'm glad that its not a complete dud.

> I 
> think I am 
> forced to conclude that it represents an *extension* to the 
> RDF model as 
> defined.  

That may well be :(

> Specifically, the "mapping called Reification" is a 
> new concept 
> that is not present in the original, and the only way to find 
> that mapping 
> using the original model is to find the set of 4 statements 
> that comprise 
> the reification.

Please forgive my stupidity, but I don't follow the argument.
M&S does have the idea that a reified statement is represented
by a resource.  I think the mapping called Reification is a
component of the abstract model described by m&s.  I think it
can be positioned as a clarification of what is already
defined.

I suspect my problem is that we are thinking in different modes.
For me, as a mathematical abstraction it can work as defined.
I'm thinking of abstract model here, not of implementation.

Maybe you could spell out the problem for me.

> 
> I was looking at your JENA interfaces earlier today.  I think 
> it's quite 
> legitimate to use the statement resource as a 'handle' to the 
> reification, 
> and that creates a legitimate RDF model.  But if the reification is 
> incomplete then theres no (safe) way to recognize it in a 
> "raw" set of triples.

Yes, I think the Jena interface is ok for just the reason you say.

Let me go through briefly the results of a conversation with a
colleague of mine.   Stuart asked me what would the semantics of
an incomplete reification be.  I think the answer hangs together
reasonably well and may be useful to this discussion.

Imagine we have an anonymous resource R such and statements:

   (R, [rdf:type], [foo:bar])
   (R, [bar:foo],  "Stuart"])

I am following DanB's suggestion (at least I feel it was his
idea not mine - I'm just trying to understand what it means
so he shouldn't be blamed for my meanderings).  Informally,
we can thank of R as representing some resource with the
given properties, but we don't know necessarily which one.

If we knew no properties of R, then R could stand for any
resource.  At the other extreme, it might be that foo:bar
is an identifying property - i.e. no two resources can
have the same value for bar:foo, then the above statements
restrict R to representing just one Resource, we just don't
know its URI.

This is the R can be thought of as an existentially qualified
variable.

If we apply the same thinking to reification, and I'm assuming
here that the resource modeling the reified statement is
anonymous, then given a set of statements like:

   S = anon:S
   {
     (S, [rdf:type], [rdf:Statement]),
     (S, [rdfs:subject], [http://aldbaran.hpl.hp.com/bwm]),
     (S, [foo:assertedBy, "Graham")
   }

This is a statement about an incomplete reification of a
statement.  What does it 'mean'.  Informally, using the same
reasoning as above, its semantics would be "Graham has
made a statement about my internal HP homepage", but it
doesn't say exactly what statement.

That's the intiution.  What do you think?  If it stands up
to initial scrutiny, I'll maybe have a go at expressing 
it in a more formal language.

Brian
Received on Thursday, 14 September 2000 17:10:57 GMT

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