You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Andy Seaborne <an...@apache.org> on 2015/05/05 12:52:53 UTC

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>

Hi,

What's the plan for the bonding period?

	Andy


Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Ying Jiang <jp...@gmail.com>.
Hi Qihong,

I can see good demonstrations of your code. But you can do better by
creating tests under the original framework of Jena test suite. Please
follow the instructions from Andy in the other Thread.

Also, why not share your work with the potential users? The Jena users
list would be good to get feedback.

You can wrap things up for the first half part of the project. If no
problem, just keep on the rest. If you have questions, just ask. We
appreciate your contribution :)

Best regards,
Ying Jiang


On Thu, Jun 25, 2015 at 7:58 PM, Andy Seaborne <an...@apache.org> wrote:
> On 21/06/15 14:31, Qihong Lin wrote:
>>
>> Hi,
>>
>> Please check my commits [1]. For quick answers below:
>>
>> On Thu, Jun 18, 2015 at 6:18 PM, Ying Jiang <jp...@gmail.com> wrote:
>>>
>>> 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
>>
>>
>> It follows the proposal doc here [2].
>>
>>> 2) the new master.jj, arq.jj, with sparql_11.jj unchanged.
>>
>>
>> Yeah, sparql_11.jj is now unchanged.
>>
>>> 3) the code of new QueryExecution operations: execConstrucQuads(),
>>> execConstructDataset()
>>
>>
>> Done!
>>
>>> 4) some test code for the above, OR at least some examples/demos to
>>> prove your work
>>
>>
>> Here are some examples in ExampleConstructQuads.java [3]
>
>
> +1 : Look good to me.
>
>         Andy
>
>
>>
>>>
>>> Best regards,
>>> Ying Jiang
>>
>>
>>
>> [1] https://github.com/confidencesun/jena/commits/JENA-491
>> [2]
>> https://docs.google.com/document/d/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#
>> [3]
>> https://github.com/confidencesun/jena/blob/JENA-491/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
>>
>>
>> regards,
>> Qihong
>>
>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Andy Seaborne <an...@apache.org>.
On 21/06/15 14:31, Qihong Lin wrote:
> Hi,
>
> Please check my commits [1]. For quick answers below:
>
> On Thu, Jun 18, 2015 at 6:18 PM, Ying Jiang <jp...@gmail.com> wrote:
>> 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
>
> It follows the proposal doc here [2].
>
>> 2) the new master.jj, arq.jj, with sparql_11.jj unchanged.
>
> Yeah, sparql_11.jj is now unchanged.
>
>> 3) the code of new QueryExecution operations: execConstrucQuads(),
>> execConstructDataset()
>
> Done!
>
>> 4) some test code for the above, OR at least some examples/demos to
>> prove your work
>
> Here are some examples in ExampleConstructQuads.java [3]

+1 : Look good to me.

	Andy

>
>>
>> Best regards,
>> Ying Jiang
>
>
> [1] https://github.com/confidencesun/jena/commits/JENA-491
> [2] https://docs.google.com/document/d/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#
> [3] https://github.com/confidencesun/jena/blob/JENA-491/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java
>
>
> regards,
> Qihong
>


Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Qihong Lin <co...@gmail.com>.
Hi,

Please check my commits [1]. For quick answers below:

On Thu, Jun 18, 2015 at 6:18 PM, Ying Jiang <jp...@gmail.com> wrote:
> 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

It follows the proposal doc here [2].

> 2) the new master.jj, arq.jj, with sparql_11.jj unchanged.

Yeah, sparql_11.jj is now unchanged.

> 3) the code of new QueryExecution operations: execConstrucQuads(),
> execConstructDataset()

Done!

> 4) some test code for the above, OR at least some examples/demos to
> prove your work

Here are some examples in ExampleConstructQuads.java [3]

>
> Best regards,
> Ying Jiang


[1] https://github.com/confidencesun/jena/commits/JENA-491
[2] https://docs.google.com/document/d/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#
[3] https://github.com/confidencesun/jena/blob/JENA-491/jena-arq/src-examples/arq/examples/constructquads/ExampleConstructQuads.java


regards,
Qihong

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Ying Jiang <jp...@gmail.com>.
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 <co...@gmail.com> 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 <rv...@dotnetrdf.org> 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" <an...@apache.org> 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 <co...@gmail.com>
>>>>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 <jp...@gmail.com>
>>>>>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 <co...@gmail.com>
>>>>>>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 <jp...@gmail.com>
>>>>>>>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
>>>>>>>><co...@gmail.com> 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 <jp...@gmail.com>
>>>>>>>>>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
>>>>>>>>>><co...@gmail.com> 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
>>>>>>>>>>><jp...@gmail.com> 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
>>>>>>>>>>>><an...@apache.org> 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
>>>>>>>>>>>>>><an...@apache.org> 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?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>
>>
>>
>>
>>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Qihong Lin <co...@gmail.com>.
Hi,

I just opened 2 new threads. Your comments are welcome!

regards,
Qihong

On Mon, Jun 15, 2015 at 4:45 PM, Rob Vesse <rv...@dotnetrdf.org> 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" <an...@apache.org> 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 <co...@gmail.com>
>>>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 <jp...@gmail.com>
>>>>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 <co...@gmail.com>
>>>>>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 <jp...@gmail.com>
>>>>>>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
>>>>>>><co...@gmail.com> 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 <jp...@gmail.com>
>>>>>>>>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
>>>>>>>>><co...@gmail.com> 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
>>>>>>>>>><jp...@gmail.com> 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
>>>>>>>>>>><an...@apache.org> 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
>>>>>>>>>>>>><an...@apache.org> 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?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>
>>
>
>
>
>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Rob Vesse <rv...@dotnetrdf.org>.
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" <an...@apache.org> 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 <co...@gmail.com>
>>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 <jp...@gmail.com>
>>>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 <co...@gmail.com>
>>>>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 <jp...@gmail.com>
>>>>>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
>>>>>><co...@gmail.com> 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 <jp...@gmail.com>
>>>>>>>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
>>>>>>>><co...@gmail.com> 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
>>>>>>>>><jp...@gmail.com> 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
>>>>>>>>>><an...@apache.org> 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
>>>>>>>>>>>><an...@apache.org> 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?
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>
>





Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Andy Seaborne <an...@apache.org>.
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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <co...@gmail.com> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0
>>>>>>
>>>>>> On Tue, Jun 2, 2015 at 10:10 PM, Ying Jiang <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> What's the plan for the bonding period?
>>>>>>>>>>>>>
>>>>>>>>>>>>>        Andy
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Ping?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>


Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Ying Jiang <jp...@gmail.com>.
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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <co...@gmail.com> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0
>>>>>
>>>>> On Tue, Jun 2, 2015 at 10:10 PM, Ying Jiang <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> What's the plan for the bonding period?
>>>>>>>>>>>>
>>>>>>>>>>>>       Andy
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Ping?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Qihong Lin <co...@gmail.com>.
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 <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <co...@gmail.com> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0
>>>>
>>>> On Tue, Jun 2, 2015 at 10:10 PM, Ying Jiang <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Hi,
>>>>>>>>>>>
>>>>>>>>>>> What's the plan for the bonding period?
>>>>>>>>>>>
>>>>>>>>>>>       Andy
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Ping?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Ying Jiang <jp...@gmail.com>.
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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <co...@gmail.com> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0
>>>
>>> On Tue, Jun 2, 2015 at 10:10 PM, Ying Jiang <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> What's the plan for the bonding period?
>>>>>>>>>>
>>>>>>>>>>       Andy
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Ping?
>>>>>>>>>
>>>>>>>>>
>>>>>>>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Andy Seaborne <an...@apache.org>.
On 08/06/15 10:27, Qihong Lin 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

Ignore that difference - "implements ARQParserConstants" is fine and 
correct.

(ARQParserBase implements ARQParserConstants)

ARQParser got modified in some code clean up and should not have been.

> There's no such difference for SPARQLParser11 (both new and old ones
> have "implements ...")

Good.

> 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) */

I have no idea what the checksum is a checksum of!

If the line endings are different, the checksums might be affected.

> The log from grammar script seems OK:
>
> $ ./grammar
> ---- Process grammar -- sparql_11.jj
> Java Compiler Compiler Version 5.0 (Parser Generator)

Ok - version 5.0.

> (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.

"does not exist" is to be expected.  The script deletes old files before 
it runs javacc to ensure everything is clean.

> 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?

looks good.

If the ARQ test suite runs, it should be good.

cd jena-arq ; mvn clean test

>
> regard,
> Qihong
>
>
> On Sat, Jun 6, 2015 at 11:05 AM, Ying Jiang <jp...@gmail.com> 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 <co...@gmail.com> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0


Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Qihong Lin <co...@gmail.com>.
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 <jp...@gmail.com> 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 <co...@gmail.com> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0
>>
>> On Tue, Jun 2, 2015 at 10:10 PM, Ying Jiang <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> What's the plan for the bonding period?
>>>>>>>>>
>>>>>>>>>       Andy
>>>>>>>>>
>>>>>>>>
>>>>>>>> Ping?
>>>>>>>>
>>>>>>>>
>>>>>>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Ying Jiang <jp...@gmail.com>.
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 <co...@gmail.com> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0
>
> On Tue, Jun 2, 2015 at 10:10 PM, Ying Jiang <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> What's the plan for the bonding period?
>>>>>>>>
>>>>>>>>       Andy
>>>>>>>>
>>>>>>>
>>>>>>> Ping?
>>>>>>>
>>>>>>>
>>>>>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Qihong Lin <co...@gmail.com>.
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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0

On Tue, Jun 2, 2015 at 10:10 PM, Ying Jiang <jp...@gmail.com> 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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> What's the plan for the bonding period?
>>>>>>>
>>>>>>>       Andy
>>>>>>>
>>>>>>
>>>>>> Ping?
>>>>>>
>>>>>>
>>>>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Ying Jiang <jp...@gmail.com>.
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 <co...@gmail.com> 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 <jp...@gmail.com> 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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> What's the plan for the bonding period?
>>>>>>
>>>>>>       Andy
>>>>>>
>>>>>
>>>>> Ping?
>>>>>
>>>>>
>>>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Qihong Lin <co...@gmail.com>.
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 <jp...@gmail.com> 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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>>
>>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> What's the plan for the bonding period?
>>>>>
>>>>>       Andy
>>>>>
>>>>
>>>> Ping?
>>>>
>>>>
>>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Ying Jiang <jp...@gmail.com>.
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 <an...@apache.org> 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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>>
>>>>>
>>>>
>>>> Hi,
>>>>
>>>> What's the plan for the bonding period?
>>>>
>>>>       Andy
>>>>
>>>
>>> Ping?
>>>
>>>
>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Andy Seaborne <an...@apache.org>.
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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>>
>>>>
>>>
>>> Hi,
>>>
>>> What's the plan for the bonding period?
>>>
>>>       Andy
>>>
>>
>> Ping?
>>
>>


Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Qihong Lin <co...@gmail.com>.
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 <an...@apache.org> 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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>>
>>>
>>
>> Hi,
>>
>> What's the plan for the bonding period?
>>
>>      Andy
>>
>
> Ping?
>
>

Re: [ANN] GSoC 2015 Accepts a Student Project for Jena

Posted by Andy Seaborne <an...@apache.org>.
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/1KiDlfxMq5ZsU7vj7ZDm10yC96OZgdltwmZAZl56sTw0/edit#heading=h.fwbztdn0y3zl
>>
>>
>
> Hi,
>
> What's the plan for the bonding period?
>
>      Andy
>

Ping?