Hi,

The doc is actually construct-quad.mdtext. In another easy way, You
can just compose it offline, and send it to us for review. I can help
you commit the mdtext file into svn finally.

Best regards,
Ying Jiang

On Sat, Aug 15, 2015 at 5:21 PM, Qihong Lin <[email protected]> wrote:
> Hi,
>
> Please check my updates of the 3 tasks blow:
>
> 1) jena/arq: in master branch (to be merged first)
> In PR 89, I added some more tests in TestAPI and TS_Script. The bug of
> construct quad projection on exeConstructTriples() has been fixed,
> with the tests of 4 cases (commit 03a321f).
>
> 2) jena/fuseki: in JENA-491 branch
> In PR 91, see commit 0eb28d8. You can try out
> org.apache.jena.fuseki.TestQuery.query_construct_01()/query_construct_quad_01()
>
> 3) doc: in jena web page (wiki)
> I can see the staging page [1]. But when I try the "Improve this Page"
> with [1], it redirects me to [2]. I can not find construct_quad.mdtext
> under [2]. I also try to open [3], with "Not Found" error. Could you
> help me please?
>
> regards,
> Qihong
>
> [1] http://jena.staging.apache.org/documentation/query/construct-quad.html
> [2] https://cms.apache.org/jena/wc/edit/anonymous-LWMAVL/trunk/
> [3] http://jena.apache.org/documentation/query/construct-quad.html
>
> On Tue, Aug 11, 2015 at 10:35 AM, Ying Jiang <[email protected]> wrote:
>> Hi Qihong,
>>
>> You may have received the reminder email from Google that the final
>> evaluation of the GSoC project is approaching. The "soft" deadline is
>> 17 August, with the "hard" one on 21 August. It means there're only 2
>> weeks left for your remaining work. The tests of arq need improving,
>> as Andy points out. You can also deliver the Fuseki part in the other
>> branch for review in the mean time. Meanwhile, the documentation can
>> be composed in jena web page (wiki). In order to save time, I suggest
>> the 3 parts of the work go on simultaneously:
>> 1) jena/arq: in master branch (to be merged first)
>> 2) jena/fuseki: in JENA-491 branch
>> 3) doc: in jena web page (wiki)
>>
>> Best regards,
>> Ying Jiang
>>
>>
>> On Mon, Aug 10, 2015 at 9:58 PM, Andy Seaborne <[email protected]> wrote:
>>> I've managed to integrate the latest updates.
>>>
>>> The scripted ones look, at first glance OK, but the data isn't very rich.
>>>
>>> Also, please can we have some API tests in "TestAPI".  These are JUnit tests
>>> in java.  These should be have comprehensive coverage.
>>>
>>> I also tried out execConstructTriples(), I noticed that the result is from
>>> all graphs.  When just triples are asked for, only those in the default
>>> graph should be returned.  Template.getTriples calls Quad.asTriple.  But it
>>> needs to deal with just the default graph, and c can't rely on
>>> Quad.asTriple.
>>>
>>>         Andy
>>>
>>>
>>> On 10/08/15 12:44, Qihong Lin wrote:
>>>>
>>>> Hi,
>>>>
>>>> I've enriched the syntax tests with "short form" and "default graph"
>>>> cases.
>>>>
>>>> For execution tests, I add the test support in QueryTest for construct
>>>> quad with the scripts files and data files in TRIG (see
>>>> jena-arq/testing/ARQ/Construct/*.trig). I think construct quad should
>>>> be part of the construct of ARQ. So I add the execution tests in
>>>> jena-arq/testing/ARQ/Construct/manifest.ttl.
>>>>
>>>> The fuseki part of construct quad has been implemented (not committed
>>>> yet). I'll submit the code as soon as the PR 89 [1] being merged.
>>>> Anything to be improved for PR 89 from your reviews?
>>>>
>>>> regards,
>>>> Qihong
>>>>
>>>> [1] https://github.com/apache/jena/pull/89
>>>>
>>>>
>>>> On Thu, Aug 6, 2015 at 8:55 PM, Andy Seaborne <[email protected]> wrote:
>>>>>
>>>>> 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 <[email protected]>
>>>>>> 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 <[email protected]>
>>>>>>> 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