- From: Tim Berners-Lee <timbl@w3.org>
- Date: Wed, 17 Jan 2001 14:25:29 -0500
- 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 connect 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 the 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