Re: log:forSome (Was: Model-specific identity for anon resources, and its representation: A new issue?

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

and I think the misunderstanding is that
anonymous resources are (sometimes)
'treated' as [1] whereas I think they
should always be treated as [2].

If somebody writes the following .nt
  _:a <uriref1> <uriref2>.
and says that this is a statement, then
(s)he is basically talking a free variable
(somewhere floating around in triple space)
I think this is wrong because there is no
quantification: the floating thing should
be existentially quantified and I think
the best way to do that is to *point*
to it. That can be simply done with
a statement *using* that term e.g.
  <uriref3> <uriref4> _:a.
or it can be done with
  <scope-uri> <the-log-forSome-uri> _:a.
I have recently experimented with
implicit scoping, but I think this is
not a scalable approach.

If we have terms existentially quantified,
then I think that a lot can be done with
such terms, but that's another topic...

--
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/





Brian McBride <bwm@hplb.hpl.hp.com> on 06/15/2001 07:46:30 PM

To:   jos.deroo.jd@belgium.agfa.com
cc:   Jan.Grant@bristol.ac.uk, w3c-rdfcore-wg@w3.org
Subject:  Re: log:forSome (Was: Model-specific identity for anon resources, and
      its  representation: A new issue?

Hi Jos,

With regard to the recent discussion with Jan, I think there might be
some miscommunication.  What I think than Jan is saying is that, given
the model:

  <http://descr1> <http:/prop> _:anon .
  <http://descr2> <http:/prop> _:anon .

it is not possible to express this exactly in the RDF/XML syntax.

The reason is that the only way this can be done is to assign an ID
or a URI to the anonymous resource.  That 'resource' then ceases to
be anonymous.  In effect, it is no longer a variable.  Try
translating the above n-triple example to RDF/XML and you will see
what I mean.

Reading your message again, maybe I get an inkling of what you are
saying.  We are talking here about what is an anonymous resource.
We have been saying that it is an existentially qualified variable.
I have been understanding that to mean that it denotes some specific
resource with certain properties, i.e.

  _:anon <rdf:type> <rdf:Class> .

says there is some specific resource, _:anon, which has type class.
Is that what you would call a 'constant'?  Ah.  This is beginning
to make sense to me.  If it were a constant, then you wouldn't
mind at all that a URI had been assigned to it.   That would not
change its nature.

I think you may be saying that what I thought of as a variable
is not really a variable.  It does not bind to multiple values.
Instead it represents a single value (constant) though I don't
know what the value is.   Hmmm.  Now consider:

   5+x=1

Is x a variable?  No.  Its an unknown, until I solve the equation.
Have we been calling anon resources variables, when we should have
called them unknowns?

If what I previously thought of as a variable, is not really a
variable, how would you explain what a variable is, without
having to refer to concepts defined in a logic layer above
rdfcore?

This is really very interesting.

Have a good weekend.

Brian


jos.deroo.jd@belgium.agfa.com wrote:
>
> > > I think/hack that both anonymous *terms* can be *unified*
> > > which is NOT the same as equality
> >
> > Then your hack only seems to works when we can unify anonymous
> > terms, or they have some sort of UniqueProperty attached. How do
> > we solve the general case?
>
> There was some related discussion in the telecon
> this afternoon, and I was kind of unable to explain
> my point...(I'm really hopeless in that respect)
>
> The thing about anonymous nodes is that they
> are ***variables***
> if they would be constants, we would be able
> to identify them with ***URI constants***
> Now they are actually existentially quantified
> variables, something like: there exists an _:a
> or (using existing vocab): this log:forSome _:a
> So I think we should say that *explicitly*
> is the testresults (and in the model theory)
> (the general case?)
>
> --
> Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/

Received on Friday, 15 June 2001 17:01:44 UTC