W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > July to September 2012

RE: another update test added (was: RE: Questions on grammar restrictions on Blank Node reuse across...)

From: Polleres, Axel <axel.polleres@siemens.com>
Date: Tue, 10 Jul 2012 13:48:17 +0200
To: "andy.seaborne@epimorphics.com" <andy.seaborne@epimorphics.com>, "public-rdf-dawg@w3.org" <public-rdf-dawg@w3.org>
Message-ID: <9DA51FFE5E84464082D7A089342DEEE8013E03D858EC@ATVIES9917WMSX.ww300.siemens.net>

> ARQ passes 05 because ARQ only does graph isomorphism
> compare, not dataset isomorphism compare - it ought to fail
> but ARQ only has graph isomorphism checking code which is
> enough for all other tests.


But isn't this exactly what we ask for in the tests-README?
Cf.

> http://www.w3.org/2009/sparql/docs/tests/README.html#updateevaltests
> >>>> we write:
> >>>>
> >>>>     "A SPARQL implementation passes a update evaluation
> test if the
> >>>> graphs in the graph store are equivalent [RDF-CONCEPTS] to
> >> the graphs
> >>>> denoted in the mf:action property (and mf:result property,
> >>>> respectively) prior to the update execution (after update
> >> execution,
> >>>> respectively). Equivalence can be tested as described
> >> above for query
> >>>> evaluation tests."


We ask here exactly for equivalence in the sense of http://www.w3.org/TR/rdf-concepts/#section-graph-equality (i.e. modulo bnode labels)... So if 05a works for an implementation, then 05 should work as well, shouldn't it?

Axel

--
Dr. Axel Polleres
Siemens AG Österreich
Corporate Technology Central Eastern Europe Research & Technologies
CT T CEE

Tel.: +43 (0) 51707-36983
Mobile: +43 (0) 664 88550859
Fax: +43 (0) 51707-56682 mailto:axel.polleres@siemens.com


> -----Original Message-----
> From: Andy Seaborne [mailto:andy.seaborne@epimorphics.com]
> Sent: Tuesday, 10 July 2012 11:17 AM
> To: public-rdf-dawg@w3.org
> Subject: Re: another update test added (was: RE: Questions on
> grammar restrictions on Blank Node reuse across...)
>
>
>
> On 10/07/12 09:31, Polleres, Axel wrote:
> >> Correction:
> >>
> >> (2 separate read actions -> different bNodes -> can't be shared).
> >>
> >>        Andy
> >
> > So, doesn't this confirm my assumption that 05 and 05a
> essentially test the same thing?
>
> If it were possible to write the necessary results for test
> 05 they could be made the same but the current manifest does
> not have correct results and it's impossible to write them.
>
> The results described in the manifest do not show a shared
> bnode across graphs - you can not write that by reading in
> two graphs in two separate read operations.
>
> ARQ passes 05 because ARQ only does graph isomorphism
> compare, not dataset isomorphism compare - it ought to fail
> but ARQ only has graph isomorphism checking code which is
> enough for all other tests.
>
> >
> >>> The problem with 05 is that the results do not sufficient
> constrain
> >>> the results to ensure the test does indeed test for the
> >> shared bnode.
> >
> > The test case doesn't test *shared* bnodes, but equivalence,
> > G1 and G2 are two different graphs.
>
> INSERT { GRAPH :g2  { ?S ?P ?O } }
>   WHERE { GRAPH :g1  { ?S ?P ?O } } ;
> INSERT { GRAPH :g2  { ?S ?P ?O } }
>   WHERE { GRAPH :g1  { ?S ?P ?O } }
>
> That shows that :g1 has all the triples of :g2 added twice.
>
> By doing it twice it shows it is the same (identity
> equality).  But the
> results in the manifest write something different - :g1 and
> :g2 are two
> graphs with one triple but different bnode.  Isomorphic but
> not identity
> equivalent.
>
> The file insert-05-g1-pre.ttl is read twice, which means 2 different
> bNodes.  So they are the right size and shape but do not express the
> identity relationship.
>
> If, in the results you do
>
> INSERT { GRAPH :g1  { ?S ?P ?O } }
>   WHERE { GRAPH :XXX  { ?S ?P ?O } } ;
> INSERT { GRAPH :g2  { ?S ?P ?O } }
>   WHERE { GRAPH :XXX { ?S ?P ?O } }
>
> then :XXX has two triples.
>
> Hence failing the test is correct when dataset isomorphism is
> considered.
>
> (aside from practical issues of not relying on who some toolkits
> actually treat bNodes labels when parsed in RDF)
>
> 05a capture the fact it is one triple directly and avoids the
> problems
> with the defined results.
>
>       Andy
>
>
> >
> > Greg, any opinion on that?
> >
> > Best,
> > Axel
> >
> > --
> > Dr. Axel Polleres
> > Siemens AG Österreich
> > Corporate Technology Central Eastern Europe Research & Technologies
> > CT T CEE
> >
> > Tel.: +43 (0) 51707-36983
> > Mobile: +43 (0) 664 88550859
> > Fax: +43 (0) 51707-56682 mailto:axel.polleres@siemens.com
> >
> >
> >> -----Original Message-----
> >> From: Andy Seaborne [mailto:andy.seaborne@epimorphics.com]
> >> Sent: Tuesday, 3 July 2012 5:56 PM
> >> To: public-rdf-dawg@w3.org
> >> Subject: Re: another update test added (was: RE: Questions on
> >> grammar restrictions on Blank Node reuse across...)
> >>
> >>
> >>
> >> On 03/07/12 16:47, Andy Seaborne wrote:
> >>>
> >>>
> >>> On 03/07/12 16:31, Polleres, Axel wrote:
> >>>> Addressing ACTION-656 and ACTION-642 (which are the same, I just
> >>>> noticed...)
> >>>>
> >>>> When looking at
> >>>>
> >>>>
> >>
> http://www.w3.org/2009/sparql/docs/tests/data-sparql11/basic-update/i
> >>>> nsert-05a.ru
> >>>>
> >>>> vs.
> >>>>
> >>>>
> >>
> http://www.w3.org/2009/sparql/docs/tests/data-sparql11/basic-update/i
> >>>> nsert-05.ru
> >>>>
> >>>>
> >>>> I ask myself the following:
> >>>>
> >>>> In
> >>>>
> >>
> http://www.w3.org/2009/sparql/docs/tests/README.html#updateevaltests
> >>>> we write:
> >>>>
> >>>>     "A SPARQL implementation passes a update evaluation
> test if the
> >>>> graphs in the graph store are equivalent [RDF-CONCEPTS] to
> >> the graphs
> >>>> denoted in the mf:action property (and mf:result property,
> >>>> respectively) prior to the update execution (after update
> >> execution,
> >>>> respectively). Equivalence can be tested as described
> >> above for query
> >>>> evaluation tests."
> >>>>
> >>>> Which, in my understanding, means that a test case that passes
> >>>>
> >>>>
> >>
> http://www.w3.org/2009/sparql/docs/tests/data-sparql11/basic-update/i
> >>>> nsert-05a.ru
> >>>>
> >>>> also passes
> >>>>
> >>>>
> >>
> http://www.w3.org/2009/sparql/docs/tests/data-sparql11/basic-update/i
> >>>> nsert-05.ru
> >>>>
> >>>> doesn't it? (since insert-05-g1-pre.ttl is graph
> equivalent to any
> >>>> other graph using diferent blank node labels. Right?
> >>>>
> >>>> Thus, if I got that right, my suggestion would be to keep
> >>>>
> >>
> http://www.w3.org/2009/sparql/docs/tests/data-sparql11/basic-update/i
> >>>> nsert-05.ru (and probably add a reference to this email in the
> >>>> description)
> >>>>
> >>>> Best,
> >>>> Axel
> >>>>
> >>>> P.s.: note that the exact wording in
> >>>>
> >>
> http://www.w3.org/2009/sparql/docs/tests/README.html#updateevaltests
> >>>> slightly differs at the moment... Some superfluous closing
> >>>> parenthesis, essentially, only editorial. Will fix this
> >> when I have
> >>>> access to CVS again.
> >>>>
> >>>
> >>> The problem with 05 is that the results do not sufficient
> constrain
> >>> the results to ensure the test does indeed test for the
> >> shared bnode.
> >>>
> >>> Each result graph is read in separately, generating bnodes.
> >>>
> >>> But the test is aimed at showing a sharing, which is not
> >> possible to
> >>> record by defining the graphs to read from file 92 separate read
> >>> actions
> >>> -> different bNodes).
> >>
> >> Correction:
> >>
> >> (2 separate read actions -> different bNodes -> can't be shared).
> >>
> >>        Andy
> >>
> >>>
> >>> 05a solves this by adding an INSERT that works on the state of the
> >>> graphs to record the result. It counts the triples and gets one
> >>> showing the two inserts were the same triple, not different ones.
> >>> Then it records the count in :g3, removes the troublesome
> g1 and g2
> >>> then we can test for the state of g3.
> >>>
> >>>       Andy
> >>>
> >>
> >>
> >>
> >
>
>
>
Received on Tuesday, 10 July 2012 11:48:51 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:48 GMT