Hi Qihong,

You may have already received an email from Google, which reminded us
of the mid-term evaluation for the GSoC project. The evaluation will
start next Friday, 26 June. The deadline to submit your evaluation is
19:00 UTC on Friday, 3 July. Please make sure not to miss it.

More importantly, you're supposed to deliver your work according to
the proposal before that. At least, I need to check the following
output for the evaluation of your work:
1) the grammar definition: normative definition of the syntax
2) the new master.jj, arq.jj, with sparql_11.jj unchanged.
3) the code of new QueryExecution operations: execConstrucQuads(),
execConstructDataset()
4) some test code for the above, OR at least some examples/demos to
prove your work

Best regards,
Ying Jiang



On Mon, Jun 15, 2015 at 6:54 PM, Qihong Lin <[email protected]> wrote:
> Hi,
>
> I just opened 2 new threads. Your comments are welcome!
>
> regards,
> Qihong
>
> On Mon, Jun 15, 2015 at 4:45 PM, Rob Vesse <[email protected]> wrote:
>> Folks
>>
>> Could you please either start new threads of change the subject line
>> appropriately for future discussions on this
>>
>> The generic subject line makes it hard when catching up with emails to see
>> at a glance what this thread is about
>>
>> Thanks,
>>
>> Rob
>>
>> On 14/06/2015 12:28, "Andy Seaborne" <[email protected]> wrote:
>>
>>>Hi,
>>>
>>>Would it be possible to add new methods & constructors to Template.java
>>>while leaving the existing methods/constructors in-place (reimplemented
>>>in Template; that does not affect the SPARQL 1.0 parser).  Then the
>>>source code for the SPARQL 1.0 parser does not need change.
>>>
>>>The main (and only, I think) use from the SPARQL 1.0 grammar is the
>>>constructor  "new Template(basic graph pattern)".
>>>
>>>So if there is a constructor to match that, the generated source code
>>>for SPARQL 1.0 does not need to change (it may need to recompiled but
>>>that's happening anyway).  Another constructor can take a QuadPattern.
>>>
>>>getTriple/getBGP only returns the default graph related triples. A new
>>>getQuads returns everything.
>>>
>>>Is there some code on github for the changes to Template to look at?
>>>
>>>If you drop some links here, I'll try to find some time to take a look
>>>soon.
>>>
>>>Don't worry too much at this stage - If SPARQL 1.0 gets in the way too
>>>much of you making progress, then delete it from your code (but note the
>>>fact so we can be careful when merging pull requests later!!)
>>>
>>>       Andy
>>>
>>>On 14/06/15 05:16, Ying Jiang wrote:
>>>> Hi Qihong,
>>>>
>>>> It doesn't matter. For a temperate solution, just change the code of
>>>> SPARQL_10 manually to make the compiling work.
>>>> Please don't wait the answers from the list. Many of the questions do
>>>> not stop you from coding. We would be glad if you can deliver your
>>>> code as soon/often as possible.
>>>>
>>>> Best regards,
>>>> Ying Jiang
>>>>
>>>>
>>>> On Fri, Jun 12, 2015 at 9:54 AM, Qihong Lin <[email protected]>
>>>>wrote:
>>>>> Hi,
>>>>>
>>>>> If the checksum and grammar script is OK, I'd like to continue coding.
>>>>>
>>>>> However, the grammar script only generates ARQ and SPARQL_11, without
>>>>> touching SPARQL_10. If I change the code of, e.g. Template [1], it
>>>>> will affect SPARQL_10. Shall I modify the code of SPARQL_10 manually,
>>>>> change the sparql_10.jj grammar manually, or re-generate SPARQL_10
>>>>> with the grammar script (and how?) ?
>>>>>
>>>>> regards,
>>>>> Qihong
>>>>>
>>>>>
>>>>>
>>>>> [1]
>>>>>https://github.com/confidencesun/jena/blob/master/jena-arq/src/main/java
>>>>>/org/apache/jena/sparql/syntax/Template.java
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Fri, Jun 12, 2015 at 12:10 AM, Ying Jiang <[email protected]>
>>>>>wrote:
>>>>>> Hi Qihong,
>>>>>>
>>>>>> Have you modified any files? If the grammar file is identical, the
>>>>>> checksum of each generated java class should be the same.
>>>>>>
>>>>>> Best regards,
>>>>>> Ying Jiang
>>>>>>
>>>>>> On Mon, Jun 8, 2015 at 5:27 PM, Qihong Lin <[email protected]>
>>>>>>wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> The grammar has been modified for the problems you pointed out.
>>>>>>> I've tried to run grammar script to generate arq.jj, sparql_11.jj and
>>>>>>> their parser java classes, in cygwin with JavaCC 5.0. However the
>>>>>>> generated java classes are different from those in the code base:
>>>>>>> 1) ARQParser
>>>>>>> - the new generated one:
>>>>>>> public class ARQParser extends ARQParserBase implements
>>>>>>>ARQParserConstants
>>>>>>> - the old one in the code base:
>>>>>>> public class ARQParser extends ARQParserBase
>>>>>>> There's no such difference for SPARQLParser11 (both new and old ones
>>>>>>> have "implements ...")
>>>>>>> 2) checksum for Token, ParseException, JavaCharStream and so on
>>>>>>> - the new generated one (Token.java):
>>>>>>> /* JavaCC - OriginalChecksum=335d1922781852977208d5cdca0fc164 (do not
>>>>>>> edit this line) */
>>>>>>> - the old one in the code base (Token.java):
>>>>>>> /* JavaCC - OriginalChecksum=d9b4c8c9332fa3054a004615fdb22b89 (do not
>>>>>>> edit this line) */
>>>>>>>
>>>>>>> The log from grammar script seems OK:
>>>>>>>
>>>>>>> $ ./grammar
>>>>>>> ---- Process grammar -- sparql_11.jj
>>>>>>> Java Compiler Compiler Version 5.0 (Parser Generator)
>>>>>>> (type "javacc" with no arguments for help)
>>>>>>> Reading from file sparql_11.jj . . .
>>>>>>> File "TokenMgrError.java" does not exist.  Will create one.
>>>>>>> File "ParseException.java" does not exist.  Will create one.
>>>>>>> File "Token.java" does not exist.  Will create one.
>>>>>>> File "JavaCharStream.java" does not exist.  Will create one.
>>>>>>> Parser generated successfully.
>>>>>>> ---- Create text form
>>>>>>> Java Compiler Compiler Version 5.0 (Documentation Generator Version
>>>>>>>0.1.4)
>>>>>>> (type "jjdoc" with no arguments for help)
>>>>>>> Reading from file sparql_11.jj . . .
>>>>>>> Grammar documentation generated successfully in sparql_11.txt
>>>>>>> ---- Fixing Java warnings in TokenManager ...
>>>>>>> ---- Fixing Java warnings in Token ...
>>>>>>> ---- Fixing Java warnings in TokenMgrError ...
>>>>>>> ---- Fixing Java warnings in SPARQLParser11 ...
>>>>>>> ---- Done
>>>>>>> ---- Process grammar -- arq.jj
>>>>>>> Java Compiler Compiler Version 5.0 (Parser Generator)
>>>>>>> (type "javacc" with no arguments for help)
>>>>>>> Reading from file arq.jj . . .
>>>>>>> File "TokenMgrError.java" does not exist.  Will create one.
>>>>>>> File "ParseException.java" does not exist.  Will create one.
>>>>>>> File "Token.java" does not exist.  Will create one.
>>>>>>> File "JavaCharStream.java" does not exist.  Will create one.
>>>>>>> Parser generated successfully.
>>>>>>> ---- Create text form
>>>>>>> Java Compiler Compiler Version 5.0 (Documentation Generator Version
>>>>>>>0.1.4)
>>>>>>> (type "jjdoc" with no arguments for help)
>>>>>>> Reading from file arq.jj . . .
>>>>>>> Grammar documentation generated successfully in arq.txt
>>>>>>> ---- Fixing Java warnings in TokenManager ...
>>>>>>> ---- Fixing Java warnings in Token ...
>>>>>>> ---- Fixing Java warnings in TokenMgrError ...
>>>>>>> ---- Fixing Java warnings in ARQParser ...
>>>>>>> ---- Done
>>>>>>>
>>>>>>> Is that the expected behavior for the grammar script? Anything wrong?
>>>>>>>
>>>>>>> regard,
>>>>>>> Qihong
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Jun 6, 2015 at 11:05 AM, Ying Jiang <[email protected]>
>>>>>>>wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> The grammar needs revisions in some way. For example, in your
>>>>>>>> proposal, the GRAPH token can be optional. Another problem for
>>>>>>>>default
>>>>>>>> graph: both  { ?s :p ?o } and  ?s :p ?o are valid, so
>>>>>>>>QuadsNotTriples
>>>>>>>> should be re-defined.
>>>>>>>>
>>>>>>>> On the other hand, you can start playing with the code of master.jj.
>>>>>>>> There's no need to wait until the grammar is ready. Your code is
>>>>>>>> supposed to be delivered as soon as possible. We can have early
>>>>>>>> feedback from the end users. Merging early will also reduce any
>>>>>>>> problems with several people changing the same file.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Ying Jiang
>>>>>>>>
>>>>>>>> On Fri, Jun 5, 2015 at 6:25 PM, Qihong Lin
>>>>>>>><[email protected]> wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I added the grammar draft at the end of [1]. There're actually
>>>>>>>>>minor
>>>>>>>>> changes on the grammar of ConstructQuery, which are marked red.
>>>>>>>>>Much
>>>>>>>>> of the grammar from SPARQL INSERT can be reused, related to Quads.
>>>>>>>>>Any
>>>>>>>>> comments?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> regards,
>>>>>>>>> Qihong
>>>>>>>>>
>>>>>>>>> [1]
>>>>>>>>>https://docs.google.com/document/d/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltw
>>>>>>>>>mZAZl56sTw0
>>>>>>>>>
>>>>>>>>> On Tue, Jun 2, 2015 at 10:10 PM, Ying Jiang <[email protected]>
>>>>>>>>>wrote:
>>>>>>>>>> Hi Qihong,
>>>>>>>>>>
>>>>>>>>>> Your grammar in the proposal is not formal. Why not compose a
>>>>>>>>>>BNF/EBNF
>>>>>>>>>> notation one, so that others can provide more accurate comments?
>>>>>>>>>>e.g,
>>>>>>>>>> the WHERE clause for the complete form and short form are quite
>>>>>>>>>> different. No complex graph patterns are allowed in the short
>>>>>>>>>>form).
>>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>> Ying Jiang
>>>>>>>>>>
>>>>>>>>>> On Thu, May 28, 2015 at 10:59 PM, Qihong Lin
>>>>>>>>>><[email protected]> wrote:
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> Ying,
>>>>>>>>>>> I'll stick to the list for discussion. Thanks for your guide! I
>>>>>>>>>>> re-created a fresh new branch of JENA-491, which did not contain
>>>>>>>>>>>hp
>>>>>>>>>>> package any more.
>>>>>>>>>>>
>>>>>>>>>>> Andy,
>>>>>>>>>>> You mention that the GRAPH grammar needs revisions. Please check
>>>>>>>>>>>the
>>>>>>>>>>> following ones. I add the short form. Am I missing anything else?
>>>>>>>>>>>
>>>>>>>>>>> Complete form:
>>>>>>>>>>>
>>>>>>>>>>> CONSTRUCT {
>>>>>>>>>>>
>>>>>>>>>>>     # Named graph
>>>>>>>>>>>
>>>>>>>>>>>     GRAPH :g { ?s :p ?o }
>>>>>>>>>>>
>>>>>>>>>>>     # Default graph
>>>>>>>>>>>
>>>>>>>>>>>     { ?s :p ?o }
>>>>>>>>>>>
>>>>>>>>>>>     # Named graph
>>>>>>>>>>>
>>>>>>>>>>>     :g { ?s :p ?o }
>>>>>>>>>>>
>>>>>>>>>>>     # Default graph
>>>>>>>>>>>
>>>>>>>>>>>     ?s :p ?o
>>>>>>>>>>>
>>>>>>>>>>> } WHERE { ... }
>>>>>>>>>>>
>>>>>>>>>>> Short form:
>>>>>>>>>>>
>>>>>>>>>>> CONSTRUCT {
>>>>>>>>>>>
>>>>>>>>>>> } WHERE { ... }
>>>>>>>>>>>
>>>>>>>>>>> regards,
>>>>>>>>>>> Qihong
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Tue, May 26, 2015 at 11:12 PM, Ying Jiang
>>>>>>>>>>><[email protected]> wrote:
>>>>>>>>>>>> Hi Qihong,
>>>>>>>>>>>>
>>>>>>>>>>>> As Andy mentioned, the bonding period is for community bonding,
>>>>>>>>>>>>not
>>>>>>>>>>>> just mentor bonding. I can help you with JavaCC for the
>>>>>>>>>>>>project. But
>>>>>>>>>>>> much more work needs comments and discussions with others in the
>>>>>>>>>>>> community. For example, Andy just pointed out the design issue
>>>>>>>>>>>>and the
>>>>>>>>>>>> timeline changes. It's required for you to think about it and
>>>>>>>>>>>>make
>>>>>>>>>>>> revisions accordingly. If any questions, just ask on the
>>>>>>>>>>>>mailing list.
>>>>>>>>>>>> You'll get answers from the right one, not just from me.
>>>>>>>>>>>>
>>>>>>>>>>>> It seems that your JENA-491 branch still uses com.hp.hpl.jena.
>>>>>>>>>>>>Have
>>>>>>>>>>>> you re-checked out the latest code?
>>>>>>>>>>>>
>>>>>>>>>>>> Best regards,
>>>>>>>>>>>> Ying Jiang
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, May 25, 2015 at 11:10 PM, Andy Seaborne
>>>>>>>>>>>><[email protected]> wrote:
>>>>>>>>>>>>> Hi Qihong,
>>>>>>>>>>>>>
>>>>>>>>>>>>> One of the reasons there is a  community bonding period is to
>>>>>>>>>>>>>create the
>>>>>>>>>>>>> right social context for the work rather than just being about
>>>>>>>>>>>>>technical
>>>>>>>>>>>>> work.  As other people may be working on the areas you need to
>>>>>>>>>>>>>modify, this
>>>>>>>>>>>>> will help avoid problems.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Discussions should be on this list and there has been nothing.
>>>>>>>>>>>>>Discussions
>>>>>>>>>>>>> are also here to help you.  It's a large codebase, and some of
>>>>>>>>>>>>>it quite old.
>>>>>>>>>>>>> It makes it hard to see what's important and what's not.
>>>>>>>>>>>>>
>>>>>>>>>>>>> When it comes to decisions, the Apache catchphrase is "if it
>>>>>>>>>>>>>isn't on the
>>>>>>>>>>>>> list, it does not exist".  Given that the Jena development
>>>>>>>>>>>>>community only
>>>>>>>>>>>>> exists via this list, you'll appreciate that this is quite
>>>>>>>>>>>>>important.
>>>>>>>>>>>>> Please discuss with Ying about regular (minimum, weekly) on
>>>>>>>>>>>>>the list.
>>>>>>>>>>>>>
>>>>>>>>>>>>> There are some changes to the plan if the javacc work is done
>>>>>>>>>>>>>first. Alos,
>>>>>>>>>>>>> we have discussed a revised design with GRAPH inside the
>>>>>>>>>>>>>CONSTRUCT template.
>>>>>>>>>>>>> Don't forget the case of CONSTRUCT WHERE { } shorthand form.
>>>>>>>>>>>>>
>>>>>>>>>>>>> What does the timeline look like with these revisions?  That
>>>>>>>>>>>>>changes the
>>>>>>>>>>>>> "Week 1 - Week 3" slot.  Some of that freed up time should go
>>>>>>>>>>>>>to announcing
>>>>>>>>>>>>> the changes on the users@ list, I suggest just after the mid
>>>>>>>>>>>>>term
>>>>>>>>>>>>> evaluation.
>>>>>>>>>>>>>
>>>>>>>>>>>>> You will have noticed that the package structure in ARQ has
>>>>>>>>>>>>>changed. There
>>>>>>>>>>>>> is no com.hp.hpl.jena anymore, it's all moved under
>>>>>>>>>>>>>org.apache.jena.  You
>>>>>>>>>>>>> are probably better off starting from a clean clone of Jena.
>>>>>>>>>>>>>
>>>>>>>>>>>>>          Andy
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 24/05/15 14:12, Qihong Lin wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Sorry for my late response. During the community binding
>>>>>>>>>>>>>>period, I
>>>>>>>>>>>>>> studied the JavaCC grammar with my mentor's help. Now, I know
>>>>>>>>>>>>>>how to
>>>>>>>>>>>>>> use JavaCC in this project.
>>>>>>>>>>>>>> A new branch of JENA-491 [1] has just been set up. I'll code
>>>>>>>>>>>>>>there in
>>>>>>>>>>>>>> the first place, and finally merge the code into jena master.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In all, I think everything is ready. Let's begin coding!
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> regards,
>>>>>>>>>>>>>> Qihong
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [1] https://github.com/confidencesun/jena/tree/JENA-491
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Tue, May 19, 2015 at 4:55 AM, Andy Seaborne
>>>>>>>>>>>>>><[email protected]> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On 05/05/15 11:52, Andy Seaborne wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 28/04/15 13:09, Ying Jiang wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> FYI, Google announced the accepted projects of GSoC 2015
>>>>>>>>>>>>>>>>>yesterday. A
>>>>>>>>>>>>>>>>> Jena project of "Extend CONSTRUCT to build quads
>>>>>>>>>>>>>>>>>(JENA-491) [1] is
>>>>>>>>>>>>>>>>> among them.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Cheers,
>>>>>>>>>>>>>>>>> Ying Jiang
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> [1]
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>https://docs.google.com/document/d/1KiDlfxMq5ZsU7vj7ZDm10yC9
>>>>>>>>>>>>>>>>>6OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> What's the plan for the bonding period?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>        Andy
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Ping?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>
>>
>>
>>
>>

Reply via email to