Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
On 19/08/15 16:23, Qihong Lin wrote: Hi Andy, I've committed the code according to your suggestion. The server side only runs QueryExecutionBase::execConstructQuads(). I've also hacked QueryEngineHTTP to test the conneg of execConstructTriples() and execConstructQuads(). For execConstructQuads(), all of the content types in DEF.quadsOffer have been tested: if the client sends Accept content type of, e.g. TriG, the sever will response with the desired same content type. Please check the PR 91: TestQuery.query_construct_quad_conneg() regards, Qihong I've pulled the PR latest into the JENA-491-construct-quads. I've managed to get the test working now as well (some conneg mixups abnd a bug elsewhere in Jena (JENA-1011). Thank you for your contributions during GSoC, Andy
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi Andy, Thank for your comments! I can understand your idea of A/ B/ C/. But there'a problem in practice. In brief: For A/, at the server side, always call QueryExecutionBase::execConstructDataset() For B/, the problem is, there're overlaps between DEF.rdfOffer and DEF.quadsOffer, e.g. TriX, TriXxml and JSONLD. For C/, e.g. if the Accept lang is JSONLD, which should be written out by RDFDataMgr, model or dataset? Note that, the server side doesn't know which it's called from the client side, QueryEngineHTTP::exeConstructTriples() or exeConstructQuads(). Also at the client side, if QueryEngineHTTP::exeConstructTriples()/exeConstructQuads() gets the content type of, e.g. JSONLD, it doesn't know whether it is a model or dataset. So, that's why I introduce the DEF.pureRdfOffer to distinguish the triple format that is not a quad format. In my way, both the sever side and the client side separate model and dataset. It's kind of ugly in code. Any more suggestion? regards, Qihong On Mon, Aug 17, 2015 at 10:49 PM, Andy Seaborne a...@apache.org wrote: Thanks for the clarification. I had made a combined version to start testing and hopefully it's a close approximation of the intended deliverables. [ Ying - how's your testing going? ] A few things about the pull requests so far: 0/ More tests in TestQuery in Fuseki: For example, this should show up: 1/ QueryEngineHttp.execConstructDataset is not implemented. 2/ SPARQL_Query: This line if ( ! rdfMediaType.getType().equals(*) ) { means that only Accept: * will trigger dataset results. then in ResponseDataset MediaType i = ConNeg.chooseContentType(request, DEF.quadsOffer, DEF.acceptNQuads) ; will always choose TriG because the accept is * (output= works but that is overriding content negotiation). There is no way to ask for a specific syntax (n-quads, trig, JSON-LD) using Accept: e.g. Accept: application/n-quads 3/ ResponseDataset is copy of ResponseModel yet the only differences (after reformatting) are different data values and RDFDataMgr.write(out, dataset, lang) ; --- RDFDataMgr.write(out, model, lang) ; It is not good to have copied code because it makes maintenance harder. (2) and (3) can be addressed by A/ SPARQL_Query: For CONSTRUCT, always work in datasets; execConstructDataset(). No need for mention of Models. if it's a triples CONSTRUCT, treating as a dataset will simply put the results in to the default graph. QueryExecutionBase::execConstructQuads Following on from that, treating datasets as a natural extension of models. There is no need to test for extended syntax. If it's strict SPARQL 1.1, a dataset will just have only a default graph. B/ Content negotiate for a combined DEF.rdfOffer+DEF.quadsOffer (I don't underatand DEF.pureRdfOffer -- N-triples is a standard). C/ If it's a triple format (test the Lang), RDFDataMgr.write(out, dataset.getDefaultModel(), lang) ; otherwise: RDFDataMgr.write(out, dataset, lang) ; Andy
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
On 18/08/15 08:44, Qihong Lin wrote: Hi Andy, Thank for your comments! I can understand your idea of A/ B/ C/. But there'a problem in practice. In brief: For A/, at the server side, always call QueryExecutionBase::execConstructDataset() For B/, the problem is, there're overlaps between DEF.rdfOffer and DEF.quadsOffer, e.g. TriX, TriXxml and JSONLD. For C/, e.g. if the Accept lang is JSONLD, which should be written out by RDFDataMgr, model or dataset? Note that, the server side doesn't know which it's called from the client side, QueryEngineHTTP::exeConstructTriples() or exeConstructQuads(). I wrote: a combined DEF.rdfOffer+DEF.quadsOffer Create a new offer which combines all the languages you want. DEF.constructOffer. If the language is quad-supporting, RDFLanguages.isQuads is true, process as a dataset regardless. It does not matter if the client is asking for a model or a dataset because in all syntax cases, a dataset of just the default (the unnamed) graph looks like a single graph. This is while you can generalise to work in datasets for much of the processing. The default graph in a datasets is written as just triples without a graph field. Also at the client side, if QueryEngineHTTP::exeConstructTriples()/exeConstructQuads() gets the content type of, e.g. JSONLD, it doesn't know whether it is a model or dataset. If they call execConstructTriples, then either the CONSTRUCT query will only have a default graph template or it's an extended syntax query and you want the default graph. In both cases, parse to a steam of triples. The parsers skip named graphs when they are asked for triples only. So, that's why I introduce the DEF.pureRdfOffer to distinguish the triple format that is not a quad format. In my way, both the sever side and the client side separate model and dataset. It's kind of ugly in code. Any more suggestion? That would probably also work but it is not what the code is doing in SPARQL_Query. It just offers DEF.pureRdfOffer and then tests for *. There is no datasets content negotation possible (e.g. n-quads vs Trig) because the process can't get to ResponseDataset with application/n-quads set, say. The only way I can see to get there is a Accept-type of * in SPARQL_Query. Try it in a debugger. hack to run Fusek2 clean in Eclipse (string names need changing): public class DevFuseki2 { public static void main(String[] args) { String DIR = /home/afs/ASF/jena-491/ ; System.setProperty(FUSEKI_HOME, DIR+jena-fuseki2/jena-fuseki-core) ; String fusekiBase = /home/afs/ASF/jena-491/jena-fuseki2/jena-fuseki-core/run ; System.setProperty(FUSEKI_BASE, fusekiBase) ; String runArea = Paths.get(fusekiBase).toAbsolutePath().toString() ; // Delete any previous state. // FileOps.ensureDir(runArea) ; FusekiCmd.main() ; System.exit(0) ; } } Andy regards, Qihong On Mon, Aug 17, 2015 at 10:49 PM, Andy Seaborne a...@apache.org wrote: Thanks for the clarification. I had made a combined version to start testing and hopefully it's a close approximation of the intended deliverables. [ Ying - how's your testing going? ] A few things about the pull requests so far: 0/ More tests in TestQuery in Fuseki: For example, this should show up: 1/ QueryEngineHttp.execConstructDataset is not implemented. 2/ SPARQL_Query: This line if ( ! rdfMediaType.getType().equals(*) ) { means that only Accept: * will trigger dataset results. then in ResponseDataset MediaType i = ConNeg.chooseContentType(request, DEF.quadsOffer, DEF.acceptNQuads) ; will always choose TriG because the accept is * (output= works but that is overriding content negotiation). There is no way to ask for a specific syntax (n-quads, trig, JSON-LD) using Accept: e.g. Accept: application/n-quads 3/ ResponseDataset is copy of ResponseModel yet the only differences (after reformatting) are different data values and RDFDataMgr.write(out, dataset, lang) ; --- RDFDataMgr.write(out, model, lang) ; It is not good to have copied code because it makes maintenance harder. (2) and (3) can be addressed by A/ SPARQL_Query: For CONSTRUCT, always work in datasets; execConstructDataset(). No need for mention of Models. if it's a triples CONSTRUCT, treating as a dataset will simply put the results in to the default graph. QueryExecutionBase::execConstructQuads Following on from that, treating datasets as a natural extension of models. There is no need to test for extended syntax. If it's strict SPARQL 1.1, a dataset will just have only a default graph. B/ Content negotiate for a combined DEF.rdfOffer+DEF.quadsOffer (I don't underatand DEF.pureRdfOffer -- N-triples is a standard). C/ If it's a triple format (test the Lang), RDFDataMgr.write(out, dataset.getDefaultModel(), lang) ; otherwise: RDFDataMgr.write(out, dataset, lang) ; Andy
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Thanks for the clarification. I had made a combined version to start testing and hopefully it's a close approximation of the intended deliverables. [ Ying - how's your testing going? ] A few things about the pull requests so far: 0/ More tests in TestQuery in Fuseki: For example, this should show up: 1/ QueryEngineHttp.execConstructDataset is not implemented. 2/ SPARQL_Query: This line if ( ! rdfMediaType.getType().equals(*) ) { means that only Accept: * will trigger dataset results. then in ResponseDataset MediaType i = ConNeg.chooseContentType(request, DEF.quadsOffer, DEF.acceptNQuads) ; will always choose TriG because the accept is * (output= works but that is overriding content negotiation). There is no way to ask for a specific syntax (n-quads, trig, JSON-LD) using Accept: e.g. Accept: application/n-quads 3/ ResponseDataset is copy of ResponseModel yet the only differences (after reformatting) are different data values and RDFDataMgr.write(out, dataset, lang) ; --- RDFDataMgr.write(out, model, lang) ; It is not good to have copied code because it makes maintenance harder. (2) and (3) can be addressed by A/ SPARQL_Query: For CONSTRUCT, always work in datasets; execConstructDataset(). No need for mention of Models. if it's a triples CONSTRUCT, treating as a dataset will simply put the results in to the default graph. QueryExecutionBase::execConstructQuads Following on from that, treating datasets as a natural extension of models. There is no need to test for extended syntax. If it's strict SPARQL 1.1, a dataset will just have only a default graph. B/ Content negotiate for a combined DEF.rdfOffer+DEF.quadsOffer (I don't underatand DEF.pureRdfOffer -- N-triples is a standard). C/ If it's a triple format (test the Lang), RDFDataMgr.write(out, dataset.getDefaultModel(), lang) ; otherwise: RDFDataMgr.write(out, dataset, lang) ; Andy
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi Andy, Let me clarify PR 89 and PR 91: PR 89: confidencesun/jena/master - apache/jena/master confidencesun/jena/master contains the commits of the 1st half part of the project. It only involves jena/arq. PR 91: confidencesun/jena/JENA-491 - apache/jena/JENA-491-construct-quad confidencesun/jena/JENA-491 contains the commits of 1st and 2nd parts of the project, i.e. that's everything. Because the 2nd part of Fuseki support depends on the 1st part, so I merged confidencesun/jena/master into confidencesun/jena/JENA-491 in the first place, and then added the Fuseki support. ** If confidencesun/jena/JENA-491 contains only the commits of the 2nd part, the java maven projects won't compile. ** If you want to check only the 2nd part, just compare confidencesun/jena/master with confidencesun/jena/JENA-491, like this: https://github.com/confidencesun/jena/compare/master...confidencesun:JENA-491 You can see that, there're 5 changed files, touching both arq and fuseki: In jena-arq (client side of the Fuseki support): QueryEngineHTTP.java ( implement execQuads() and execConstructDataset()) In jena-fuseki-core (sever side): DEF.java, ResponseDataset.java, SPARQL_Query.java, TestQuery.java The implementation of the 2nd part is not complex. I don't see much code that is necessary to be tested. I'll see what I can do with the tests of different MIME types for the content negotiation. Thanks! Finally, PR 91 contains everything to be merged into apache/jena/master, and PR 89 can be ignored. Or, you can merge PR 89, and then go with PR 91. Hope it's clear. regards, Qihong On Sun, Aug 16, 2015 at 9:14 PM, Andy Seaborne a...@apache.org wrote: Hi - there are some problems with PR 91. PR 91 contains changes to jena-arq as well as jena-fuseki-core. Does PR 91 replace PR 89 or does PR 91 contain some out-of-date update now in PR 89? Or something else? ( Line 1 of PR 91 as a diff is: diff --git a/jena-arq/Grammar/arq.jj b/jena-arq/Grammar/arq.jj ) Please produce a PR which is only the changes to fuseki, and should eb applied after the ARQ changes. Also: I can only see one new test in TestQuery.java - I was expecting more such as using different MIME types for the content negotiation. Andy On 15/08/15 10:21, Qihong Lin wrote: Hi, Please check my updates of the 3 tasks blow: 1) jena/arq: in master branch (to be merged first) In PR 89, I added some more tests in TestAPI and TS_Script. The bug of construct quad projection on exeConstructTriples() has been fixed, with the tests of 4 cases (commit 03a321f). 2) jena/fuseki: in JENA-491 branch In PR 91, see commit 0eb28d8. You can try out org.apache.jena.fuseki.TestQuery.query_construct_01()/query_construct_quad_01() 3) doc: in jena web page (wiki) I can see the staging page [1]. But when I try the Improve this Page with [1], it redirects me to [2]. I can not find construct_quad.mdtext under [2]. I also try to open [3], with Not Found error. Could you help me please? regards, Qihong [1] http://jena.staging.apache.org/documentation/query/construct-quad.html [2] https://cms.apache.org/jena/wc/edit/anonymous-LWMAVL/trunk/ [3] http://jena.apache.org/documentation/query/construct-quad.html
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
I've pushed PR91 to the JENA-491-construct-quads branch. Let's consider the is working baseline for code. Andy
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
On 17/08/15 16:10, Andy Seaborne wrote: I've pushed PR91 to the JENA-491-construct-quads branch. Let's consider the is working baseline for code. ^^ this as the Andy
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi - there are some problems with PR 91. PR 91 contains changes to jena-arq as well as jena-fuseki-core. Does PR 91 replace PR 89 or does PR 91 contain some out-of-date update now in PR 89? Or something else? ( Line 1 of PR 91 as a diff is: diff --git a/jena-arq/Grammar/arq.jj b/jena-arq/Grammar/arq.jj ) Please produce a PR which is only the changes to fuseki, and should eb applied after the ARQ changes. Also: I can only see one new test in TestQuery.java - I was expecting more such as using different MIME types for the content negotiation. Andy On 15/08/15 10:21, Qihong Lin wrote: Hi, Please check my updates of the 3 tasks blow: 1) jena/arq: in master branch (to be merged first) In PR 89, I added some more tests in TestAPI and TS_Script. The bug of construct quad projection on exeConstructTriples() has been fixed, with the tests of 4 cases (commit 03a321f). 2) jena/fuseki: in JENA-491 branch In PR 91, see commit 0eb28d8. You can try out org.apache.jena.fuseki.TestQuery.query_construct_01()/query_construct_quad_01() 3) doc: in jena web page (wiki) I can see the staging page [1]. But when I try the Improve this Page with [1], it redirects me to [2]. I can not find construct_quad.mdtext under [2]. I also try to open [3], with Not Found error. Could you help me please? regards, Qihong [1] http://jena.staging.apache.org/documentation/query/construct-quad.html [2] https://cms.apache.org/jena/wc/edit/anonymous-LWMAVL/trunk/ [3] http://jena.apache.org/documentation/query/construct-quad.html
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi, The doc is actually construct-quad.mdtext. In another easy way, You can just compose it offline, and send it to us for review. I can help you commit the mdtext file into svn finally. Best regards, Ying Jiang On Sat, Aug 15, 2015 at 5:21 PM, Qihong Lin confidence@gmail.com wrote: Hi, Please check my updates of the 3 tasks blow: 1) jena/arq: in master branch (to be merged first) In PR 89, I added some more tests in TestAPI and TS_Script. The bug of construct quad projection on exeConstructTriples() has been fixed, with the tests of 4 cases (commit 03a321f). 2) jena/fuseki: in JENA-491 branch In PR 91, see commit 0eb28d8. You can try out org.apache.jena.fuseki.TestQuery.query_construct_01()/query_construct_quad_01() 3) doc: in jena web page (wiki) I can see the staging page [1]. But when I try the Improve this Page with [1], it redirects me to [2]. I can not find construct_quad.mdtext under [2]. I also try to open [3], with Not Found error. Could you help me please? regards, Qihong [1] http://jena.staging.apache.org/documentation/query/construct-quad.html [2] https://cms.apache.org/jena/wc/edit/anonymous-LWMAVL/trunk/ [3] http://jena.apache.org/documentation/query/construct-quad.html On Tue, Aug 11, 2015 at 10:35 AM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, You may have received the reminder email from Google that the final evaluation of the GSoC project is approaching. The soft deadline is 17 August, with the hard one on 21 August. It means there're only 2 weeks left for your remaining work. The tests of arq need improving, as Andy points out. You can also deliver the Fuseki part in the other branch for review in the mean time. Meanwhile, the documentation can be composed in jena web page (wiki). In order to save time, I suggest the 3 parts of the work go on simultaneously: 1) jena/arq: in master branch (to be merged first) 2) jena/fuseki: in JENA-491 branch 3) doc: in jena web page (wiki) Best regards, Ying Jiang On Mon, Aug 10, 2015 at 9:58 PM, Andy Seaborne a...@apache.org wrote: I've managed to integrate the latest updates. The scripted ones look, at first glance OK, but the data isn't very rich. Also, please can we have some API tests in TestAPI. These are JUnit tests in java. These should be have comprehensive coverage. I also tried out execConstructTriples(), I noticed that the result is from all graphs. When just triples are asked for, only those in the default graph should be returned. Template.getTriples calls Quad.asTriple. But it needs to deal with just the default graph, and c can't rely on Quad.asTriple. Andy On 10/08/15 12:44, Qihong Lin wrote: Hi, I've enriched the syntax tests with short form and default graph cases. For execution tests, I add the test support in QueryTest for construct quad with the scripts files and data files in TRIG (see jena-arq/testing/ARQ/Construct/*.trig). I think construct quad should be part of the construct of ARQ. So I add the execution tests in jena-arq/testing/ARQ/Construct/manifest.ttl. The fuseki part of construct quad has been implemented (not committed yet). I'll submit the code as soon as the PR 89 [1] being merged. Anything to be improved for PR 89 from your reviews? regards, Qihong [1] https://github.com/apache/jena/pull/89 On Thu, Aug 6, 2015 at 8:55 PM, Andy Seaborne a...@apache.org wrote: Hi - looking better - I see the syntax tests I provided. Does that set of tests cover all cases of the new syntax? Next, we need execution tests for ARQ. There will need to be execute tests in jena-arq as well. These can be Junit tests in java and do not need to be external script files. This is separate from testing in Fuseki. Do you have any other constraints on your time over the next 2 weeks? Andy On 06/08/15 04:18, Qihong Lin wrote: Hi, I've fixed the bugs related to syntax checks. Please see my latest commits. Here're the output of the syntax files through qparse (you can also run ExampleConstructQuads.java to get the results). Are these with the expected behaviors, especially for syntax-quad-construct-07.arq? run-construct-quad-test: File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o .} } WHERE { } File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o .} } WHERE { ?s ?p ?o } File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File:
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi, Please check my updates of the 3 tasks blow: 1) jena/arq: in master branch (to be merged first) In PR 89, I added some more tests in TestAPI and TS_Script. The bug of construct quad projection on exeConstructTriples() has been fixed, with the tests of 4 cases (commit 03a321f). 2) jena/fuseki: in JENA-491 branch In PR 91, see commit 0eb28d8. You can try out org.apache.jena.fuseki.TestQuery.query_construct_01()/query_construct_quad_01() 3) doc: in jena web page (wiki) I can see the staging page [1]. But when I try the Improve this Page with [1], it redirects me to [2]. I can not find construct_quad.mdtext under [2]. I also try to open [3], with Not Found error. Could you help me please? regards, Qihong [1] http://jena.staging.apache.org/documentation/query/construct-quad.html [2] https://cms.apache.org/jena/wc/edit/anonymous-LWMAVL/trunk/ [3] http://jena.apache.org/documentation/query/construct-quad.html On Tue, Aug 11, 2015 at 10:35 AM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, You may have received the reminder email from Google that the final evaluation of the GSoC project is approaching. The soft deadline is 17 August, with the hard one on 21 August. It means there're only 2 weeks left for your remaining work. The tests of arq need improving, as Andy points out. You can also deliver the Fuseki part in the other branch for review in the mean time. Meanwhile, the documentation can be composed in jena web page (wiki). In order to save time, I suggest the 3 parts of the work go on simultaneously: 1) jena/arq: in master branch (to be merged first) 2) jena/fuseki: in JENA-491 branch 3) doc: in jena web page (wiki) Best regards, Ying Jiang On Mon, Aug 10, 2015 at 9:58 PM, Andy Seaborne a...@apache.org wrote: I've managed to integrate the latest updates. The scripted ones look, at first glance OK, but the data isn't very rich. Also, please can we have some API tests in TestAPI. These are JUnit tests in java. These should be have comprehensive coverage. I also tried out execConstructTriples(), I noticed that the result is from all graphs. When just triples are asked for, only those in the default graph should be returned. Template.getTriples calls Quad.asTriple. But it needs to deal with just the default graph, and c can't rely on Quad.asTriple. Andy On 10/08/15 12:44, Qihong Lin wrote: Hi, I've enriched the syntax tests with short form and default graph cases. For execution tests, I add the test support in QueryTest for construct quad with the scripts files and data files in TRIG (see jena-arq/testing/ARQ/Construct/*.trig). I think construct quad should be part of the construct of ARQ. So I add the execution tests in jena-arq/testing/ARQ/Construct/manifest.ttl. The fuseki part of construct quad has been implemented (not committed yet). I'll submit the code as soon as the PR 89 [1] being merged. Anything to be improved for PR 89 from your reviews? regards, Qihong [1] https://github.com/apache/jena/pull/89 On Thu, Aug 6, 2015 at 8:55 PM, Andy Seaborne a...@apache.org wrote: Hi - looking better - I see the syntax tests I provided. Does that set of tests cover all cases of the new syntax? Next, we need execution tests for ARQ. There will need to be execute tests in jena-arq as well. These can be Junit tests in java and do not need to be external script files. This is separate from testing in Fuseki. Do you have any other constraints on your time over the next 2 weeks? Andy On 06/08/15 04:18, Qihong Lin wrote: Hi, I've fixed the bugs related to syntax checks. Please see my latest commits. Here're the output of the syntax files through qparse (you can also run ExampleConstructQuads.java to get the results). Are these with the expected behaviors, especially for syntax-quad-construct-07.arq? run-construct-quad-test: File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o .} } WHERE { } File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o .} } WHERE { ?s ?p ?o } File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File: syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . } WHERE { GRAPH ?g { ?s ?p ?o } }
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi Andy, I can not find the branch of JENA-491-construct-quads in Jena git repository: https://github.com/apache/jena/branches regards, Qihong On Tue, Aug 11, 2015 at 4:12 PM, Andy Seaborne a...@apache.org wrote: On 11/08/15 03:35, Ying Jiang wrote: Hi Qihong, You may have received the reminder email from Google that the final evaluation of the GSoC project is approaching. The soft deadline is 17 August, with the hard one on 21 August. It means there're only 2 weeks left for your remaining work. The tests of arq need improving, as Andy points out. You can also deliver the Fuseki part in the other branch for review in the mean time. Meanwhile, the documentation can be composed in jena web page (wiki). In order to save time, I suggest the 3 parts of the work go on simultaneously: 1) jena/arq: in master branch (to be merged first) 2) jena/fuseki: in JENA-491 branch 3) doc: in jena web page (wiki) Best regards, Ying Jiang I have created a branch in the Jena git repository 'JENA-491-construct-quads' for doing this. Andy
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
On 12/08/15 08:16, Qihong Lin wrote: Hi Andy, I can not find the branch of JENA-491-construct-quads in Jena git repository: https://github.com/apache/jena/branches regards, Qihong I don't know how branches propagate to github - maybe they need something on them, maybe it's stuck. But it's there in the Apache repo: https://git1-us-west.apache.org/repos/asf?p=jena.git;a=shortlog;h=refs/heads/JENA-491-construct-quads Github is a mirror, and a copy of the code. Andy On Tue, Aug 11, 2015 at 4:12 PM, Andy Seaborne a...@apache.org wrote: On 11/08/15 03:35, Ying Jiang wrote: Hi Qihong, You may have received the reminder email from Google that the final evaluation of the GSoC project is approaching. The soft deadline is 17 August, with the hard one on 21 August. It means there're only 2 weeks left for your remaining work. The tests of arq need improving, as Andy points out. You can also deliver the Fuseki part in the other branch for review in the mean time. Meanwhile, the documentation can be composed in jena web page (wiki). In order to save time, I suggest the 3 parts of the work go on simultaneously: 1) jena/arq: in master branch (to be merged first) 2) jena/fuseki: in JENA-491 branch 3) doc: in jena web page (wiki) Best regards, Ying Jiang I have created a branch in the Jena git repository 'JENA-491-construct-quads' for doing this. Andy
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi Andy, I've got the idea of projection. The bug has been fixed. I'll deliver more tests. Thanks! Qihong On Tue, Aug 11, 2015 at 4:52 PM, Andy Seaborne a...@apache.org wrote: On 11/08/15 09:11, Qihong Lin wrote: hi Andy, I'll further enrich the test data and add JUnit tests in TestAPI for better coverage. I'm thinking of the problem you mentioned. In fact, there're 2 types of query strings: a) Query String without Construct Quad, e.g. CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }; b) Query String with Construct Quad, e.g. CONSTRUCT { ?s ?p ?o GRAPH :g1 { :s1 ?p :o1 } } WHERE { ?s ?p ?o } Also, the users can choose to execute 2 kinds of query methods: 1) IteratorTriple execTriples() 2) IteratorQuad execQuads() These make 4 cases: a)+1): No problem, original ARQ construct query and execContructQuads returns quads with the default graph set. and the execContructDataset contains a dataset with triples in the default graph. b)+2): No problem, new construct quad query Yes a)+2): The result quads are in the default graph? Or just throw exception saying the query string not working with the query method? Quads, with graph field being for the default graph. b)+1)(you mentioned): The result triples contain only the ?s ?p ?o part, ignoring construct GRAPH :g1 { :s1 ?p :o1 }? Or just throw exception saying the query string not working with the query method? Could you please tell me your opnions about the last 2 cases? The effect should be triples in the default graph (?s ?p ?o). it's a projection. The same happens if you parse, say TriG, into a model : just the default graph is seen. There is a general abstraction here (CONSTRUCT template to dataset). It's a matter of how to handle the two API forms that deal with a restricted form (triples/model). Seeing the default graph in each case is the way to deal with it. Andy regards, Qihong On Mon, Aug 10, 2015 at 9:58 PM, Andy Seaborne a...@apache.org wrote: I've managed to integrate the latest updates. The scripted ones look, at first glance OK, but the data isn't very rich. Also, please can we have some API tests in TestAPI. These are JUnit tests in java. These should be have comprehensive coverage. I also tried out execConstructTriples(), I noticed that the result is from all graphs. When just triples are asked for, only those in the default graph should be returned. Template.getTriples calls Quad.asTriple. But it needs to deal with just the default graph, and c can't rely on Quad.asTriple. Andy On 10/08/15 12:44, Qihong Lin wrote: Hi, I've enriched the syntax tests with short form and default graph cases. For execution tests, I add the test support in QueryTest for construct quad with the scripts files and data files in TRIG (see jena-arq/testing/ARQ/Construct/*.trig). I think construct quad should be part of the construct of ARQ. So I add the execution tests in jena-arq/testing/ARQ/Construct/manifest.ttl. The fuseki part of construct quad has been implemented (not committed yet). I'll submit the code as soon as the PR 89 [1] being merged. Anything to be improved for PR 89 from your reviews? regards, Qihong [1] https://github.com/apache/jena/pull/89
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
On 11/08/15 09:11, Qihong Lin wrote: hi Andy, I'll further enrich the test data and add JUnit tests in TestAPI for better coverage. I'm thinking of the problem you mentioned. In fact, there're 2 types of query strings: a) Query String without Construct Quad, e.g. CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }; b) Query String with Construct Quad, e.g. CONSTRUCT { ?s ?p ?o GRAPH :g1 { :s1 ?p :o1 } } WHERE { ?s ?p ?o } Also, the users can choose to execute 2 kinds of query methods: 1) IteratorTriple execTriples() 2) IteratorQuad execQuads() These make 4 cases: a)+1): No problem, original ARQ construct query and execContructQuads returns quads with the default graph set. and the execContructDataset contains a dataset with triples in the default graph. b)+2): No problem, new construct quad query Yes a)+2): The result quads are in the default graph? Or just throw exception saying the query string not working with the query method? Quads, with graph field being for the default graph. b)+1)(you mentioned): The result triples contain only the ?s ?p ?o part, ignoring construct GRAPH :g1 { :s1 ?p :o1 }? Or just throw exception saying the query string not working with the query method? Could you please tell me your opnions about the last 2 cases? The effect should be triples in the default graph (?s ?p ?o). it's a projection. The same happens if you parse, say TriG, into a model : just the default graph is seen. There is a general abstraction here (CONSTRUCT template to dataset). It's a matter of how to handle the two API forms that deal with a restricted form (triples/model). Seeing the default graph in each case is the way to deal with it. Andy regards, Qihong On Mon, Aug 10, 2015 at 9:58 PM, Andy Seaborne a...@apache.org wrote: I've managed to integrate the latest updates. The scripted ones look, at first glance OK, but the data isn't very rich. Also, please can we have some API tests in TestAPI. These are JUnit tests in java. These should be have comprehensive coverage. I also tried out execConstructTriples(), I noticed that the result is from all graphs. When just triples are asked for, only those in the default graph should be returned. Template.getTriples calls Quad.asTriple. But it needs to deal with just the default graph, and c can't rely on Quad.asTriple. Andy On 10/08/15 12:44, Qihong Lin wrote: Hi, I've enriched the syntax tests with short form and default graph cases. For execution tests, I add the test support in QueryTest for construct quad with the scripts files and data files in TRIG (see jena-arq/testing/ARQ/Construct/*.trig). I think construct quad should be part of the construct of ARQ. So I add the execution tests in jena-arq/testing/ARQ/Construct/manifest.ttl. The fuseki part of construct quad has been implemented (not committed yet). I'll submit the code as soon as the PR 89 [1] being merged. Anything to be improved for PR 89 from your reviews? regards, Qihong [1] https://github.com/apache/jena/pull/89
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
hi Andy, I'll further enrich the test data and add JUnit tests in TestAPI for better coverage. I'm thinking of the problem you mentioned. In fact, there're 2 types of query strings: a) Query String without Construct Quad, e.g. CONSTRUCT { ?s ?p ?o } WHERE { ?s ?p ?o }; b) Query String with Construct Quad, e.g. CONSTRUCT { ?s ?p ?o GRAPH :g1 { :s1 ?p :o1 } } WHERE { ?s ?p ?o } Also, the users can choose to execute 2 kinds of query methods: 1) IteratorTriple execTriples() 2) IteratorQuad execQuads() These make 4 cases: a)+1): No problem, original ARQ construct query b)+2): No problem, new construct quad query a)+2): The result quads are in the default graph? Or just throw exception saying the query string not working with the query method? b)+1)(you mentioned): The result triples contain only the ?s ?p ?o part, ignoring construct GRAPH :g1 { :s1 ?p :o1 }? Or just throw exception saying the query string not working with the query method? Could you please tell me your opnions about the last 2 cases? regards, Qihong On Mon, Aug 10, 2015 at 9:58 PM, Andy Seaborne a...@apache.org wrote: I've managed to integrate the latest updates. The scripted ones look, at first glance OK, but the data isn't very rich. Also, please can we have some API tests in TestAPI. These are JUnit tests in java. These should be have comprehensive coverage. I also tried out execConstructTriples(), I noticed that the result is from all graphs. When just triples are asked for, only those in the default graph should be returned. Template.getTriples calls Quad.asTriple. But it needs to deal with just the default graph, and c can't rely on Quad.asTriple. Andy On 10/08/15 12:44, Qihong Lin wrote: Hi, I've enriched the syntax tests with short form and default graph cases. For execution tests, I add the test support in QueryTest for construct quad with the scripts files and data files in TRIG (see jena-arq/testing/ARQ/Construct/*.trig). I think construct quad should be part of the construct of ARQ. So I add the execution tests in jena-arq/testing/ARQ/Construct/manifest.ttl. The fuseki part of construct quad has been implemented (not committed yet). I'll submit the code as soon as the PR 89 [1] being merged. Anything to be improved for PR 89 from your reviews? regards, Qihong [1] https://github.com/apache/jena/pull/89 On Thu, Aug 6, 2015 at 8:55 PM, Andy Seaborne a...@apache.org wrote: Hi - looking better - I see the syntax tests I provided. Does that set of tests cover all cases of the new syntax? Next, we need execution tests for ARQ. There will need to be execute tests in jena-arq as well. These can be Junit tests in java and do not need to be external script files. This is separate from testing in Fuseki. Do you have any other constraints on your time over the next 2 weeks? Andy On 06/08/15 04:18, Qihong Lin wrote: Hi, I've fixed the bugs related to syntax checks. Please see my latest commits. Here're the output of the syntax files through qparse (you can also run ExampleConstructQuads.java to get the results). Are these with the expected behaviors, especially for syntax-quad-construct-07.arq? run-construct-quad-test: File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o .} } WHERE { } File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o .} } WHERE { ?s ?p ?o } File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File: syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o . GRAPH ?g { :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
On 11/08/15 03:35, Ying Jiang wrote: Hi Qihong, You may have received the reminder email from Google that the final evaluation of the GSoC project is approaching. The soft deadline is 17 August, with the hard one on 21 August. It means there're only 2 weeks left for your remaining work. The tests of arq need improving, as Andy points out. You can also deliver the Fuseki part in the other branch for review in the mean time. Meanwhile, the documentation can be composed in jena web page (wiki). In order to save time, I suggest the 3 parts of the work go on simultaneously: 1) jena/arq: in master branch (to be merged first) 2) jena/fuseki: in JENA-491 branch 3) doc: in jena web page (wiki) Best regards, Ying Jiang I have created a branch in the Jena git repository 'JENA-491-construct-quads' for doing this. Andy
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi Qihong, You may have received the reminder email from Google that the final evaluation of the GSoC project is approaching. The soft deadline is 17 August, with the hard one on 21 August. It means there're only 2 weeks left for your remaining work. The tests of arq need improving, as Andy points out. You can also deliver the Fuseki part in the other branch for review in the mean time. Meanwhile, the documentation can be composed in jena web page (wiki). In order to save time, I suggest the 3 parts of the work go on simultaneously: 1) jena/arq: in master branch (to be merged first) 2) jena/fuseki: in JENA-491 branch 3) doc: in jena web page (wiki) Best regards, Ying Jiang On Mon, Aug 10, 2015 at 9:58 PM, Andy Seaborne a...@apache.org wrote: I've managed to integrate the latest updates. The scripted ones look, at first glance OK, but the data isn't very rich. Also, please can we have some API tests in TestAPI. These are JUnit tests in java. These should be have comprehensive coverage. I also tried out execConstructTriples(), I noticed that the result is from all graphs. When just triples are asked for, only those in the default graph should be returned. Template.getTriples calls Quad.asTriple. But it needs to deal with just the default graph, and c can't rely on Quad.asTriple. Andy On 10/08/15 12:44, Qihong Lin wrote: Hi, I've enriched the syntax tests with short form and default graph cases. For execution tests, I add the test support in QueryTest for construct quad with the scripts files and data files in TRIG (see jena-arq/testing/ARQ/Construct/*.trig). I think construct quad should be part of the construct of ARQ. So I add the execution tests in jena-arq/testing/ARQ/Construct/manifest.ttl. The fuseki part of construct quad has been implemented (not committed yet). I'll submit the code as soon as the PR 89 [1] being merged. Anything to be improved for PR 89 from your reviews? regards, Qihong [1] https://github.com/apache/jena/pull/89 On Thu, Aug 6, 2015 at 8:55 PM, Andy Seaborne a...@apache.org wrote: Hi - looking better - I see the syntax tests I provided. Does that set of tests cover all cases of the new syntax? Next, we need execution tests for ARQ. There will need to be execute tests in jena-arq as well. These can be Junit tests in java and do not need to be external script files. This is separate from testing in Fuseki. Do you have any other constraints on your time over the next 2 weeks? Andy On 06/08/15 04:18, Qihong Lin wrote: Hi, I've fixed the bugs related to syntax checks. Please see my latest commits. Here're the output of the syntax files through qparse (you can also run ExampleConstructQuads.java to get the results). Are these with the expected behaviors, especially for syntax-quad-construct-07.arq? run-construct-quad-test: File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o .} } WHERE { } File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o .} } WHERE { ?s ?p ?o } File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File: syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o . GRAPH ?g { :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-07.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE {} Output of qparse --file syntax-quad-construct-07.arq PREFIX :
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi, I've enriched the syntax tests with short form and default graph cases. For execution tests, I add the test support in QueryTest for construct quad with the scripts files and data files in TRIG (see jena-arq/testing/ARQ/Construct/*.trig). I think construct quad should be part of the construct of ARQ. So I add the execution tests in jena-arq/testing/ARQ/Construct/manifest.ttl. The fuseki part of construct quad has been implemented (not committed yet). I'll submit the code as soon as the PR 89 [1] being merged. Anything to be improved for PR 89 from your reviews? regards, Qihong [1] https://github.com/apache/jena/pull/89 On Thu, Aug 6, 2015 at 8:55 PM, Andy Seaborne a...@apache.org wrote: Hi - looking better - I see the syntax tests I provided. Does that set of tests cover all cases of the new syntax? Next, we need execution tests for ARQ. There will need to be execute tests in jena-arq as well. These can be Junit tests in java and do not need to be external script files. This is separate from testing in Fuseki. Do you have any other constraints on your time over the next 2 weeks? Andy On 06/08/15 04:18, Qihong Lin wrote: Hi, I've fixed the bugs related to syntax checks. Please see my latest commits. Here're the output of the syntax files through qparse (you can also run ExampleConstructQuads.java to get the results). Are these with the expected behaviors, especially for syntax-quad-construct-07.arq? run-construct-quad-test: File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o .} } WHERE { } File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o .} } WHERE { ?s ?p ?o } File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File: syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o . GRAPH ?g { :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-07.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE {} Output of qparse --file syntax-quad-construct-07.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File: syntax-quad-construct-08.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } GRAPH ?g1 { :s :p :o } } WHERE { } Output of qparse --file syntax-quad-construct-08.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} GRAPH ?g1 { :s :p :o .} } WHERE { } On Sun, Aug 2, 2015 at 9:14 AM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, I re-checked the code you commited. Most of the hashCode issues for arq.qparse that Andy pointed out are due to the incorrect serialization of the Template. The code can only deal with the quads with the same graph node, for which it may not always be the case in practcial terms. Please make sure each example syntax file can pass the checking process of arq.qparse. It's August now. You'd better hurry up and make the project completed on time in the remaining weeks. Best regards, Ying Jiang On Thu, Jul 30, 2015 at 6:03 AM, Andy Seaborne a...@apache.org wrote: Output of * each examnple syntax file (the queries are nonsense in practcial terms!) * running arq.qparse on the file * notes on what seems to be going on Andy File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi - looking better - I see the syntax tests I provided. Does that set of tests cover all cases of the new syntax? Next, we need execution tests for ARQ. There will need to be execute tests in jena-arq as well. These can be Junit tests in java and do not need to be external script files. This is separate from testing in Fuseki. Do you have any other constraints on your time over the next 2 weeks? Andy On 06/08/15 04:18, Qihong Lin wrote: Hi, I've fixed the bugs related to syntax checks. Please see my latest commits. Here're the output of the syntax files through qparse (you can also run ExampleConstructQuads.java to get the results). Are these with the expected behaviors, especially for syntax-quad-construct-07.arq? run-construct-quad-test: File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o .} } WHERE { } File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o .} } WHERE { ?s ?p ?o } File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File: syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o . GRAPH ?g { :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-07.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE {} Output of qparse --file syntax-quad-construct-07.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File: syntax-quad-construct-08.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } GRAPH ?g1 { :s :p :o } } WHERE { } Output of qparse --file syntax-quad-construct-08.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} GRAPH ?g1 { :s :p :o .} } WHERE { } On Sun, Aug 2, 2015 at 9:14 AM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, I re-checked the code you commited. Most of the hashCode issues for arq.qparse that Andy pointed out are due to the incorrect serialization of the Template. The code can only deal with the quads with the same graph node, for which it may not always be the case in practcial terms. Please make sure each example syntax file can pass the checking process of arq.qparse. It's August now. You'd better hurry up and make the project completed on time in the remaining weeks. Best regards, Ying Jiang On Thu, Jul 30, 2015 at 6:03 AM, Andy Seaborne a...@apache.org wrote: Output of * each examnple syntax file (the queries are nonsense in practcial terms!) * running arq.qparse on the file * notes on what seems to be going on Andy File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH http://example/g {:s :p :o .} } WHERE { } Issue: Minor: formatting of http://example/g should be :g File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g {?s ?p ?o .} } WHERE { ?s ?p ?o } OK File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE { } Issue: Major: The output is contains GRAPH urn:x-arq:DefaultGraphNode Note: urn:x-arq:DefaultGraphNode is for internal use only.
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi, I've fixed the bugs related to syntax checks. Please see my latest commits. Here're the output of the syntax files through qparse (you can also run ExampleConstructQuads.java to get the results). Are these with the expected behaviors, especially for syntax-quad-construct-07.arq? run-construct-quad-test: File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o .} } WHERE { } File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o .} } WHERE { ?s ?p ?o } File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File: syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o . GRAPH ?g { :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o .} ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } File: syntax-quad-construct-07.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE {} Output of qparse --file syntax-quad-construct-07.arq PREFIX : http://example/ CONSTRUCT { :s :p :o . } WHERE { } File: syntax-quad-construct-08.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } GRAPH ?g1 { :s :p :o } } WHERE { } Output of qparse --file syntax-quad-construct-08.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o .} GRAPH ?g1 { :s :p :o .} } WHERE { } On Sun, Aug 2, 2015 at 9:14 AM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, I re-checked the code you commited. Most of the hashCode issues for arq.qparse that Andy pointed out are due to the incorrect serialization of the Template. The code can only deal with the quads with the same graph node, for which it may not always be the case in practcial terms. Please make sure each example syntax file can pass the checking process of arq.qparse. It's August now. You'd better hurry up and make the project completed on time in the remaining weeks. Best regards, Ying Jiang On Thu, Jul 30, 2015 at 6:03 AM, Andy Seaborne a...@apache.org wrote: Output of * each examnple syntax file (the queries are nonsense in practcial terms!) * running arq.qparse on the file * notes on what seems to be going on Andy File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH http://example/g {:s :p :o .} } WHERE { } Issue: Minor: formatting of http://example/g should be :g File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g {?s ?p ?o .} } WHERE { ?s ?p ?o } OK File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE { } Issue: Major: The output is contains GRAPH urn:x-arq:DefaultGraphNode Note: urn:x-arq:DefaultGraphNode is for internal use only. For syntax, that is a named graph just like http://example/g File:
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi Qihong, I re-checked the code you commited. Most of the hashCode issues for arq.qparse that Andy pointed out are due to the incorrect serialization of the Template. The code can only deal with the quads with the same graph node, for which it may not always be the case in practcial terms. Please make sure each example syntax file can pass the checking process of arq.qparse. It's August now. You'd better hurry up and make the project completed on time in the remaining weeks. Best regards, Ying Jiang On Thu, Jul 30, 2015 at 6:03 AM, Andy Seaborne a...@apache.org wrote: Output of * each examnple syntax file (the queries are nonsense in practcial terms!) * running arq.qparse on the file * notes on what seems to be going on Andy File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH http://example/g {:s :p :o .} } WHERE { } Issue: Minor: formatting of http://example/g should be :g File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g {?s ?p ?o .} } WHERE { ?s ?p ?o } OK File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE { } Issue: Major: The output is contains GRAPH urn:x-arq:DefaultGraphNode Note: urn:x-arq:DefaultGraphNode is for internal use only. For syntax, that is a named graph just like http://example/g File: syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-04.arq Check failure: reparsed query hashCode does not equal parsed input query Query (hashCode: 1768688961)= PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Query2 (hashCode: 1896249441)= PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Issue: The output puts the following triple into the GRAPH. See also syntax-quad-construct-08.arq File: syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-05.arq Check failure: reparsed query hashCode does not equal parsed input query Query (hashCode: -262437683)= PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {?s ?p ?o . :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Query2 (hashCode: -399379987)= PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {?s ?p ?o . :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {?s ?p ?o . :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Issue: Plain ?s ?p ?o has been put into a named graph Adjacent blocks have merged. File: syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-06.arq Check failure: reparsed query hashCode does not equal parsed input query Query (hashCode: -1800516808)= PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Query2 (hashCode: -129418312)= PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Issue: Same as previous. File: syntax-quad-construct-07.arq PREFIX :
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Output of * each examnple syntax file (the queries are nonsense in practcial terms!) * running arq.qparse on the file * notes on what seems to be going on Andy File: syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH :g { :s :p :o } } WHERE {} Output of qparse --file syntax-quad-construct-01.arq PREFIX : http://example/ CONSTRUCT { GRAPH http://example/g {:s :p :o .} } WHERE { } Issue: Minor: formatting of http://example/g should be :g File: syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { ?s ?p ?o } } WHERE { ?s ?p ?o } Output of qparse --file syntax-quad-construct-02.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g {?s ?p ?o .} } WHERE { ?s ?p ?o } OK File: syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { :s :p :o } WHERE {} Output of qparse --file syntax-quad-construct-03.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE { } Issue: Major: The output is contains GRAPH urn:x-arq:DefaultGraphNode Note: urn:x-arq:DefaultGraphNode is for internal use only. For syntax, that is a named graph just like http://example/g File: syntax-quad-construct-04.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-04.arq Check failure: reparsed query hashCode does not equal parsed input query Query (hashCode: 1768688961)= PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Query2 (hashCode: 1896249441)= PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Issue: The output puts the following triple into the GRAPH. See also syntax-quad-construct-08.arq File: syntax-quad-construct-05.arq PREFIX : http://example/ CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-05.arq Check failure: reparsed query hashCode does not equal parsed input query Query (hashCode: -262437683)= PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {?s ?p ?o . :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Query2 (hashCode: -399379987)= PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {?s ?p ?o . :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {?s ?p ?o . :s :p :o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Issue: Plain ?s ?p ?o has been put into a named graph Adjacent blocks have merged. File: syntax-quad-construct-06.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g { ?s ?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE { GRAPH ?g { ?s ?p ?o } } Output of qparse --file syntax-quad-construct-06.arq Check failure: reparsed query hashCode does not equal parsed input query Query (hashCode: -1800516808)= PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Query2 (hashCode: -129418312)= PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p ?o } } Issue: Same as previous. File: syntax-quad-construct-07.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE {} Output of qparse --file syntax-quad-construct-07.arq PREFIX : http://example/ CONSTRUCT { GRAPH urn:x-arq:DefaultGraphNode {:s :p :o .} } WHERE { } Issue: Should be different. A named graph of GRAPH urn:x-arq:DefaultGraphNode is not the default graph. File: syntax-quad-construct-08.arq PREFIX : http://example/ CONSTRUCT { GRAPH ?g { :s :p :o } GRAPH ?g1 { :s :p :o } } WHERE { } Output of qparse --file syntax-quad-construct-08.arq Check failure: reparsed query hashCode does not equal parsed input query Query (hashCode: 636900208)= PREFIX : http://example/ CONSTRUCT { GRAPH ?g {:s :p :o . :s
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi Qihong, In my email of July 19, I wrote: 1. Code and grammar changes 2. Tests 3. Pull requests 4. Documentation See email [1]. I don't see any tests and syntax examples I tried don't work. Tests are important. There need to be syntax tests; syntax tests go in syn-arq.sh. (your email [2]) To help, I have produced a number files and run them through arq.qparse. I'll email you directly with a zip that has all these examples, the comments with each file and the script I used to run them. In the message following this one, I include the test output with commentary. Please acknowledge receipt of the zip file as soon as possible. There will need to be execute tests in jena-arq as well. These can be Junit tests in java and do not need to be external script files. This is separate from testing in Fuseki. Andy [1] http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3c55abd740.9010...@apache.org%3E [2] http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3ccajyr9mw4jwveaxbfk--da6apfyhituntkuzkdxtmjq0zztw...@mail.gmail.com%3E On 30/07/15 03:59, Qihong Lin wrote: Hi, I've fixed the bugs of arq.aparse and , with some minor improvements for Java 7/8 you mentioned. Please check the PR 89. I hope it can be merged into jena master ASAP, so that I can go on with merging the code for fuseki support. regard, Qihong On Wed, Jul 29, 2015 at 11:54 AM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, You're requried to keep us posted of your work progress regularly. Last week, there were some comments for your code ( PR 89 ) from the community. Have you read them and refined your code accordingly? Any questions? Best regards, Ying Jiang On Tue, Jul 21, 2015 at 4:35 PM, Andy Seaborne a...@apache.org wrote: On 21/07/15 17:46, Ying Jiang wrote: Hi Andy, Does Qihong need to be an apache committer in order to have the commit access? Can you grant her the access right? Best regards, Ying Jiang When you press Improve this page it says please use the username anonymous and leave the password blank if prompted for credentials Before documentation makes sense, there needs to code updates. This is most important. http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3C55ABD740.9010101%40apache.org%3E 1. Code and grammar changes 2. Tests 3. Pull requests 4. Documentation http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3C559EF342.3010806%40apache.org%3E Andy -- Forwarded message -- From: Qihong Lin confidence@gmail.com Date: Tue, Jul 21, 2015 at 9:25 AM Subject: Fwd: Final Deliveries of GSoC Project (JENA-491) To: Ying Jiang jpz6311...@gmail.com Hi, Dr. Jiang, How can I have the commit access to the svn server? I also tried the Improve this Page, which asked for user/password. The documentation seems to be wiki style. It's better to have preview of the doc when composing. The patch approach is not so convenient. regards, Qihong -- Forwarded message -- From: Bruno P. Kinoshita ki...@apache.org Date: Sun, Jul 19, 2015 at 5:52 AM Subject: Re: Final Deliveries of GSoC Project (JENA-491) To: dev@jena.apache.org dev@jena.apache.org For 1), how to commit the documentation in Jena website? If you have commit access you can either edit the pages online by clicking on the link in the top right corner Improve this Page, or check out the source repository at http://svn.apache.org/repos/asf/jena/site/trunk/ and commit your changes. Or you can check out the SVN repository, create a patch and attach it to a JIRA issue. Changes to the web site are visible initially in http://jena.staging.apache.org/ Hope that helpsBruno From: Qihong Lin confidence@gmail.com To: dev@jena.apache.org Sent: Sunday, July 19, 2015 6:17 AM Subject: Re: Final Deliveries of GSoC Project (JENA-491) Hi, I've been taking some course exams for the last week. The current project status is ahead of plan. I'll continue the project next week after the exams. For 1), how to commit the documentation in Jena website? regards, Qihong On Wed, Jul 15, 2015 at 5:43 PM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, How is the project going? I've reviewed the code you committed last week. The function of Fuseki support of constructing quad is generally OK. The tests make sense to me, although just 2 tests. However, there's more deliveries for you final work. At least, 1) Formal documentation of the goals, approaches, results and etc. I suggest creating a doc page in jena website [1], in the section of Advanced SPARQL use 2) Pull requests from your code base into apache/jena ASAP Please split this up so that we can check your commits one by one. More details in the other thread advised by Andy. 3) More tests for jena-arq and jena-fuseki-core following the original framework Please let me know if anything forgotten. Best regards, Ying Jiang [1] https://jena.apache.org
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi, I've fixed the bugs of arq.aparse and , with some minor improvements for Java 7/8 you mentioned. Please check the PR 89. I hope it can be merged into jena master ASAP, so that I can go on with merging the code for fuseki support. regard, Qihong On Wed, Jul 29, 2015 at 11:54 AM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, You're requried to keep us posted of your work progress regularly. Last week, there were some comments for your code ( PR 89 ) from the community. Have you read them and refined your code accordingly? Any questions? Best regards, Ying Jiang On Tue, Jul 21, 2015 at 4:35 PM, Andy Seaborne a...@apache.org wrote: On 21/07/15 17:46, Ying Jiang wrote: Hi Andy, Does Qihong need to be an apache committer in order to have the commit access? Can you grant her the access right? Best regards, Ying Jiang When you press Improve this page it says please use the username anonymous and leave the password blank if prompted for credentials Before documentation makes sense, there needs to code updates. This is most important. http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3C55ABD740.9010101%40apache.org%3E 1. Code and grammar changes 2. Tests 3. Pull requests 4. Documentation http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3C559EF342.3010806%40apache.org%3E Andy -- Forwarded message -- From: Qihong Lin confidence@gmail.com Date: Tue, Jul 21, 2015 at 9:25 AM Subject: Fwd: Final Deliveries of GSoC Project (JENA-491) To: Ying Jiang jpz6311...@gmail.com Hi, Dr. Jiang, How can I have the commit access to the svn server? I also tried the Improve this Page, which asked for user/password. The documentation seems to be wiki style. It's better to have preview of the doc when composing. The patch approach is not so convenient. regards, Qihong -- Forwarded message -- From: Bruno P. Kinoshita ki...@apache.org Date: Sun, Jul 19, 2015 at 5:52 AM Subject: Re: Final Deliveries of GSoC Project (JENA-491) To: dev@jena.apache.org dev@jena.apache.org For 1), how to commit the documentation in Jena website? If you have commit access you can either edit the pages online by clicking on the link in the top right corner Improve this Page, or check out the source repository at http://svn.apache.org/repos/asf/jena/site/trunk/ and commit your changes. Or you can check out the SVN repository, create a patch and attach it to a JIRA issue. Changes to the web site are visible initially in http://jena.staging.apache.org/ Hope that helpsBruno From: Qihong Lin confidence@gmail.com To: dev@jena.apache.org Sent: Sunday, July 19, 2015 6:17 AM Subject: Re: Final Deliveries of GSoC Project (JENA-491) Hi, I've been taking some course exams for the last week. The current project status is ahead of plan. I'll continue the project next week after the exams. For 1), how to commit the documentation in Jena website? regards, Qihong On Wed, Jul 15, 2015 at 5:43 PM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, How is the project going? I've reviewed the code you committed last week. The function of Fuseki support of constructing quad is generally OK. The tests make sense to me, although just 2 tests. However, there's more deliveries for you final work. At least, 1) Formal documentation of the goals, approaches, results and etc. I suggest creating a doc page in jena website [1], in the section of Advanced SPARQL use 2) Pull requests from your code base into apache/jena ASAP Please split this up so that we can check your commits one by one. More details in the other thread advised by Andy. 3) More tests for jena-arq and jena-fuseki-core following the original framework Please let me know if anything forgotten. Best regards, Ying Jiang [1] https://jena.apache.org/documentation/query/index.html
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
Hi Qihong, You're requried to keep us posted of your work progress regularly. Last week, there were some comments for your code ( PR 89 ) from the community. Have you read them and refined your code accordingly? Any questions? Best regards, Ying Jiang On Tue, Jul 21, 2015 at 4:35 PM, Andy Seaborne a...@apache.org wrote: On 21/07/15 17:46, Ying Jiang wrote: Hi Andy, Does Qihong need to be an apache committer in order to have the commit access? Can you grant her the access right? Best regards, Ying Jiang When you press Improve this page it says please use the username anonymous and leave the password blank if prompted for credentials Before documentation makes sense, there needs to code updates. This is most important. http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3C55ABD740.9010101%40apache.org%3E 1. Code and grammar changes 2. Tests 3. Pull requests 4. Documentation http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3C559EF342.3010806%40apache.org%3E Andy -- Forwarded message -- From: Qihong Lin confidence@gmail.com Date: Tue, Jul 21, 2015 at 9:25 AM Subject: Fwd: Final Deliveries of GSoC Project (JENA-491) To: Ying Jiang jpz6311...@gmail.com Hi, Dr. Jiang, How can I have the commit access to the svn server? I also tried the Improve this Page, which asked for user/password. The documentation seems to be wiki style. It's better to have preview of the doc when composing. The patch approach is not so convenient. regards, Qihong -- Forwarded message -- From: Bruno P. Kinoshita ki...@apache.org Date: Sun, Jul 19, 2015 at 5:52 AM Subject: Re: Final Deliveries of GSoC Project (JENA-491) To: dev@jena.apache.org dev@jena.apache.org For 1), how to commit the documentation in Jena website? If you have commit access you can either edit the pages online by clicking on the link in the top right corner Improve this Page, or check out the source repository at http://svn.apache.org/repos/asf/jena/site/trunk/ and commit your changes. Or you can check out the SVN repository, create a patch and attach it to a JIRA issue. Changes to the web site are visible initially in http://jena.staging.apache.org/ Hope that helpsBruno From: Qihong Lin confidence@gmail.com To: dev@jena.apache.org Sent: Sunday, July 19, 2015 6:17 AM Subject: Re: Final Deliveries of GSoC Project (JENA-491) Hi, I've been taking some course exams for the last week. The current project status is ahead of plan. I'll continue the project next week after the exams. For 1), how to commit the documentation in Jena website? regards, Qihong On Wed, Jul 15, 2015 at 5:43 PM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, How is the project going? I've reviewed the code you committed last week. The function of Fuseki support of constructing quad is generally OK. The tests make sense to me, although just 2 tests. However, there's more deliveries for you final work. At least, 1) Formal documentation of the goals, approaches, results and etc. I suggest creating a doc page in jena website [1], in the section of Advanced SPARQL use 2) Pull requests from your code base into apache/jena ASAP Please split this up so that we can check your commits one by one. More details in the other thread advised by Andy. 3) More tests for jena-arq and jena-fuseki-core following the original framework Please let me know if anything forgotten. Best regards, Ying Jiang [1] https://jena.apache.org/documentation/query/index.html
Re: Fwd: Final Deliveries of GSoC Project (JENA-491)
On 21/07/15 17:46, Ying Jiang wrote: Hi Andy, Does Qihong need to be an apache committer in order to have the commit access? Can you grant her the access right? Best regards, Ying Jiang When you press Improve this page it says please use the username anonymous and leave the password blank if prompted for credentials Before documentation makes sense, there needs to code updates. This is most important. http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3C55ABD740.9010101%40apache.org%3E 1. Code and grammar changes 2. Tests 3. Pull requests 4. Documentation http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3C559EF342.3010806%40apache.org%3E Andy -- Forwarded message -- From: Qihong Lin confidence@gmail.com Date: Tue, Jul 21, 2015 at 9:25 AM Subject: Fwd: Final Deliveries of GSoC Project (JENA-491) To: Ying Jiang jpz6311...@gmail.com Hi, Dr. Jiang, How can I have the commit access to the svn server? I also tried the Improve this Page, which asked for user/password. The documentation seems to be wiki style. It's better to have preview of the doc when composing. The patch approach is not so convenient. regards, Qihong -- Forwarded message -- From: Bruno P. Kinoshita ki...@apache.org Date: Sun, Jul 19, 2015 at 5:52 AM Subject: Re: Final Deliveries of GSoC Project (JENA-491) To: dev@jena.apache.org dev@jena.apache.org For 1), how to commit the documentation in Jena website? If you have commit access you can either edit the pages online by clicking on the link in the top right corner Improve this Page, or check out the source repository at http://svn.apache.org/repos/asf/jena/site/trunk/ and commit your changes. Or you can check out the SVN repository, create a patch and attach it to a JIRA issue. Changes to the web site are visible initially in http://jena.staging.apache.org/ Hope that helpsBruno From: Qihong Lin confidence@gmail.com To: dev@jena.apache.org Sent: Sunday, July 19, 2015 6:17 AM Subject: Re: Final Deliveries of GSoC Project (JENA-491) Hi, I've been taking some course exams for the last week. The current project status is ahead of plan. I'll continue the project next week after the exams. For 1), how to commit the documentation in Jena website? regards, Qihong On Wed, Jul 15, 2015 at 5:43 PM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, How is the project going? I've reviewed the code you committed last week. The function of Fuseki support of constructing quad is generally OK. The tests make sense to me, although just 2 tests. However, there's more deliveries for you final work. At least, 1) Formal documentation of the goals, approaches, results and etc. I suggest creating a doc page in jena website [1], in the section of Advanced SPARQL use 2) Pull requests from your code base into apache/jena ASAP Please split this up so that we can check your commits one by one. More details in the other thread advised by Andy. 3) More tests for jena-arq and jena-fuseki-core following the original framework Please let me know if anything forgotten. Best regards, Ying Jiang [1] https://jena.apache.org/documentation/query/index.html
Re: Final Deliveries of GSoC Project (JENA-491)
Qihong, I hope the exams have gone well. All of the tasks include delivery and it is this aspect we need to concentrate on now. There needs to be: 1. Code and grammar changes 2. Tests 3. Pull requests 4. Documentation I've looked through https://github.com/confidencesun/jena/commits/JENA-491. (1) seems to progressing well. For (2) I don't see tests in ARQ, whereas there should be execution and syntax test. There are 2 tests in Fusek2/TestQuery. For (3), it is going to need some preparation. There is a problem with the last (July 5) commit. At a guess, it looks like you updated the source code and committed it rather than merge the commits from Jena. https://github.com/confidencesun/jena/commit/07afdbf0fe635d41c302b25a9c51f43802ea903a There are 341 changed files. Pull requests sent to apache/jena will need to be your code. http://mail-archives.apache.org/mod_mbox/jena-dev/201507.mbox/%3C559EF342.3010806%40apache.org%3E We need separate pull requests for jena-arq and one for jena-fuseki2. If we can start with jena-arq we can have review and refinement of that happening while work on pull requests for jena-fuseki2 happens. Is there anymore work needed, except for tests, on the jena-arq module? Andy
Re: Final Deliveries of GSoC Project (JENA-491)
For 1), how to commit the documentation in Jena website? If you have commit access you can either edit the pages online by clicking on the link in the top right corner Improve this Page, or check out the source repository at http://svn.apache.org/repos/asf/jena/site/trunk/ and commit your changes. Or you can check out the SVN repository, create a patch and attach it to a JIRA issue. Changes to the web site are visible initially in http://jena.staging.apache.org/ Hope that helpsBruno From: Qihong Lin confidence@gmail.com To: dev@jena.apache.org Sent: Sunday, July 19, 2015 6:17 AM Subject: Re: Final Deliveries of GSoC Project (JENA-491) Hi, I've been taking some course exams for the last week. The current project status is ahead of plan. I'll continue the project next week after the exams. For 1), how to commit the documentation in Jena website? regards, Qihong On Wed, Jul 15, 2015 at 5:43 PM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, How is the project going? I've reviewed the code you committed last week. The function of Fuseki support of constructing quad is generally OK. The tests make sense to me, although just 2 tests. However, there's more deliveries for you final work. At least, 1) Formal documentation of the goals, approaches, results and etc. I suggest creating a doc page in jena website [1], in the section of Advanced SPARQL use 2) Pull requests from your code base into apache/jena ASAP Please split this up so that we can check your commits one by one. More details in the other thread advised by Andy. 3) More tests for jena-arq and jena-fuseki-core following the original framework Please let me know if anything forgotten. Best regards, Ying Jiang [1] https://jena.apache.org/documentation/query/index.html
Re: Final Deliveries of GSoC Project (JENA-491)
Hi, I've been taking some course exams for the last week. The current project status is ahead of plan. I'll continue the project next week after the exams. For 1), how to commit the documentation in Jena website? regards, Qihong On Wed, Jul 15, 2015 at 5:43 PM, Ying Jiang jpz6311...@gmail.com wrote: Hi Qihong, How is the project going? I've reviewed the code you committed last week. The function of Fuseki support of constructing quad is generally OK. The tests make sense to me, although just 2 tests. However, there's more deliveries for you final work. At least, 1) Formal documentation of the goals, approaches, results and etc. I suggest creating a doc page in jena website [1], in the section of Advanced SPARQL use 2) Pull requests from your code base into apache/jena ASAP Please split this up so that we can check your commits one by one. More details in the other thread advised by Andy. 3) More tests for jena-arq and jena-fuseki-core following the original framework Please let me know if anything forgotten. Best regards, Ying Jiang [1] https://jena.apache.org/documentation/query/index.html