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

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

From: Didier Villevalois <dvillevalois@sqli.com>
Date: Wed, 18 Oct 2000 17:32:56 +0200
Message-ID: <15731.001018@sqli.com>
To: <www-rdf-interest@w3.org>
CC: <www-rdf-logic@w3.org>
Hi,

I'd like to announce that friends and i are developing a logical language
upon RDF. You should know that we decided not to use an ontological
language but instead a simple yet effective logical language.

We use the implicit conjunction and disjunction that provide basically
RDF. We have only variables and imply operator. And currently study
for a fail Not.

It is very enough to express DAML stuff in a formal manner.

PAC> The first one may seem a detail, but has not yet been 
PAC> settled once for all :
PAC> RDF does not allow anonymous nodes.
PAC> (so called anonymous resources are a syntactical artifact, 
PAC> but have no correspondance in the model).

PAC> We have to decide once for all whether such nodes exist in 
PAC> the RDF model, and if so, what they mean.
PAC> (Your proposition is an interesting first step in that way).

(Nothing about RDFL...) I use a special uri scheme for that exemple:

anon:generatedid

PAC> So I would rather express that "John drinks any beverage" 
PAC> using "two-level" RDF :

PAC>  [Graph1]--(implies)-->[Graph2]

PAC> Graph1:

PAC>  [var:1]--(type)-->Beverage

PAC> Graph2:

PAC>  [John]--(drinks)-->[var:1]

I do express this like that:
[John]
      --(drinks)-->[anon:1]
                           --(rdfl:resource)-->$drink
      --(rdfl:exists)-->[anon:2]
                                --(rdfl:about)-->$drink
                                --(rdf:type)-->[Beverage]

or in RDF:

<rdf:Description about="#John">
   <drinks>
      <rdf:Description>
         <rdfl:resource>$drink</rdfl:resource>
      </rdf:Description>
   </drinks>
   <rdfl:exists>
      <rdf:Description>
         <rdfl:about>$drink</rdfl:about>
         <rdf:type resource="#Beverage" />
      </rdf:Description>
   </rdfl:exists>
</rdf:Description>

or shortlier in the form:

<rdf:Description about="#John">
   <drinks rdfl:resource="$drink" />
   <rdfl:exists>
      <rdf:Description rdfl:about="$drink">
         <rdf:type resource="#Beverage" />
      </rdf:Description>
   </rdfl:exists>
</rdf:Description>

which i find very pretty.

Note that rdfl:about is absolutely equivalent to rdfl:resource.
The difference is only syntactic sugar.
I'm not sure for now if "exists" should not be called "ifExists"...

PAC>  Pierre-Antoine

PAC> PS: wouldn't that thread be more appropriate on www-rdf-
PAC> logic ??

I do agree :-)

Didier.

PS: RDF Logic has nothing related to Techmetrix.
___________________________________________________________________
  Didier Villevalois - Analyst - Techmetrix Research (SQLI Group)
dvillevalois@techmetrix.net 55-57 rue Saint Roch 75001 Paris France
Received on Wednesday, 18 October 2000 11:33:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:44 GMT