As I discussed on the call today, it might be useful to have a negative entailment test for dataset semantics. Recognizing that there are no semantics defined for datasets (or that the semantics of datasets are those of it's default graph), we might consider the following NegativeEntailmentTest:
Premise:
@prefix rdfs: <> .
:foo a :bar .
<> { :bar rdfs:subClassOf :baz }
Consequent (should not entail this)
@prefix rdfs: <> .
:foo a :bar, :baz .
<> { :bar rdfs:subClassOf :baz }
There are two ways you might come across this: The first is that when loading a dataset and expecting a graph, the document should be interpreted as being just it's default graph. In this case, if the meaning of NegativeEntailmentTest is to have a premise and consequent _graph_, then it would be wrong to fold the content of the named graph into the default graph.
The second is that we use something such as a NegativeDatasetEntailmentGraph, where premise and consequent are both datasets. In this case, an interpretation is that the semantics of a dataset are those of it's default graph, in which case the content of named graphs should also be ignored.
Having no tests for datasets, positive or negative, does not provide anything useful for implementers, particularly those that may naively assume that such interpretations are reasonable according to 2013 semantics.
Gregg Kellogg
gregg@greggkellogg.net