W3C home > Mailing lists > Public > public-rdf-wg@w3.org > September 2012

Re: Test cases and examples for dataset entailment

From: Antoine Zimmermann <antoine.zimmermann@emse.fr>
Date: Tue, 11 Sep 2012 13:29:43 +0200
Message-ID: <504F20A7.2090301@emse.fr>
To: Richard Cyganiak <richard@cyganiak.de>
CC: RDF Working Group WG <public-rdf-wg@w3.org>
Thanks for putting this all together.
My comments:

In "Basics": a dataset A is consistent with a dataset B if both can be 
true at the same time. What you write looks more like "modularity" in a 
logical sense.

T1.1: classically, entailment would be defined between datasets. RDF 
entailment is between RDF graphs, FOL entailment is between FOL 
formulas, DL entailment is between DL ontologies, etc. I think it's 
better to say that RDF graphs are assimilated to RDF datasets that only 
have a default graph. Thus, with harmless abuse of notations, we can say:

  { G } dataset-entails G

and

  G dataset-entails { G }

Then you don't have to distinguish T1.X and T2.X.

T2.X: we should not repeat tests that are already present in RDF test 
cases, OWL test cases, etc. We can define meta-tests that can be used 
with the existing test cases to generate concrete tests automatically:

"""
If a test case exists for entailment regime E such that G1 E-entails G2, 
then:

  { G1 }  E-dataset-entails  { G2 }

If a test case exists for entailment regime E such that G is 
E-inconsistent, then:

  { G } is E-inconsistent
"""

I would swap 3.X and 4.X. I talk about 3.X after.

T4.X: we can generalise this to:

"""
If a test case exists for entailment regime E such that G1 E-entails G2, 
then:

  :n { G1 }  E-dataset-entails  :n { G2 }
"""

T3.X:

"""
If a test case exists for entailment regime E such that G1 E-entails G2, 
then:

  :n { G1 }  *does not* E-dataset-entails  { G2 }

Note that this also applies if G1 = G2.

If a test case exists for entailment regime E such that G is 
E-inconsistent, then:

  :n { G }  is *consistent*
"""

T5.2: this test is wrong. The empty graph does not entail

  :n {}

in general. To entail this, n must be in the vocabulary of the 
interpretation. This means that the empty graph RDF-dataset-entails:

  rdf:type {}

for instance, but not:

  owl:sameAs {}

That's one possible argument in favour of getting rid of the dependency 
to a vocabulary.

T6.X simply say we have open world assumption. Any entailment valid on a 
subset of an RDF dataset are valid for said dataset. I don't think this 
requires specific test cases. To test it, it suffices to combine any two 
tests and verify that the entailments of the two tests hold.

T8.X is redundant with T2.X.

There are a few more tests that are worth putting in:

An inconsistent graph in a named graph allows one to derive any 
conclusion within the graph, but does not affect other named graphs, nor 
the default graph.

"""
If a test case exists for entailment regime E such that G is 
E-inconsistent, then:

  :n { G }  E-dataset-entails  :n { :s :p :o }

but does not entail:

  { :s :p :o }

nor

  :m { :s :p :o }
"""

IRIs in different named graphs can denote different things:

"""
  { :s  owl:sameAS  "a" }
  :n { :s  owl:sameAs  "b" }
  :m { :s  owl:sameAs  "c" }

is OWL-dataset-consistent.
"""

Graph IRIs do not necessarily denote a graph:

"""
  { :n  owl:sameAs  "a" }
  :n { :s  :p  :o }

is OWL-dataset-consistent.
"""

Other tricky test case:

  { :p  rdfs:range  xsd:boolean .
    :s  :p  :n, :m, :o . }
  :n { :q  rdfs:range  xsd:string .
       :x  :q  :y }
  :m { :q  rdfs:range  rdf:HTML .
       :x  :q  :y }
  :o { :q  rdfs:range  rdf:langString .
       :x  :q  :y}

is RDFS-dataset-inconsistent.
"""
Note that this would be consistent if IGEXT was a function from IRIs to 
graphs instead of resources to graph.



HIH
--AZ.


Le 10/09/2012 18:30, Richard Cyganiak a écrit :
> All,
>
> http://www.w3.org/2011/rdf-wg/wiki/TF-Graphs/Minimal-dataset-semantics#Test_cases
>
>  I've added a number of test cases and examples to the Minimal
> Dataset Semantics wiki page. There are also test cases that try to
> specifically show what's at stake in the various open issues. No one
> has reviewed this yet, so expect some errors.
>
> I think this should be a good basis for further discussion. I think
> it would be helpful for Wednesday's call if everyone had read through
> these test cases. Please feel free to ask questions and propose
> additional examples and test cases!
>
> Two other things that I'd quite like to see before we can call the
> proposal complete:
>
> 1. Some thinking on how it addresses our graph use cases. (Do we have
> an “official” list of those? I've lost track with all the various
> documents.)
>
> 2. Some examples for semantic extensions, in order to show that
> various other proposed semantics can actually be done as proper
> semantic extensions of this minimal dataset semantics.
>
> Best, Richard
>


-- 
Antoine Zimmermann
ISCOD / LSTI - Institut Henri Fayol
École Nationale Supérieure des Mines de Saint-Étienne
158 cours Fauriel
42023 Saint-Étienne Cedex 2
France
Tél:+33(0)4 77 42 83 36
Fax:+33(0)4 77 42 66 66
http://zimmer.aprilfoolsreview.com/
Received on Tuesday, 11 September 2012 11:30:47 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:51 GMT