- From: <jos.deroo.jd@belgium.agfa.com>
- Date: Fri, 15 Jun 2001 22:59:16 +0100
- To: bwm@hplb.hpl.hp.com
- Cc: Jan.Grant@bristol.ac.uk, w3c-rdfcore-wg@w3.org
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