- 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