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.