On 13/08/15 06:28, Ying Jiang wrote:
I just created an empty page of construct quad for Qihong:
http://svn.apache.org/repos/asf/jena/site/trunk/content/documentation/query/construct-quad.mdtext
Now at:
http://jena.staging.apache.org/documentation/query/construct-quad.html
(note the mdtext -> html)
You can track progress by looking at the commits@jena list and looking
for the "buildbot". It polls svn and executes on change. I don't know
the polling frequency but, empirically, it also depends on how busy the
web site builder is overall.
When editting the site via the CMS web UI, don't forget to update
resources - otherwise you are working on the site as of when you lasted
logged into the CMS web UI.
Andy
But it does not show neither in staging nor in releasing website. wait
for a while to see what's going on.
On Wed, Aug 12, 2015 at 6:14 PM, Qihong Lin <confidence....@gmail.com> wrote:
Hi,
I modified the doc here, using the anonymous username:
Index: trunk/content/documentation/query/index.mdtext
===================================================================
--- trunk/content/documentation/query/index.mdtext (revision 1655891)
+++ trunk/content/documentation/query/index.mdtext (working copy)
@@ -46,6 +46,7 @@
- [Sub-SELECT](sub-select.html)
- [Negation](negation.html)
- [Conditions in FILTERs](function_forms.html)
+- [Construct quad](construct-quad.html)
I'd like to compose the construct quad documentation in the above new
"construct-quad.html". Could you tell me how to create a new wiki page
in jena website?
regards,
Qihong
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 } } ======== 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: syntax-quad-construct-04.arq PREFIX :
<http://example/>
CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o } WHERE { GRAPH ?g {
?s ?p ?o } }
==== Output of qparse --file syntax-quad-construct-04.arq
**** Check failure: reparsed query hashCode does not equal parsed
input query Query (hashCode: 1768688961)= PREFIX :
<http://example/>
CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g {
?s ?p ?o } }
Query2 (hashCode: 1896249441)= PREFIX : <http://example/>
CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g {
?s ?p ?o } }
PREFIX : <http://example/>
CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o .} } WHERE { GRAPH ?g {
?s ?p ?o } } ---- Issue: The output puts the following triple
into the GRAPH. See also syntax-quad-construct-08.arq
======== File: syntax-quad-construct-05.arq PREFIX :
<http://example/>
CONSTRUCT { ?s ?p ?o GRAPH ?g { :s :p :o } } WHERE { GRAPH ?g {
?s ?p ?o } }
==== Output of qparse --file syntax-quad-construct-05.arq
**** Check failure: reparsed query hashCode does not equal parsed
input query Query (hashCode: -262437683)= PREFIX :
<http://example/>
CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {?s ?p ?o . :s :p
:o .} } WHERE { GRAPH ?g { ?s ?p ?o } }
Query2 (hashCode: -399379987)= PREFIX : <http://example/>
CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {?s ?p ?o . :s :p
:o .} } WHERE { GRAPH ?g { ?s ?p ?o } }
PREFIX : <http://example/>
CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {?s ?p ?o . :s :p
:o .} } WHERE { GRAPH ?g { ?s ?p ?o } } ---- Issue: Plain ?s ?p
?o has been put into a named graph Adjacent blocks have merged.
======== File: syntax-quad-construct-06.arq PREFIX :
<http://example/>
CONSTRUCT { GRAPH ?g { :s :p :o } ?s ?p ?o . ?s ?p ?o . GRAPH ?g
{ ?s ?p ?o } ?s ?p ?o . ?s ?p ?o GRAPH ?g { ?s ?p ?o } } WHERE {
GRAPH ?g { ?s ?p ?o } }
==== Output of qparse --file syntax-quad-construct-06.arq
**** Check failure: reparsed query hashCode does not equal parsed
input query Query (hashCode: -1800516808)= PREFIX :
<http://example/>
CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o
. ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p
?o } }
Query2 (hashCode: -129418312)= PREFIX : <http://example/>
CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o
. ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p
?o } }
PREFIX : <http://example/>
CONSTRUCT { GRAPH ?g {:s :p :o . ?s ?p ?o . ?s ?p ?o . ?s ?p ?o
. ?s ?p ?o . ?s ?p ?o . ?s ?p ?o .} } WHERE { GRAPH ?g { ?s ?p
?o } } ---- Issue: Same as previous.
======== File: syntax-quad-construct-07.arq PREFIX :
<http://example/>
CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {:s :p :o .} }
WHERE {}
==== Output of qparse --file syntax-quad-construct-07.arq PREFIX
: <http://example/>
CONSTRUCT { GRAPH <urn:x-arq:DefaultGraphNode> {:s :p :o .} }
WHERE { } ---- Issue: Should be different. A named graph of
GRAPH <urn:x-arq:DefaultGraphNode> is not the default graph.
======== File: syntax-quad-construct-08.arq PREFIX :
<http://example/>
CONSTRUCT { GRAPH ?g { :s :p :o } GRAPH ?g1 { :s :p :o } } WHERE
{ }
==== Output of qparse --file syntax-quad-construct-08.arq
**** Check failure: reparsed query hashCode does not equal parsed
input query Query (hashCode: 636900208)= PREFIX :
<http://example/>
CONSTRUCT { GRAPH ?g {:s :p :o . :s :p :o .} } WHERE { }
Query2 (hashCode: 636999583)= PREFIX : <http://example/>
CONSTRUCT { GRAPH ?g {:s :p :o . :s :p :o .} } WHERE { }
PREFIX : <http://example/>
CONSTRUCT { GRAPH ?g {:s :p :o . :s :p :o .} } WHERE { } ----
Issue: Adjacent GRAPH blocks have merged.