Re: [ANN] GSoC 2015 Project Mid-term Evaluation (PASS)

2015-07-09 Thread Qihong Lin
Hi,

How to integrate my code into the code base? Which of the following
one is the desired approach:
1) confidencesun/jena:JENA-491 - apache/jena:master
2) confidencesun/jena:JENA-491 - confidencesun/jena:master -
apache/jena:master
3) confidencesun/jena:JENA-491 - apache/jena:JENA-491 - apache/jena:master

regards,
Qihong

On Tue, Jul 7, 2015 at 1:48 AM, Andy Seaborne a...@apache.org wrote:
 On 05/07/15 15:49, Qihong Lin wrote:

 Hi,

 Please check my latest commits [1].


 Hi Qihong,

 As in my other message, that has crossed over at the same time you sent
 this, it is time to work out the process for delivering to the Jena
 codebase.

 Let's start with changes to jena-arq.

 You will need to work with your mentor for this.  Please can we have the
 discussions regularly on this list.

 It will make integrating the code into the code base much easier - at the
 moment, it's quite hard to see how that can be achieved.

 The latest commit has 300+ changed files almost all from merging with Jena
 master not your changes.

 I'm afraid that finding the relevant parts to review from such a large
 number of files is somewhat difficult. It breaks the github review tools for
 a start!

 Andy


 I just completed the function of
 QueryEngineHTTP.execConstructQuads(). You can try out the example of
 query_construct_quad_01() in TestQuery [2].

 I'll improve the tests later on, with more questions in the other
 thread. Thanks!

 Regards,
 Qihong


 [1]
 https://github.com/confidencesun/jena/commit/07afdbf0fe635d41c302b25a9c51f43802ea903a
 [2]
 https://github.com/confidencesun/jena/blob/JENA-491/jena-fuseki2/jena-fuseki-core/src/test/java/org/apache/jena/fuseki/TestQuery.java

 On Sat, Jul 4, 2015 at 10:08 PM, Ying Jiang jpz6311...@gmail.com wrote:

 Hi all,

 FYI, Google announced the mid-term evaluation result of GSoC 2015
 project yesterday. The Jena project of Extend CONSTRUCT to build
 quads (JENA-491) passed the evaluation.

 Hi Qihong,
 Thanks a lot for your contribution last month! We expect your
 excellent work in the coming weeks.
 The status of the project is a little ahead of the schedule. But the
 rest work is also challenging. You're supposed to integrate JENA-491
 into Fuseki. In addition, the tests should be improved in accordance
 with the original test framework of jena-arq.
 Have fun!

 Cheers,
 Ying Jiang




Re: [GSoC 2015 - JENA-491] JavaCC with master.jj

2015-07-09 Thread Qihong Lin
Hi,

I've studied the jena tests. It looks like that the syntax tests are
generated by syn.sh. But the execution tests are not generated by
scripts, which are written by hand one by one. Is that true?

Since I have enough time, I'd like to directly go for the syn.sh and
syn-arq.sh to generate tests for constructing quads. Thanks!

regards,
Qihong

On Tue, Jun 16, 2015 at 9:24 PM, Andy Seaborne a...@apache.org wrote:
 On 16/06/15 09:06, Qihong Lin wrote:

 Hi,

 Thanks! I just marked GRAPH mandatory, and it worked without
 producing the warnings. I'll look into the details later.

 By the way, if the new parser is ready, how to test it? I mean, where
 to drop the unit test code and the query strings to be tested? I'm
 confused with org.apache.jena.sparql.junit.QueryTest (is that what I
 need to deal with?). Any guideline or documentation for arq test?

 regards,
 Qihong


 Most testing of queries is by externally defined manifest files
 (manifest.ttl)

 jena-arq/testing/ARQ

 For now, keep it clean and start a new directory

 jena-arq/testing/ARQ/ConstructQuads

 with both syntax and execution tests.  This is just to keep everything in
 one place for now.


 See jena-arq/testing/ARQ/Syntax/Syntax-ARQ/manifest.ttl and
 jena-arq/testing/ARQ/Construct/manifest.ttl.

 A manifest can have syntax and execution tests - it so happens that they are
 in separate places in the current test suite which was input the the working
 group.

 A syntax test looks like:

 :test_1 rdf:type   mfx:PositiveSyntaxTestARQ ;
dawgt:approval dawgt:NotClassified ;
mf:namesyntax-select-expr-01.arq ;
mf:action  syntax-select-expr-01.arq ;.

 to parse syntax-select-expr-01.arq, expecting it to be good, and an
 execution test is an action and a result:

 :someExecutionTest rdf:type   mfx:TestQuery ;
 mf:nameConstruct Quads 1 ;
 mf:action
  [ qt:query  q-construct-1.rq ;
qt:data   data-1.ttl ] ;
 mf:result  results-construct-1.ttl
 .

 an action is a query and a data file.

 There are different styles of layout in different places.  The test suite
 has grown incrementally over the years of SPARQL 1.0 and SPARQL 1.1. Some
 test come from outside the project.

 You can test from the command line using the arq.qparse tool.
 See other message.

 There is a command qtest for running manifests.

 Background FYI:

 You won't need this when put everything in
 jena-arq/testing/ARQ/ConstructQuads but to explain: the main test syntax
 suites are auto-generated by syn.sh

 Part of that is syn-arq.sh.

 But hand writing syntax easier for now.

 Andy



Re: [ANN] GSoC 2015 Project Mid-term Evaluation (PASS)

2015-07-09 Thread Andy Seaborne

On 09/07/15 15:08, Qihong Lin wrote:

Hi,

How to integrate my code into the code base? Which of the following
one is the desired approach:
1) confidencesun/jena:JENA-491 - apache/jena:master
2) confidencesun/jena:JENA-491 - confidencesun/jena:master -
apache/jena:master
3) confidencesun/jena:JENA-491 - apache/jena:JENA-491 - apache/jena:master

regards,
Qihong



I don't know the workflow you used with Marmotta last year.

Where I'd like to get to is a pull request (PR) from confidencesun/jena 
to apache/jena.


That PR should cover changes to jena-arq, so master.jj, the interface 
changes to QueryExecution, the implementation (local dataset) and tests 
to cover syntax and also to cover execution. Not QueryEngineHTTP for now 
(nothing to test it with at this point).


If you prefer, we can split this up in one PR for syntax - master.jj and 
syntax tests - and one PR for QueryExecution, implementation and tests.


The PR should just be changes you have made, so merging in 
apache/jena:master before making the pull request and resolving any 
conflicts should mean that the PR is just the new material from where 
ever the new work is currently should be done. [I'm a bit confused 
because the last commits you linked to previously with [1] are commits 
merged from jena master - there may be commits related to the title add 
construct quads support to Fuseki but I can't find them ... but then 
github isn't happy with 341 files changed so I don't know what might 
have been truncated.]


When the PR is done, we can use the github tools to check and review the 
code so as to prepare it for merging.


Does this all make sense?

Andy