- From: Pat Hayes <phayes@ihmc.us>
- Date: Wed, 14 Dec 2011 10:02:14 -0600
- To: Tim Berners-Lee <timbl@w3.org>
- Cc: David Wood <david@3roundstones.com>, Guus Schreiber <guus.schreiber@vu.nl>, RDF WG <public-rdf-wg@w3.org>
Quick clarification: On Dec 13, 2011, at 11:29 PM, Tim Berners-Lee wrote: > > On 2011-12 -13, at 23:43, Pat Hayes wrote: > >> Hmm, slight quibble in the middle, and a big question at the end. >> >> On Dec 13, 2011, at 9:59 PM, Tim Berners-Lee wrote: >> >>> I'm afraid I must correct this. >>> Apologies to those who have heard my definitions many times. >>> >>> On 2011-12 -13, at 20:36, Pat Hayes wrote: >>> >>>> >>>> On Dec 13, 2011, at 5:29 PM, David Wood wrote: >>>> >>>>> Hi all, >>>>> >>>>> I had a lengthy conversation with TimBL about named graphs at the LEDP Workshop [1] last week. Briefly, he feels that the semantics for named graphs should work like this: >>>>> >>>>> - An RDF Graph is named via a URI. >>>> >>>> OK so far... >>> >>> Well, actually the URI denotes a document, but there is a 1:1 relationship (log:semantics) >>> mostly between documents and graphs here. >> >> Right, but blech for that choice of name for the relationship. But whatever. > > Yeah yeah, well, have rule files which use it now. > Its a cwm builtin function. Think "the n3 semantics of the document" maybe. > >> >>> >>> The same URIs can be used I think in SPARQL after the "GRAPH" keyword >>> because the GRAPH keyword uses the document's URI to >>> indicate which graph. >>> >>> In my language, (1 2) is a list, { ex:s ex:p ex:o } is a graph, "foo bar" is a string, and 3.14159 is >>> a number >> >> Right >> >>> and I don't say that URIs formally denote any of those immutable data values. >> >> Well, they *could* denote them. I think you mean (?) we can't rigidly attach a URI to a specific immutable value like this. (Other than by using equality and a literal, or some similar construction.) > > What I meant is, In the way we use RDF at the basic level, we don't directly name the literals: a node can have a URI name *or* a literal value but not both. if you want to attach a a URI symbol > to a literal, you have to use an arc on the graph. > > That's RDF and so in N3 syntax Dan & I stuck with that design, and so when > you write lists and graphs in the same way you can only attach a URI symbol > by an arc > > Joe :children ( :Alice :Bob ) . > > > > > >> >>> >>> You can say >>> >>> ex:pi = 3.145926 >>> >>> which means that whatever ex:pi denotes it is equal to 3.145926. >> >> Which is just another way of saying, 'ex:pi' denotes 3.145926, right? The number, that is. The URI denotes the number (in every interpretation which makes the equation true, to be ever so exact about it.) > > yes, where an equation is understood, just not for a basic rdf engine. > >> >>> (Now, for systems which understand =, this means they can use ex:pi >>> most places instead of 3.145926 in mathematical formuale >>> and so in fact can treat ex:pi as denoting 3.1415926, >>> even though in the basic RDF graph language, ex:pi doesn't denote >>> 3.1415926. >> >> I dont think you should say that it DOESNT denote it. It might denote it, and it might denote something else. But its not prohibited from denoting a value any more than it is forced to denote it. > > (((To be picky the RDF graph langauge doesn't actually allow you to say that > a URI denotes a number. A list, yes, noit a number, as there is no =. > You can say ex:a rdf:first ex:b; rdf:next rdf:nill. ))) Right, but if you dont specify the denotation then it MIGHT denote anything. Not specifying it is not the same as prohibiting it from being something. >>> ) >>> >>> and you can say >>> >>> <#g1> = { ex:s ex:p ex:o } >>> >>> which you can read loosely as "in this document we use local symbol >>> g1 to denote [something which is equal to] the graph { ex:s ex:p ex:o }. >>> >>> I would NOT say >>> >>> <> = { ex:s ex:p ex:o } X NO >>> >>> because <> is this document and { ex:s ex:p ex:o } is a graph, >> >> Right, but... >> >>> nor would I say >>> >>> <http://www.w3.org/2011/12/13-foo.n3> = { ex:s ex:p ex:o } . X NO >> >> ...why not? Isnt this just like the ex:pi = 3.145962 case? > > Because <http://www.w3.org/2011/12/13-foo.n3> denotes a document. How do you know this? Isnt that just a URI whose denotation is up for grabs, and if you specify it (by an equation, for example) then it means what you say it means? > And the document and the graph are different things. Agreed: my problem is understanding how you know that the URI in that equation *must* denote a document. > In my world, in fact, Documents and Graphs are disjoint, which helps > me find errors in my data. Agreed. > > In this case > > <http://www.w3.org/2011/12/13-foo.n3> log:semantics { ex:s ex:p ex:o } . > > >> >> Or do you want to *never* say that a URI names a graph 'directly', but only via an intervening document? > > No, I don.t <Sigh of relief /> > I want to say that you can use local names in any document to talk about the graph > but don't misuse the name of the document. > > I might say things like: > > > <http://www.w3.org/2011/12/13-foo.n3> log:semantics <#mytestgraph> . > > <http://www.w3.org/2011/12/13-foo.n3> rdf:type :TestDocument. > > { ?x rdf:type :TestDocument. ?x log:semantics ?y } => { ?y a :TestGraph }. > > > >> That is, we always have >> >> URI ---names/denotes---> Document ---log:semantics---> RDF graph >> > is fine, but > >> never >> >> URI ---names/denotes---> RDF graph >> > > that is fine too. **So long as it isn't the same URI for the document and the graph**. > > In fact what people throw around are the URIs of documents > and it is very useful. So SPARQL glosses over tis in its use of the word "GRAPH". > But that's OK. > >> ?? But we can have >> >> graph literal ----names/denotes----> RDF graph > > Ummmm ... this looks confused. A graph literal doesn't name > it specifies a value. Right, and it denotes that value. Well, at least, other literals do this to their values, and Im presuming that graph literals work the same way. For example, the literal '345'^^xsd:number denotes three hundred and forty five. >> is that right? Because this is different from the original 'named graph' proposal, which was designed to allow the second case above (ie 'direct' naming of a graph) as the primary case. >> >> Is there any reason why we should not allow 'direct' naming of graphs? > > We can have URIs for graphs, but we should use an arc, just as we do for numbers and > strings for consistency in the language. Well, that presumes that the primary way to indicate a graph is by using a graph literal. But that isnt obvious. There are other ways to associate a URI with a graph. > > (Otherwise I will insist on Named Strings and Named Numbers. ;-) > >> It seems like a useful thing to be able to do. For example, if I sign a graph, I would rather like to be sure that it can't get altered later on. >> >>> >>> I would say >>> >>> <http://www.w3.org/2011/12/13-foo.n3> log:semantics { ex:s ex:p ex:o } . >>> >>> where log:semantics is the relationship between a document >>> and the n3 graph whose meaning is the meaning of the document >>> and which on a good day you can get by looking up the document >>> on the web and parsing which you get back. >> >> OK, so 'document' in all this has a 'fixed' or 'static' connotation that is different from what we have been calling a 'graph container' or a g-box, because a g-box can have its state altered without changing its identity, so its log:semantics mapping is labile and time- or state-dependent. Right? > > Yes, indeed. > >> Or do you want to allow 'dynamic' documents which are (of course) resources, rather like the NYTimes which sends back a different graph, sorry, front page, every day ? > > Not sure how the NYTimes is different from <http://www.w3.org/2011/12/13-foo.n3> > in that both can change -- the social contacts are different of course. Um... didnt you just say that documents couldn't change? I am back to being confused now :( > >> Put another way, is a document a g-box or a g-text? Or maybe can it be either?? > > It seems I don't know what a g-text means from that question. > I would have expected a g-text to be like a string, an immutable value. Yes, it is. Just like a document, in your usage, is that right? > But I may be wrong. I know that feeling. Pat > > >> Pat >> >> >> >> ------------------------------------------------------------ >> IHMC (850)434 8903 or (650)494 3973 >> 40 South Alcaniz St. (850)202 4416 office >> Pensacola (850)202 4440 fax >> FL 32502 (850)291 0667 mobile >> phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes >> >> >> >> >> >> > > ------------------------------------------------------------ IHMC (850)434 8903 or (650)494 3973 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32502 (850)291 0667 mobile phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
Received on Wednesday, 14 December 2011 16:03:00 UTC