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

Re: nature of anon resource [was Re: log:forSome]

From: Frank Manola <fmanola@mitre.org>
Date: Sun, 17 Jun 2001 19:59:50 -0400
Message-ID: <3B2D4476.C66F3E1B@mitre.org>
To: Brian McBride <bwm@hplb.hpl.hp.com>
CC: jos.deroo.jd@belgium.agfa.com, w3c-rdfcore-wg@w3.org
Jos, Brian--

Just to put my 2 cents in:

Brian McBride wrote:
> 
> Hi Jos,
> 
> jos.deroo.jd@belgium.agfa.com wrote:
> >
> > Hi Brian,
> >
> > Great, I really find this interesting too!
> >
> > I think there are 3 kinds of variables
> >  [1] free variables
> >  [2] existentially quantified variables
> >  [3] universally quantified variables
> 
> So just to help me a little along the path to understanding,
> could you explain a bit more about what you mean by a free
> variable.  Some examples that I can relate to would be good.
> For example is the x in 5x+1=6 a free variable?  Thats what
> I was calling an unknown.  Wheras the x in x+y=0 is a
> variable.  At least that's the distinction I thought you
> were making.

I think Jos is doing an implicit translation into logic.  Strictly
speaking, I don't think we have variables of any kind in RDF, but if you
translate RDF into [what I think of as] the equivalent logic, some
variables appear.  It may help to go back to the M&S example of
anonymous resources, namely:

"The individual whose name is Ora Lassila, email <lassila@w3.org>, is
the creator of http://www.w3.org/Home/Lassila." 

If you look at the equivalent graph in the M&S, there isn't any
"variable" to represent that "individual";  there's just a resource
without an identifier (if anything is "unknown", it's the *identifier*
of the resource;  but there is a distinct resource you're talking about,
not an unknown).  However, if you wrote this in logic, you'd say
something roughly like 

"There exists a [resource] x such that name(x, Ora Lassila) and email(x,
lassila@w3.org) and creator(http://www.w3.org/Home/Lassila, x)"  

Here, the resource is represented by an existentially quantified
variable x.  Skolemization essentially says (ignoring scope issues that
don't come up in this example) you can give the thing referred to by the
existentially quantified variable a distinct name, use that name, and
delete the quantifier. So if I give that resource a URI (or a gensym),
or it already has one, I've essentially Skolemized it.  In both cases,
though, we're not talking about an "unknown" in the sense of an
equation:  the resource isn't unknown (I'm asserting one exists;  it's
this one right here), even though its identifier may be.  

A more faithful representation of the situation we have in RDF might be
to say that there is a "built-in" predicate "URI" that we can use to
specify the URI of those resources that have them.  Then, the above
expression represents the version where the resource is anonymous, and
the next example in the M&S where the resource is given a URI would be:

"There exists a [resource] x such that name(x, Ora Lassila) and email(x,
lassila@w3.org) and creator(http://www.w3.org/Home/Lassila, x) and
URI(x, http://www.w3.org/staffid/85740)

which simply adds the additional piece of information.  

What I've just said is based on the interpretation of RDF as making
statements in an EC logic;  but any quantification is *implicit* (so is
the conjunction).  I think that's the only sense in which we have
quantification in RDF.  We don't have *explicit* existential
quantification (Sergey noted, and I agree, that this would be out of
scope), and we don't have universal quantification in any form.  

We also don't have free variables (also out of scope, IMO).  This isn't
the same as a resource with an unknown identifier;  since we don't have
*explicit* variables in RDF, we'd need to invent a special notation for
them.  We'd also need to define an interpretation for them, an obvious
one being as a placeholder in a query expression.  E.g., if someone
wrote just

"name(x, Ora Lassila) and email(x, lassila@w3.org) and
creator(http://www.w3.org/Home/Lassila, x)" 

this could be interpreted as "return any bindings for x such that these
assertions were in the fact base" (as it would, say, in Prolog).  Note,
though, that x might be bound to one thing, a whole collection of
things, or nothing.  

--Frank

-- 
Frank Manola                   The MITRE Corporation
202 Burlington Road, MS A345   Bedford, MA 01730-1420
mailto:fmanola@mitre.org       voice: 781-271-8147   FAX: 781-271-8752
Received on Sunday, 17 June 2001 20:07:33 EDT

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