- From: <jos.deroo.jd@belgium.agfa.com>
- Date: Sat, 16 Jun 2001 14:52:52 +0100
- To: bwm@hplb.hpl.hp.com
- Cc: Jan.Grant@bristol.ac.uk, w3c-rdfcore-wg@w3.org
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