W3C home > Mailing lists > Public > www-rdf-interest@w3.org > October 2000

Re: Variables in rdf (Re: capturing 'foreall' in a graph picture)

From: Tom Van Eetvelde <tom.van_eetvelde@alcatel.be>
Date: Thu, 19 Oct 2000 12:17:52 +0200
Message-ID: <39EECA50.A4626AEC@alcatel.be>
To: Pierre-Antoine CHAMPIN <pachampi@caramail.com>
CC: www-rdf-interest@w3.org
Hello Pierre,

Thanks for the input. My replies:

Pierre-Antoine CHAMPIN wrote:

> Quite interesting, indeed.
> But I see two problems with your proposition :
> We have to decide once for all whether such nodes exist in
> the RDF model, and if so, what they mean.
> (Your proposition is an interesting first step in that way).

I see anonymous resources as the modelling of the concept 'some specific unnamed thing'. I believe
these resources make perfectly sense. As soon as someone else wants to make a statement about the
'specific something', there is enough reason to name it. If you do not do this, then you can only
refer to it via additional descriptions. Like we do as humans: "The thing you were talking about
yesterday evening during dinner...". If you do not name something, you describe it in such a way
that the other person knows what you are talking about. Sometimes you even invent a name for it as
an alias for the description; "Let's call it X". This naming convention makes sense for the
discussing partners, but not for the outside world. That's what the parser needs to do: when a
graphically empty node is encountered, give it an ID like genid0. Keep this name for local RDF
processing and drop it again when the processing ends. Your resource goes back to anonymity. When
enough people want to say something about it, eventually it will get a name (ID).

> The second problem I see is the following:
>  [*]
>  ^
>  |
>  (type)
>  |
>  [John]--(drinks)-->[ ]--(type)-->[Beverage]
> Would the graph above mean :
> "John drinks every beverage"
>  forall x, (drink John x) => (beverage x)
> "John drinks only beverages"
>  forall x, (drink John x) <= (beverage x)
> "John drinks everything, and everything is a beverage"
>  forall x, (drink John x) ^ (beverage x)

With my modelling rules, none of the above. I follow root to end. This means that the graph says:
There is something named John. John is everything. John drinks something unnamed. The unnamed thing
is a beverage. All these sentences are ANDed. This makes sense in romantical context:

"John, my world, my everything, is now drinking some unknown beverage.", said Laura, trying to
identify her lover's emptying bottle.

But based on hard facts, John cannot be everything and so the graph contains an error.

> So I would rather express that "John drinks any beverage"
> using "two-level" RDF :
>  [Graph1]--(implies)-->[Graph2]
> Graph1:
>  [var:1]--(type)-->Beverage
> Graph2:
>  [John]--(drinks)-->[var:1]
> Might look cumbersome, but look sound to me.

Sound indeed. My original viewpoint was that RDF has implicitly the quantifier 'exists'. So why not
adding 'foreall'? You clearly see a 'foreall' as a quantifier of a different level than quantifier
'exists'. I have to think about this.

> Have a look at Graham Klyne's paper about Contexts in RDF,
> it might help in getting convinced :)
> http://public.research.mimesweeper.com/RDF/RDFContexts.html
>  Pierre-Antoine
> PS: wouldn't that thread be more appropriate on www-rdf-
> logic?

Where can I find this thread?



Received on Thursday, 19 October 2000 06:20:05 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:07:32 UTC