Re: rdfs:Graph ? comment on http://www.w3.org/TR/rdf11-concepts/#section-dataset and issue 35

On 07/26/2013 12:37 PM, Jeremy J Carroll wrote:
>
> I slept on Eric's question for several days ….
>
> I ended up realizing that another aspect of the current drafts that I 
> feel should change a bit is:
>
> https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-mt/index.html#rdf-datasets
>
> "When a graph name is used inside RDF triples in a dataset it may or 
> may not refer to the graph it names. The semantics does not require, 
> nor should RDF engines presume, without some external reason to do so, 
> that graph names used in RDF triples refer to the graph they name."
>
> I would like some mechanism which indicates clearly that in my case it 
> MAY refer to the graph it names,

Surely the above text makes it clear it MAY.  What you're looking for is 
a way in indicate the situations in which it MUST (or simple does).

> and I am proposing that
>
> <uuu> rdf:type rdfs:Graph
>
> be such a mechanism, and this be understood with intensional semantics 
> like rdfs:Class rather than with extensional semantics like 
> owl:Restriction
>
>
> i.e. if in any graph in a dataset, there is such a triple, and we have 
> an interpretation of that graph, and that the dataset does include a 
> graph named <uuu> then it is pretty clear that the intent is that I am 
> talking about the graph, and I would like the recommendations to say 
> that in such interpretation it is this graph that we are talking about.
>

It should probably be rdf:Graph (not rdfs:Graph), but otherwise I'm 
happy with this, in broad strokes.   It'll need a second last call for 
Semantics and/or Concepts, unless we put it into some other Rec-Track 
document.

I'd also suggest that use of a blank node as a graph name implies 
(entails) such a triple for that blank node.  No need to specify it, 
since there's no other likely meaning.     That would definitely need a 
second last call for Semantics and/or Concepts.

What about Peter's concern, that this is a backdoor to equality? Perhaps 
intensionality solves this; I'm not understanding that part.  Test case:

   # <s1>,<s2> a rdf:Graph   (please, can I have this syntax?   never mind)
   <s1> a rdf:Graph.
   <s2> a rdf:Graph.

   <s1> p 1.

   GRAPH <s1> { <a> <b> <c> }.
   GRAPH <s2> { <a> <b> <c> }.

Does that entail

   <s2> p 1.

?   If not, how can it not?   If IRIs s1 and s2 denote the same thing, 
then it must follow, mustn't it?     If so, is that a problem?

Jeremy, thinking about using this in practice: are you using resolvable 
URLs as names for graphs?   Do you have some mechanism for handling the 
situation where dereference gives different triples for those URLs that 
some dataset does?    Like put a hash of the graph into the text of the 
URLs, so systems can tell if they're getting the right data?   Or just 
trust everything will always be in sync?

       -- Sandro


> Jeremy J Carroll
> Principal Architect
> Syapse, Inc.
>
>
>
> On Jul 19, 2013, at 9:06 PM, Eric Prud'hommeaux <eric@w3.org 
> <mailto:eric@w3.org>> wrote:
>
>> On Jul 19, 2013 2:10 PM, "Jeremy J Carroll" <jjc@syapse.com 
>> <mailto:jjc@syapse.com>> wrote:
>> >
>> > Sorry, I am failing to be brief ...
>> >
>> > On Jul 19, 2013, at 9:35 AM, Jeremy J Carroll <jjc@syapse.com 
>> <mailto:jjc@syapse.com>> wrote:
>> >
>> >> [[[
>> >>
>> >> rdfs:Graph
>> >>
>> >> rdfs:Graph is the class of graphs. All instances 
>> of rdfs:Graph correspond to the RDF model of a graph described in the 
>> RDF Concepts specification [RDF-CONCEPTS].
>> >> An instance of  rdfs:Graph MAY also be described in an RDF 
>> dataset, in which case the triples in the graph SHOULD/MUST be the 
>> triples as specified in the dataset.
>> >>
>> >> ]]]
>> >>
>> >>
>> >> (I would be happy with either SHOULD or MUST)
>> >
>> >
>> > looking again, MUST is too strong - since this would allow anyone 
>> to modify anyone's else's intent. We need to qualify which RDF 
>> datasets and reduce the MUST down to SHOULD.
>> > e.g. "MAY also be described in a related RDF dataset, ….. SHOULD 
>> …." with the complete modified suggested text as
>> >
>> > [[[
>> >
>> > rdfs:Graph
>> >
>> > rdfs:Graph is the class of graphs. All instances 
>> of rdfs:Graph correspond to the RDF model of a graph described in the 
>> RDF Concepts specification [RDF-CONCEPTS].
>> > An instance of  rdfs:Graph MAY also be described in a related RDF 
>> dataset, in which case the triples in the graph SHOULD be the triples 
>> as specified in the dataset.
>> >
>> > ]]]
>>
>> Sorry to be dim here, but does "the triples as specified in the 
>> dataset" indicate a truth predicate of some sort (in which case I 
>> would have expected "indicated" instead of "specified"). Or maybe I'm 
>> misinterpreting a signal that another graph (probably the default 
>> graph) includes all of the triples in the identified graph.
>>
>

Received on Friday, 26 July 2013 17:22:48 UTC