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 <e...@w3.org <mailto:e...@w3.org>> wrote:

On Jul 19, 2013 2:10 PM, "Jeremy J Carroll" <j...@syapse.com <mailto:j...@syapse.com>> wrote:
>
> Sorry, I am failing to be brief ...
>
> On Jul 19, 2013, at 9:35 AM, Jeremy J Carroll <j...@syapse.com <mailto:j...@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.



Reply via email to