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

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

From: Guus Schreiber <guus.schreiber@vu.nl>
Date: Wed, 14 Dec 2011 17:55:34 +0100
Message-ID: <4EE8D506.8050100@vu.nl>
To: RDF WG <public-rdf-wg@w3.org>
CC: Tim Berners-Lee <timbl@w3.org>


-------- Original Message --------
Subject: Re: graphs and documents Re: [ALL] agenda telecon 14 Dec
Date: Wed, 14 Dec 2011 00:29:50 -0500
From: Tim Berners-Lee <timbl@w3.org>
To: Pat Hayes <phayes@ihmc.us>
CC: David Wood <david@3roundstones.com>, Guus Schreiber 
<guus.schreiber@vu.nl>, RDF WG <public-rdf-wg@w3.org>


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. )))

>
>> )
>>
>> 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.
And the document and the graph are different things.
In my world, in fact, Documents and Graphs are disjoint, which helps
me find errors in my data.

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
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.

>
> 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.

(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.

>  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.
But I may be wrong.


> 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
>
>
>
>
>
>
Received on Wednesday, 14 December 2011 16:56:07 GMT

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