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

From: Jeremy J Carroll <jjc@syapse.com>
Date: Tue, 1 Oct 2013 13:56:30 -0700
Message-Id: <9A26ABA1-ED33-4A77-A24E-DEA8C648C64A@syapse.com>
```Summary:
My core textual proposal is to insert

[[
A simple interpretation I conforms with the naming of a dataset (N,d) when:

If aaa is an IRI in the domain of N, then I(aaa) = ( aaa, N(aaa) )

When considering interpretations of graphs within a dataset, RDF implementations MAY restrict themselves to interpretations which conform with the naming of the dataset.
]]

into section 10 of RDF Semantics, and to make consequential changes.

*********

I indicated to Sandro that I would suggest textual change that would address my comment.
http://lists.w3.org/Archives/Public/www-archive/2013Oct/0004.html

This message:
- suggests text
- gives the old text being replaced
- discusses the change paragraph by paragraph
- gives further discussion of other changes

SUGGESTED TEXT

[[
10. RDF Datasets

An RDF dataset (see [RDF11-CONCEPTS]) is defined using  a set S of RDF graphs.
An RDF dataset (N,d) is a function N whose domain is a finite set of IRI or blank nodes, and whose range is S. In addition, an RDF dataset distinguishes one element d of S.

A simple interpretation I conforms with the naming of a dataset (N,d) when:

if aaa is an IRI in the domain of N, then I(aaa) = ( aaa, N(aaa) )

When considering interpretations of graphs within a dataset, RDF implementations MAY restrict themselves to interpretations which conform with the naming of the dataset.

Not withstanding this formal meaning, graph names in a dataset may informally refer to something other than the graph they are paired with. This allows IRI referring to other kinds of entities, such as persons, to be used in a dataset to identify graphs of information relevant to the entity denoted by the graph name IRI.

RDF datasets may be used to express RDF content. When used in this way, a dataset should be understood to have at least the same content as its default graph. Note however that replacing the default graph of a dataset by a logically equivalent graph will not in general produce a structurally similar dataset, since it may for example disrupt co-occurrences of blank nodes between the default graph and other graphs in the dataset, which may be important for reasons other than the semantics of the graphs in the dataset.

Other semantic extensions and entailment regimes may place further semantic conditions and restrictions on RDF datasets, just as with RDF graphs. One such extension, for example, could set up a modal-like interpretation structure so that entailment between datasets would require RDF graph entailments between the graphs with the same name (adding in empty graphs as required).

]]

OLD TEXT
[[
10. RDF Datasets

An RDF dataset (see [RDF11-CONCEPTS]) is a finite set of RDF graphs each paired with an IRI or blank node called the graph name, plus a default graph, without a name. Graphs in a single dataset may share blank nodes. The association of graph name IRIs with graphs is used by SPARQL [RDF-SPARQL-QUERY] to allow queries to be directed against particular graphs.

Graph names in a dataset may refer to something other than the graph they are paired with. This allows IRI referring to other kinds of entities, such as persons, to be used in a dataset to identify graphs of information relevant to the entity denoted by the graph name IRI.

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.

RDF datasets may be used to express RDF content. When used in this way, a dataset should be understood to have at least the same content as its default graph. Note however that replacing the default graph of a dataset by a logically equivalent graph will not in general produce a structurally similar dataset, since it may for example disrupt co-occurrences of blank nodes between the default graph and other graphs in the dataset, which may be important for reasons other than the semantics of the graphs in the dataset.

Other semantic extensions and entailment regimes may place further semantic conditions and restrictions on RDF datasets, just as with RDF graphs. One such extension, for example, could set up a modal-like interpretation structure so that entailment between datasets would require RDF graph entailments between the graphs with the same name (adding in empty graphs as required).
]]

DISCUSSION
[[
An RDF dataset (see [RDF11-CONCEPTS]) is defined using  a set S of RDF graphs.
An RDF dataset (N,d) is a function N whose domain is a finite set of IRI or blank nodes, and whose range is S. In addition, an RDF dataset distinguishes one element d of S.
]]

This text is to address my comment:
I have no great attachment to this change, but I do not believe that that minor comment can be addressed without such normative change.

[[

A simple interpretation I conforms with the naming of a dataset (N,d) when:

if aaa is an IRI in the domain of N, then I(aaa) = ( aaa, N(aaa) )

When considering interpretations of graphs within a dataset, RDF implementations MAY restrict themselves to interpretations which conform with the naming of the dataset.
]]
This is the heart of addressing my comment. Considering interpretations that map URIs to pairs, is a formal device to get appropriate semantics.

[[
Not withstanding this formal meaning, graph names in a dataset may informally refer to something other than the graph they are paired with. This allows IRI referring to other kinds of entities, such as persons, to be used in a dataset to identify graphs of information relevant to the entity denoted by the graph name IRI.
]]
My preference would be for this sentence to be deleted. However, since I am trying to propose minimal change from the LC document, I added the weasel wording.
Please note that the LC text is not very appropriate to semantics that generally avoids such woolly notions as 'refer'

[[
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.
]]
Since this text, if it means anything at all, directly contradicts my new text, I suggest deleting it.

[[
RDF datasets may be used to express RDF content. When used in this way, a dataset should be understood to have at least the same content as its default graph. Note however that replacing the default graph of a dataset by a logically equivalent graph will not in general produce a structurally similar dataset, since it may for example disrupt co-occurrences of blank nodes between the default graph and other graphs in the dataset, which may be important for reasons other than the semantics of the graphs in the dataset.

Other semantic extensions and entailment regimes may place further semantic conditions and restrictions on RDF datasets, just as with RDF graphs. One such extension, for example, could set up a modal-like interpretation structure so that entailment between datasets would require RDF graph entailments between the graphs with the same name (adding in empty graphs as required).
]]
I have no great love of these two paragraphs, and would not be unhappy if they were omitted; however I fall short of proposing their deletion.

FURTHER DISCUSSION
Text such as
[[
Note: the mapping from URIs to pairs allows different descriptions of, for example, the provenance of two graphs that happen to be identical.
]]