Hi - looking better - I see the syntax tests I provided.

Does that set of tests cover all cases of the new syntax?

Next, we need execution tests for ARQ.

There will need to be execute tests in jena-arq as well. These can be
Junit tests in java and do not need to be external script files.
This is separate from testing in Fuseki.

Do you have any other constraints on your time over the next 2 weeks?

        Andy

On 06/08/15 04:18, Qihong Lin wrote:
Hi,

I've fixed the bugs related to syntax checks. Please see my latest
commits. Here're the output of the syntax files through qparse (you
can also run "ExampleConstructQuads.java" to get the results). Are
these with the expected behaviors, especially for
"syntax-quad-construct-07.arq"?

run-construct-quad-test: ======== File: syntax-quad-construct-01.arq
PREFIX : <http://example/>

CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} ==== Output of qparse
--file syntax-quad-construct-01.arq PREFIX  :     <http://example/>

CONSTRUCT { GRAPH :g { :s :p :o .} } WHERE {  } ======== File:
syntax-quad-construct-02.arq PREFIX : <http://example/>

CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } ==== Output of
qparse --file syntax-quad-construct-02.arq PREFIX  :
<http://example/>

CONSTRUCT { GRAPH ?g { ?s ?p ?o .} } WHERE { ?s  ?p  ?o } ========
File: syntax-quad-construct-03.arq PREFIX : <http://example/>

CONSTRUCT { :s :p :o } WHERE {} ==== Output of qparse --file
syntax-quad-construct-03.arq PREFIX  :     <http://example/>

CONSTRUCT { :s :p :o . } WHERE {  } ======== File:
syntax-quad-construct-04.arq PREFIX : <http://example/>

CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g { ?s ?p
?o } } ==== Output of qparse --file syntax-quad-construct-04.arq
PREFIX  :     <http://example/>

CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . } WHERE { GRAPH ?g { ?s
?p  ?o } } ======== File: syntax-quad-construct-05.arq PREFIX :
<http://example/>

CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g { ?s ?p
?o } } ==== Output of qparse --file syntax-quad-construct-05.arq
PREFIX  :     <http://example/>

CONSTRUCT { ?s ?p ?o . GRAPH ?g { :s :p :o .} } WHERE { GRAPH ?g { ?s
?p  ?o } } ======== File: syntax-quad-construct-06.arq PREFIX :
<http://example/>

CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s
?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE { GRAPH ?g
{ ?s ?p ?o } } ==== Output of qparse --file
syntax-quad-construct-06.arq PREFIX  :     <http://example/>

CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g {
?s ?p ?o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o .} } WHERE {
GRAPH ?g { ?s  ?p  ?o } } ======== File:
syntax-quad-construct-07.arq PREFIX : <http://example/>

CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {:s :p :o .} } WHERE
{} ==== Output of qparse --file syntax-quad-construct-07.arq PREFIX
:     <http://example/>

CONSTRUCT { :s :p :o . } WHERE {  } ======== File:
syntax-quad-construct-08.arq PREFIX : <http://example/>

CONSTRUCT { GRAPH ?g { :s :p :o } GRAPH ?g1 { :s :p :o } } WHERE { }
==== Output of qparse --file syntax-quad-construct-08.arq PREFIX  :
<http://example/>

CONSTRUCT { GRAPH ?g { :s :p :o .} GRAPH ?g1 { :s :p :o .} } WHERE {
}

On Sun, Aug 2, 2015 at 9:14 AM, Ying Jiang <jpz6311...@gmail.com>
wrote:
Hi Qihong,

I re-checked the code you commited. Most of the hashCode issues
for arq.qparse that Andy pointed out are due to the incorrect
serialization of the Template. The code can only deal with the
quads with the same graph node, for which it may not always be the
case in practcial terms. Please make sure each example syntax file
can pass the checking process of arq.qparse.

It's August now. You'd better hurry up and make the project
completed on time in the remaining weeks.

Best regards, Ying Jiang

On Thu, Jul 30, 2015 at 6:03 AM, Andy Seaborne <a...@apache.org>
wrote:
Output of * each examnple syntax file (the queries are nonsense
in practcial terms!) * running arq.qparse on the file * notes on
what seems to be going on

Andy

======== File: syntax-quad-construct-01.arq PREFIX :
<http://example/>

CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} ==== Output of
qparse --file syntax-quad-construct-01.arq PREFIX  :
<http://example/>

CONSTRUCT { GRAPH <http://example/g> {:s :p :o .} } WHERE {  }
---- Issue: Minor: formatting of <http://example/g> should be :g

======== File: syntax-quad-construct-02.arq PREFIX :
<http://example/>

CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } ====
Output of qparse --file syntax-quad-construct-02.arq PREFIX  :
<http://example/>

CONSTRUCT { GRAPH ?g {?s ?p ?o .} } WHERE { ?s  ?p  ?o } ---- OK

======== File: syntax-quad-construct-03.arq PREFIX :
<http://example/>

CONSTRUCT { :s :p :o } WHERE {} ==== Output of qparse --file
syntax-quad-construct-03.arq PREFIX  :     <http://example/>

CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {:s :p :o .} }
WHERE {  } ---- Issue: Major: The output is contains "GRAPH
<urn:x-arq:DefaultGraphNode>"

Note: <urn:x-arq:DefaultGraphNode> is for internal use only.

For syntax, that is a named graph just like <http://example/g>

======== File: syntax-quad-construct-04.arq PREFIX :
<http://example/>

CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g {
?s ?p ?o } }

==== Output of qparse --file syntax-quad-construct-04.arq

**** Check failure: reparsed query hashCode does not equal parsed
input query Query (hashCode: 1768688961)= PREFIX  :
<http://example/>

CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g {
?s  ?p  ?o } }


Query2 (hashCode: 1896249441)= PREFIX  :     <http://example/>

CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g {
?s  ?p  ?o } }

PREFIX  :     <http://example/>

CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g {
?s  ?p  ?o } } ---- Issue: The output puts the following triple
into the GRAPH. See also syntax-quad-construct-08.arq

======== File: syntax-quad-construct-05.arq PREFIX :
<http://example/>

CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g {
?s ?p ?o } }

==== Output of qparse --file syntax-quad-construct-05.arq

**** Check failure: reparsed query hashCode does not equal parsed
input query Query (hashCode: -262437683)= PREFIX  :
<http://example/>

CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {?s ?p ?o . :s :p
:o .} } WHERE { GRAPH ?g { ?s  ?p  ?o } }


Query2 (hashCode: -399379987)= PREFIX  :     <http://example/>

CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {?s ?p ?o . :s :p
:o .} } WHERE { GRAPH ?g { ?s  ?p  ?o } }

PREFIX  :     <http://example/>

CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {?s ?p ?o . :s :p
:o .} } WHERE { GRAPH ?g { ?s  ?p  ?o } } ---- Issue: Plain ?s ?p
?o has been put into a named graph Adjacent blocks have merged.

======== File: syntax-quad-construct-06.arq PREFIX :
<http://example/>

CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g
{ ?s ?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE {
GRAPH ?g { ?s ?p ?o } }

==== Output of qparse --file syntax-quad-construct-06.arq

**** Check failure: reparsed query hashCode does not equal parsed
input query Query (hashCode: -1800516808)= PREFIX  :
<http://example/>

CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o
. ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s  ?p
?o } }


Query2 (hashCode: -129418312)= PREFIX  :     <http://example/>

CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o
. ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s  ?p
?o } }

PREFIX  :     <http://example/>

CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o
. ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s  ?p
?o } } ---- Issue: Same as previous.

======== File: syntax-quad-construct-07.arq PREFIX :
<http://example/>

CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {:s :p :o .} }
WHERE {}

==== Output of qparse --file syntax-quad-construct-07.arq PREFIX
:     <http://example/>

CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {:s :p :o .} }
WHERE {  } ---- Issue: Should be different.  A named graph of
GRAPH <urn:x-arq:DefaultGraphNode> is not the default graph.

======== File: syntax-quad-construct-08.arq PREFIX :
<http://example/>

CONSTRUCT { GRAPH ?g { :s :p :o } GRAPH ?g1 { :s :p :o } } WHERE
{ }

==== Output of qparse --file syntax-quad-construct-08.arq

**** Check failure: reparsed query hashCode does not equal parsed
input query Query (hashCode: 636900208)= PREFIX  :
<http://example/>

CONSTRUCT { GRAPH ?g {:s :p :o . :s :p :o .} } WHERE {  }


Query2 (hashCode: 636999583)= PREFIX  :     <http://example/>

CONSTRUCT { GRAPH ?g {:s :p :o . :s :p :o .} } WHERE {  }

PREFIX  :     <http://example/>

CONSTRUCT { GRAPH ?g {:s :p :o . :s :p :o .} } WHERE {  } ----
Issue: Adjacent GRAPH blocks have merged.


Reply via email to