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

Hi Brian,

you wrote:
> 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 it all depends on what is extra said about
that x in your examples e.g.
1. there exists an x such that 5x+1=6
2. for all x such that 5x+1=6
3. there exists an x such that x is element
   of the real numbers and not a natural
   number and 5x+1=6
(1. is true whereas 2. and 3. are false)
I think if a variable is NOT quantified then
it is a free variable.
I consider an 'unknown' as a synonym of 'variable'

> > and I think the misunderstanding is that
> > anonymous resources are (sometimes)
> > 'treated' as [1] whereas I think they
> > should always be treated as [2].
>
> Can you give examples of the difference?

the testresult
//////
_:a <uriref1> <uriref2>.
\\\\\\

is different from the testresult
//////
<uri-of-this-document> <the-log-forSome-uri> _:a.
_:a <uriref1> <uriref2>.
\\\\\\

in the former one _:a is a free variable
whereas in the latter one it is quantified
and I think that free variables are too cheap :-)

> > 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)
>
> Not being sure about what you mean by a 'free variable' I don't
> understand that.  I would have said _:a is an unknown.  The difference
> between a free variable and an unknown is that a free variable
> may be bound to many things, an unknown can bind to just one.

'free' is in the sense of 'not quantified'
and 'unknown' just synonym for 'variable'
(so you can have an existentially quantified unknown)

> > I think this is wrong because there is no
> > quantification: the floating thing should
> > be existentially quantified
>
> Doesn't existential quantification turn a free variable into
> an unkown?  That's why skolemization works - we can give an
> existentially qualified variable a name (assuming for the
> moment we are not in the scope of a universal quanitifer,
> because we don't have any of those in rdf).

that's indeed a very good point about skolemization
in the case that 'we are not in the scope of a universal
quanitifer' we have indeed a full blown *constant*
but I think that in general you can not make that
assumption (your piece of RDF *could* fall in the
scope of many univerally quantified variables (I mean
when used by outside-core things)) and then I think
we better keep them as existentially quantified
variables (and an application can easily rewrite
those as skolem functions which are in RDF just
simply anonymous nodes relating with the universally
quantified variables)

> Now if that were true, then you and I have the same model
> for what what is going on here.  _:a is both an existentially
> qualified variable and an 'unknown' because they are the
> same thing (in this context - because we have no universal
> quantification)
>
> So if that is the case, then what's the problem here?

wel, as I think
  we better keep them as existentially quantified
  variables (and an application can easily rewrite
  those as skolem functions which are in RDF just
  simply anonymous nodes relating with the universally
  quantified variables)
RDF is really the most beautifull thing I ever saw:-)

> Maybe the problem is that you are of the view that it does no
> hard to assign a name to an anonymous resource.  That's just
> skolemization.  You might then argue, with Sergey, that there
> is no need to represent anonymous resources in the model.  And
> Jan's problem that RDF/XML cannot represent an arbritary model
> is not a problem.

I really like arguing with Sergey
(as I like 'arguments')

> By the way I've changed the title from log:forSome.  This may
> be another misunderstanding on my part, but I'm talking about
> anon resources as they would be defined in the lowest layers
> of the rdf model.  At that layer log:forSome is not defined
> so we can't use it here.

the title is fine
but carefull, logic is not at 1 place!

> If you are taling about a logic language layered on top of the
> core, that could explain a lot.

well where is the top of a 'round' core?
ok, you may say outside the core
but why not simple EC logic?

> > 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.
>
> Now you have lost me.

Sorry for that
I think about
  _:a <u1> <u2>.
as a free floating pin of a chip (in 3-state)
(again sorry if that confuses some people)
so actually just a NODE which happens
to have an attached statement with
unknown truthvalue) and of course that
is a very useful device, but only when
connected with other nodes (and maybe
then we will still not have statements
with a definite truthvalue (so that's the
case of nested nodes, which are btw flat
in an RDF graph) but at a certain point we
get meaningful statements)

> > If we have terms existentially quantified,
> > then I think that a lot can be done with
> > such terms, but that's another topic...
>
> What is a term?  RDF doesn't define such a concept.

I would say per M&S 5. a term is synonym for Resource?

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

Received on Saturday, 16 June 2001 08:55:12 UTC