W3C home > Mailing lists > Public > www-rdf-interest@w3.org > January 2001

Re: Proposal: variables, templates, and Stickey Cyber Molecules

From: Tim Berners-Lee <timbl@w3.org>
Date: Wed, 17 Jan 2001 14:25:29 -0500
Message-ID: <01b001c080bb$41170040$ba01a8c0@CREST>
To: "Seth Russell" <seth@robustai.net>, "RDF-IG" <www-rdf-interest@w3.org>
It isn't enough, when you extend RDF to a langauge of logical formulae, that
you simple identify which idenmtifiers are variables.  You also have to
a variable to its scope.  (This is because "for all x there exists y such
that..." is very different from "there exists y such that for all x...")

If you model a formula as a set of nested subexpressions, and model each
subexpression is a set of RDF statements, then you need a link beween
the statement set (context) and the variables.  This is what I did with
the Notation3 hacking. http://www.w3.org/DesignIssues/Notation3.html
log:forSome and log:forAll to declare variables.

Langauges which use a syntax such as "?x" to declare a variable but don't
give its scope don't, it seems to me, have the ability to represent
arbitrary logical expressions.

For examples see the Notation3 Primer http://www.w3.org/2000/10/swap/Primer
and the linked code which will process rules represented with log:forAll
and generates RDF.  I am still figuring out what minimal extensions th basic
RDF/XML syntax are needed for representing the rules tersely. But I think
model (the asbstract syntax -- the mapping into triples) works.

tim bl
sans chapeau

----- Original Message -----
From: "Seth Russell" <seth@robustai.net>
To: "RDF-IG" <www-rdf-interest@w3.org>
Sent: Saturday, January 13, 2001 3:25 PM
Subject: Proposal: variables, templates, and Stickey Cyber Molecules

> Somebody, I forget who, just recently said that RDF doesn't
> have [the capability to] have variables.   Well I disagree,
> I don't see why we can't define a set of URI's that function
> quite nicely as variables.   May I suggest the following:
>          ?:<any string of letters>#<class or property id>
> The uri means that the destination agent may fill in
> whatever uri qualifies.   Here are some use cases:
> any resource   ?:x#Resource
> some other resource  ?:y#Resource
> any class whatever  ?:x#Class
> any property whatever  ?:x#Property
> Note that I left out the namespaces intentionally .. but
> that discussion can follow if anybody is interested.  Please
> let me know if I have broken any of the URI rules.
> Now we can write retrievals:
> retrieve [?:x#Resource, ?:x#type,
> http://www.w3.org/2000/01/rdf-schema#Schema]
> which, on a suitably educated model,  should return a list
> of known Schemas.
> An now we can write templates which are just any set of RDF
> statements containing variables:
> [http://robustai.net#seth, rdf:type,  swag:Human]
> [http://robustai.net#seth, swag:isLookingFor, ?:x#Person]
> [http://robustai.net#seth, swag:isWorkingOn,
> http://robustai.net/#semWebBrowser]
> [?:x#Person,  swag:isFluentIn,  msn:VisualBasic]
> [?:x#Person,  swag:isFluentIn,  msn:Cplusplus]
> [?:x#Person,  swag:isFluentIn,
> http://www.w3.org/TR/REC-rdf-syntax/]
> [?:x#Person,  swag:wantsToWorkOn,
> http://robustai.net#semWebBrowser]
> [?:x#Person,  swag:wantsToWorkwith,
> http://robustai.net#seth]
> And we can send those statements to any Agent that
> understands RDF and perhaps that agent will fill in the
> variables and send back a reply.    Hey, that's just a
> sticky cyber molecule .. see my sig below.
> --
> Seth Russell
> http://RobustAI.net/MyNetwork/index.html
> http://robustAI.net/MyNetwork/StickeyCyberMolecules.html
> Http://RobustAi.net/Ai/Conjecture.htm
Received on Wednesday, 17 January 2001 14:25:51 UTC

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