W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > May 2001

Re: A shot at http://www.w3.org/2000/03/rdf-tracking/Overview.html#rdfms-resource-semantics

From: Brian McBride <bwm@hplb.hpl.hp.com>
Date: Mon, 21 May 2001 16:27:55 +0100
Message-ID: <3B0933FB.9BD2C1A6@hplb.hpl.hp.com>
CC: w3c-rdfcore-wg@w3.org
Graham Klyne wrote:
> 
> I kind of like this general approach, but there's one thing I would pick up
> on at this point...

> 
> I would say there is a mapping D : (RxP) -> E,  where "P" is some arbitrary
> set of parameter data.  I think something like this is needed to capture
> the idea that there may be an arbitrary number of entities associated with
> a resource, varying over time, content negotiation, location, identity of
> enquirer, etc., etc.

I agree with this.  I left it out for simplicity.  I think of D as a lambda
expression of your function with the P arguments bound in.

This also extends to define a meaning for reification.  Given a resource RS,
which is a reified statement, then D(RS) = (p, s, o) for some p, s and o.

> >     D((p,s,o)) <=> D(p)(D(s),D(o))
> 
> I don't follow this last bit.

Yes, got that bit wrong.  What I had in mind was define an interpretation
function for statements.

There is an Interpretation Function I : Statements -> REL that

   I((p,s,o)) = D(p)(D(s),D(o))

where REL is the set of binary relations D(R) x (D(R) u L), L = the set of
literals,
which, forgiving a little slopiness of expression, is basically saying that
a statement is interpretted as an relationship between a resource and either
another resource, or a literal.

And of course:

  I({s1, s2, ... sn}) = I(s1) & I(s2) & ... & I(sn)

Which is how I make sense of some of the recent discussions on RDF logic re
reification.

What does the following mean, i.e. what is that value of I:

  {(rdf:type, rs, rdf:Statement),
   (rdf:subject, rs, theSky),
   (rdf:predicate, rs, hasColor),
   (rdf:object, rs, blue),
   (foo:signedBy, rs, Brian)}

 D(rs) = (hasColor, theSky, blue)

so we have:

  D(foo:signedBy)(D(rs), D(Brian)) & ... [omitting unnecesary bits - i.e.
handwaving]

= D(foo:signedBy((hasColor, theSky, blue), D(Brian))

Which is not the same as;

  D(foo:signedBy(D(hasColor)(D(theSky), D(blue)), D(Brian))

Certainly one of the issues that keeps coming up on RDF logic is that a way
to represent both of the above expressions is needed, and they perceive
that RDF only gives them one.

Brian
Received on Monday, 21 May 2001 11:28:24 EDT

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:35:50 EDT