diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/manifest.ttl b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/manifest.ttl index b6b786c235e..f7fea62bae1 100644 --- a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/manifest.ttl +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/manifest.ttl @@ -70,245 +70,304 @@ :test_42 :test_43 :test_44 - +:test_45 +:test_46 +:test_47 +:test_48 +:test_49 :test_50 :test_51 :test_52 +:test_53 +:test_54 +:test_55 +:test_56 +:test_57 ) . :test_1 rdf:type mfx:PositiveSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-01.arq" ; + mf:action ;. + +:test_2 rdf:type mfx:PositiveSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-02.arq" ; + mf:action ;. + +:test_3 rdf:type mfx:PositiveSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-03.arq" ; + mf:action ;. + +:test_4 rdf:type mfx:PositiveSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-04.arq" ; + mf:action ;. + +:test_5 rdf:type mfx:PositiveSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-05.arq" ; + mf:action ;. + +:test_6 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-select-expr-01.arq" ; mf:action ;. -:test_2 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_7 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-select-expr-02.arq" ; mf:action ;. -:test_3 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_8 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-select-expr-03.arq" ; mf:action ;. -:test_4 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_9 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-select-expr-04.arq" ; mf:action ;. -:test_5 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_10 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-select-expr-05.arq" ; mf:action ;. -:test_6 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_11 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-select-expr-06.arq" ; mf:action ;. -:test_7 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_12 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-select-expr-07.arq" ; mf:action ;. -:test_8 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_13 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-service-01.arq" ; mf:action ;. -:test_9 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_14 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-group-01.arq" ; mf:action ;. -:test_10 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_15 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-group-02.arq" ; mf:action ;. -:test_11 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_16 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-group-03.arq" ; mf:action ;. -:test_12 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_17 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-group-04.arq" ; mf:action ;. -:test_13 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_18 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-count-01.arq" ; mf:action ;. -:test_14 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_19 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-count-02.arq" ; mf:action ;. -:test_15 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_20 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-count-03.arq" ; mf:action ;. -:test_16 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_21 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-count-04.arq" ; mf:action ;. -:test_17 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_22 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-subquery-01.arq" ; mf:action ;. -:test_18 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_23 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-subquery-02.arq" ; mf:action ;. -:test_19 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_24 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-subquery-03.arq" ; mf:action ;. -:test_20 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_25 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-subquery-04.arq" ; mf:action ;. -:test_21 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_26 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-let-01.arq" ; mf:action ;. -:test_22 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_27 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-let-02.arq" ; mf:action ;. -:test_23 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_28 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-01.arq" ; mf:action ;. -:test_24 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_29 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-02.arq" ; mf:action ;. -:test_25 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_30 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-03.arq" ; mf:action ;. -:test_26 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_31 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-04.arq" ; mf:action ;. -:test_27 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_32 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-05.arq" ; mf:action ;. -:test_28 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_33 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-06.arq" ; mf:action ;. -:test_29 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_34 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-07.arq" ; mf:action ;. -:test_30 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_35 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-08.arq" ; mf:action ;. -:test_31 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_36 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-09.arq" ; mf:action ;. -:test_32 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_37 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-10.arq" ; mf:action ;. -:test_33 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_38 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-11.arq" ; mf:action ;. -:test_34 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_39 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-12.arq" ; mf:action ;. -:test_35 rdf:type mfx:PositiveSyntaxTestARQ ; +:test_40 rdf:type mfx:PositiveSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-median-01.arq" ; mf:action ;. -:test_36 rdf:type mfx:NegativeSyntaxTestARQ ; +:test_41 rdf:type mfx:NegativeSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-bad-01.arq" ; + mf:action ;. + +:test_42 rdf:type mfx:NegativeSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-bad-02.arq" ; + mf:action ;. + +:test_43 rdf:type mfx:NegativeSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-bad-03.arq" ; + mf:action ;. + +:test_44 rdf:type mfx:NegativeSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-bad-04.arq" ; + mf:action ;. + +:test_45 rdf:type mfx:NegativeSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-bad-05.arq" ; + mf:action ;. + +:test_46 rdf:type mfx:NegativeSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-bad-06.arq" ; + mf:action ;. + +:test_47 rdf:type mfx:NegativeSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-bad-07.arq" ; + mf:action ;. + +:test_48 rdf:type mfx:NegativeSyntaxTestARQ ; + dawgt:approval dawgt:NotClassified ; + mf:name "syntax-lateral-bad-08.arq" ; + mf:action ;. + +:test_49 rdf:type mfx:NegativeSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-scope-bad-01.arq" ; mf:action ;. -:test_37 rdf:type mfx:NegativeSyntaxTestARQ ; +:test_50 rdf:type mfx:NegativeSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-scope-bad-02.arq" ; mf:action ;. -:test_38 rdf:type mfx:NegativeSyntaxTestARQ ; +:test_51 rdf:type mfx:NegativeSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-agg-expr-bad-01.arq" ; mf:action ;. -:test_39 rdf:type mfx:NegativeSyntaxTestARQ ; +:test_52 rdf:type mfx:NegativeSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-agg-expr-bad-02.arq" ; mf:action ;. -:test_40 rdf:type mfx:NegativeSyntaxTestARQ ; +:test_53 rdf:type mfx:NegativeSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-agg-expr-bad-03.arq" ; mf:action ;. -:test_41 rdf:type mfx:NegativeSyntaxTestARQ ; +:test_54 rdf:type mfx:NegativeSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-subquery-bad-01.arq" ; mf:action ;. -:test_42 rdf:type mfx:NegativeSyntaxTestARQ ; +:test_55 rdf:type mfx:NegativeSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-subquery-bad-02.arq" ; mf:action ;. -:test_43 rdf:type mfx:NegativeSyntaxTestARQ ; +:test_56 rdf:type mfx:NegativeSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-let-bad-01.arq" ; mf:action ;. -:test_44 rdf:type mfx:NegativeSyntaxTestARQ ; +:test_57 rdf:type mfx:NegativeSyntaxTestARQ ; dawgt:approval dawgt:NotClassified ; mf:name "syntax-quad-construct-bad-01.arq" ; mf:action ;. -## IRI(base,rel) -:test_50 rdf:type mfx:PositiveSyntaxTestARQ ; - dawgt:approval dawgt:NotClassified ; - mf:name "syntax-iri-base-1.arq" ; - mf:action ;. - -:test_51 rdf:type mfx:PositiveSyntaxTestARQ ; - dawgt:approval dawgt:NotClassified ; - mf:name "syntax-iri-base-2.arq" ; - mf:action ;. - -:test_52 rdf:type mfx:PositiveSyntaxTestARQ ; - dawgt:approval dawgt:NotClassified ; - mf:name "syntax-iri-base-3.arq" ; - mf:action ;. diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-iri-base-1.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-iri-base-1.arq deleted file mode 100644 index 83d41557609..00000000000 --- a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-iri-base-1.arq +++ /dev/null @@ -1,5 +0,0 @@ -BASE - -SELECT * { - BIND( IRI("base", "rel") AS ?X ) -} \ No newline at end of file diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-iri-base-2.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-iri-base-2.arq deleted file mode 100644 index a59ec7c38eb..00000000000 --- a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-iri-base-2.arq +++ /dev/null @@ -1,5 +0,0 @@ -BASE - -SELECT * { - BIND( IRI(, "rel") AS ?X ) -} diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-iri-base-3.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-iri-base-3.arq deleted file mode 100644 index 0196348309c..00000000000 --- a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-iri-base-3.arq +++ /dev/null @@ -1,5 +0,0 @@ -BASE - -SELECT * { - BIND( IRI(, "rel") AS ?X ) -} \ No newline at end of file diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-01.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-01.arq new file mode 100644 index 00000000000..5dfaf706d3d --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-01.arq @@ -0,0 +1 @@ +SELECT * { LATERAL {} } diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-02.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-02.arq new file mode 100644 index 00000000000..092b2a2525a --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-02.arq @@ -0,0 +1,4 @@ +SELECT * { + ?s ?p ?o + LATERAL { SELECT ?x { ?s ?q ?x } LIMIT 2 } +} diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-03.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-03.arq new file mode 100644 index 00000000000..5dfaf706d3d --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-03.arq @@ -0,0 +1 @@ +SELECT * { LATERAL {} } diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-04.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-04.arq new file mode 100644 index 00000000000..f6658afe716 --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-04.arq @@ -0,0 +1,4 @@ +SELECT * { + ?s ?p ?o + LATERAL { OPTIONAL { ?s ?q ?x } } +} diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-05.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-05.arq new file mode 100644 index 00000000000..f5840ed461b --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-05.arq @@ -0,0 +1 @@ +SELECT * { ?s ?p ?o LATERAL { SELECT ?s { BIND(123 AS ?o) } } } diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-01.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-01.arq new file mode 100644 index 00000000000..e40fb314cf0 --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-01.arq @@ -0,0 +1 @@ +SELECT * { LATERAL } diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-02.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-02.arq new file mode 100644 index 00000000000..714b7bf61ed --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-02.arq @@ -0,0 +1 @@ +SELECT * { LATERAL OPTIONAL { ?s ?p ?o } } diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-03.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-03.arq new file mode 100644 index 00000000000..14686741213 --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-03.arq @@ -0,0 +1 @@ +SELECT * { OPTIONAL LATERAL { ?s ?p ?o } } diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-04.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-04.arq new file mode 100644 index 00000000000..c96d87ec07c --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-04.arq @@ -0,0 +1,4 @@ +SELECT * { + ?s ?p ?o + LATERAL { BIND( 123 AS ?o) } +} diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-05.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-05.arq new file mode 100644 index 00000000000..38fe57cee04 --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-05.arq @@ -0,0 +1,4 @@ +SELECT * { + ?s ?p ?o + LATERAL { OPTIONAL { BIND( 123 AS ?o) } } +} diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-06.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-06.arq new file mode 100644 index 00000000000..49a04cb2716 --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-06.arq @@ -0,0 +1,4 @@ +SELECT * { + ?s ?p ?o + LATERAL { ?s ?p ?o VALUES ?o {123 456} } +} diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-07.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-07.arq new file mode 100644 index 00000000000..da3a537fdd7 --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-07.arq @@ -0,0 +1,4 @@ +SELECT * { + ?s ?p ?o + LATERAL { SELECT (123 As ?o) {} } +} diff --git a/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-08.arq b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-08.arq new file mode 100644 index 00000000000..30b65c22b0a --- /dev/null +++ b/jena-arq/testing/ARQ/Syntax/Syntax-ARQ/syntax-lateral-bad-08.arq @@ -0,0 +1 @@ +SELECT * { ?s ?p ?o LATERAL { SELECT * { BIND(123 AS ?o) } } } diff --git a/jena-arq/testing/ARQ/Syntax/syn-arq.sh b/jena-arq/testing/ARQ/Syntax/syn-arq.sh index 33a2d327cd1..53543e37943 100644 --- a/jena-arq/testing/ARQ/Syntax/syn-arq.sh +++ b/jena-arq/testing/ARQ/Syntax/syn-arq.sh @@ -1,5 +1,84 @@ #!/bin/bash +## ---- LATERAL + +N=0 + +N=$((N+1)) ; testGood $ARQ $(fname "syntax-lateral-" $N arq) <