W3C home > Mailing lists > Public > public-rdf-wg@w3.org > December 2011

Re: graphs and documents Re: [ALL] agenda telecon 14 Dec

From: Pat Hayes <phayes@ihmc.us>
Date: Wed, 14 Dec 2011 10:02:14 -0600
Cc: David Wood <david@3roundstones.com>, Guus Schreiber <guus.schreiber@vu.nl>, RDF WG <public-rdf-wg@w3.org>
Message-Id: <056C8E91-88AC-41D2-B65D-64CDF524C167@ihmc.us>
To: Tim Berners-Lee <timbl@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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:46 GMT