You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2016/03/13 18:27:52 UTC
[06/16] jena git commit: JENA-1156: Use standard SQL naming. Add
keywords to extended SPARQL.
http://git-wip-us.apache.org/repos/asf/jena/blob/6e588daa/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestStatisticsAggregates.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestStatisticsAggregates.java b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestStatisticsAggregates.java
index f094a82..829fccf 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestStatisticsAggregates.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/expr/TestStatisticsAggregates.java
@@ -26,7 +26,7 @@ import org.apache.jena.sparql.core.DatasetGraph ;
import org.apache.jena.sparql.core.Var ;
import org.apache.jena.sparql.engine.binding.Binding ;
import org.apache.jena.sparql.expr.aggregate.AggregateRegistry ;
-import org.apache.jena.sparql.expr.aggregate.lib.StandardCustomAggregates ;
+import org.apache.jena.sparql.expr.aggregate.lib.StandardAggregates ;
import org.apache.jena.sparql.sse.SSE ;
import static org.junit.Assert.* ;
import org.junit.BeforeClass ;
@@ -43,153 +43,250 @@ public class TestStatisticsAggregates {
static DatasetGraph ds1 = SSE.parseDatasetGraph("(dataset (graph (:x :p -1)) )") ;
@BeforeClass public static void setupClass() {
- StandardCustomAggregates.register();
+ StandardAggregates.register();
}
- static double VALUEstdev = 1.8929694486000912 ;
- static double VALUEstdevd = 2.0816659994661326 ;
+ static double VALUEstdev_samp = 1.8929694486000912 ;
+ static double VALUEstdev_sampd = 2.0816659994661326 ;
- static double VALUEstdevp = 1.6393596310755 ;
- static double VALUEstdevpd = 1.699673171197595 ;
+ static double VALUEstdev_pop = 1.6393596310755 ;
+ static double VALUEstdev_popd = 1.699673171197595 ;
- static double VALUEvar = 3.5833333333333333 ;
- static double VALUEvard = 4.333333333333333 ;
+ static double VALUEvar_samp = 3.5833333333333333 ;
+ static double VALUEvar_sampd = 4.333333333333333 ;
- static double VALUEvarp = 2.6875 ;
- static double VALUEvarpd = 2.888888888888889 ;
+ static double VALUEvar_pop = 2.6875 ;
+ static double VALUEvar_popd = 2.888888888888889 ;
// For each aggregate function, there are the following tests.
- // _uri The aggregate <uri>() / SPARQL 1.1
- // _uri_d The distinct aggregate <uri_distinct>() by URI / SPARQL 1.1
- // _uri_distinct The DISTINCT aggregate / SPARQL 1.1
- // _agg AGG <uri>() / ARQ
- // _agg_distinct AGG DISTINCT <uri>() / ARQ
+ // The aggregate <uri>() / SPARQL 1.1
+ // The DISTINCT aggregate / SPARQL 1.1
+ // ARQ keyword
+ // ARQ DISTINCT keyword
+ // AGG <uri>() / ARQ
+ // AGG DISTINCT <uri>() / ARQ
// ---- stdev
@Test public void agg_stat_stdev_uri() {
- test("agg:stdev(?x)", VALUEstdev, syntaxSPARQL_11) ;
- }
-
- @Test public void agg_stat_stdev_uri_d() {
- test("agg:stdevd(?x)", VALUEstdevd, syntaxSPARQL_11) ;
+ test("agg:stdev(?x)", VALUEstdev_samp, syntaxSPARQL_11) ;
}
@Test public void agg_stat_stdev_uri_distinct() {
- test("agg:stdev(DISTINCT ?x)", VALUEstdevd, syntaxSPARQL_11) ;
+ test("agg:stdev(DISTINCT ?x)", VALUEstdev_sampd, syntaxSPARQL_11) ;
+ }
+
+ @Test public void agg_stat_stdev_kw() {
+ test("STDEV(?x)", VALUEstdev_samp, syntaxARQ) ;
+ }
+
+ @Test public void agg_stat_stdev_kw_distinct() {
+ test("STDEV(DISTINCT ?x)", VALUEstdev_sampd, syntaxARQ) ;
}
@Test public void agg_stat_stdev_agg() {
- test("AGG agg:stdev(?x)", VALUEstdev, syntaxARQ) ;
+ test("AGG agg:stdev(?x)", VALUEstdev_samp, syntaxARQ) ;
}
@Test public void agg_stat_stdev_agg_distinct() {
- test("AGG agg:stdev(DISTINCT ?x)", VALUEstdevd, syntaxARQ) ;
+ test("AGG agg:stdev(DISTINCT ?x)", VALUEstdev_sampd, syntaxARQ) ;
}
- // ---- stdevp
+ // ---- stdev_samp
- @Test public void agg_stat_stdevp_uri() {
- test("agg:stdevp(?x)", VALUEstdevp, syntaxSPARQL_11) ;
+ @Test public void agg_stat_stdev_samp_uri() {
+ test("agg:stdev_samp(?x)", VALUEstdev_samp, syntaxSPARQL_11) ;
+ }
+
+ @Test public void agg_stat_stdev_samp_uri_distinct() {
+ test("agg:stdev_samp(DISTINCT ?x)", VALUEstdev_sampd, syntaxSPARQL_11) ;
+ }
+
+ @Test public void agg_stat_stdev_samp_kw() {
+ test("STDEV_SAMP(?x)", VALUEstdev_samp, syntaxARQ) ;
+ }
+
+ @Test public void agg_stat_stdev_samp_kw_distinct() {
+ test("STDEV_SAMP(DISTINCT ?x)", VALUEstdev_sampd, syntaxARQ) ;
+ }
+
+ @Test public void agg_stat_stdev_samp_agg() {
+ test("AGG agg:stdev_samp(?x)", VALUEstdev_samp, syntaxARQ) ;
+ }
+
+ @Test public void agg_stat_stdev_samp_agg_distinct() {
+ test("AGG agg:stdev_samp(DISTINCT ?x)", VALUEstdev_sampd, syntaxARQ) ;
}
- @Test public void agg_stat_stdevp_uri_d() {
- test("agg:stdevpd(?x)", VALUEstdevpd, syntaxSPARQL_11) ;
+ // ---- stdev_pop
+
+ @Test public void agg_stat_stdevp_uri() {
+ test("agg:stdev_pop(?x)", VALUEstdev_pop, syntaxSPARQL_11) ;
}
- @Test public void agg_stat_stdevp_uri_distinct() {
- test("agg:stdevp(DISTINCT ?x)", VALUEstdevpd, syntaxSPARQL_11) ;
+ @Test public void agg_stat_stdev_pop_uri_distinct() {
+ test("agg:stdev_pop(DISTINCT ?x)", VALUEstdev_popd, syntaxSPARQL_11) ;
}
- @Test public void agg_stat_stdevp_agg() {
- test("AGG agg:stdevp(?x)", VALUEstdevp, syntaxARQ) ;
+ @Test public void agg_stat_stdev_pop_kw() {
+ test("STDEV_POP(?x)", VALUEstdev_pop, syntaxARQ) ;
}
- @Test public void agg_stat_stdevp_agg_distinct() {
- test("AGG agg:stdevp(DISTINCT ?x)", VALUEstdevpd, syntaxARQ) ;
+ @Test public void agg_stat_stdev_pop_kw_distinct() {
+ test("STDEV_POP(DISTINCT ?x)", VALUEstdev_popd, syntaxARQ) ;
}
- // ---- var
+ @Test public void agg_stat_stdev_pop_agg() {
+ test("AGG agg:stdev_pop(?x)", VALUEstdev_pop, syntaxARQ) ;
+ }
- @Test public void agg_stat_var_uri() {
- test("agg:var(?x)", VALUEvar, syntaxSPARQL_11) ;
+ @Test public void agg_stat_stdev_pop_agg_distinct() {
+ test("AGG agg:stdev_pop(DISTINCT ?x)", VALUEstdev_popd, syntaxARQ) ;
}
-
- @Test public void agg_stat_var_uri_d() {
- test("agg:vard(?x)", VALUEvard, syntaxSPARQL_11) ;
+
+ // ---- variance
+
+ @Test public void agg_stat_var_uri() {
+ test("agg:variance(?x)", VALUEvar_samp, syntaxSPARQL_11) ;
}
@Test public void agg_stat_var_uri_distinct() {
- test("agg:var(DISTINCT ?x)", VALUEvard, syntaxSPARQL_11) ;
+ test("agg:variance(DISTINCT ?x)", VALUEvar_sampd, syntaxSPARQL_11) ;
+ }
+
+ @Test public void agg_stat_var_kw() {
+ test("VARIANCE(?x)", VALUEvar_samp, syntaxARQ) ;
+ }
+
+ @Test public void agg_stat_var_kw_distinct() {
+ test("VARIANCE(DISTINCT ?x)", VALUEvar_sampd, syntaxARQ) ;
}
@Test public void agg_stat_var_agg() {
- test("AGG agg:var(?x)", VALUEvar, syntaxARQ) ;
+ test("AGG agg:variance(?x)", VALUEvar_samp, syntaxARQ) ;
}
@Test public void agg_stat_var_agg_distinct() {
- test("AGG agg:var(DISTINCT ?x)", VALUEvard, syntaxARQ) ;
+ test("AGG agg:variance(DISTINCT ?x)", VALUEvar_sampd, syntaxARQ) ;
}
- // ---- varp
+ // ---- var_samp
- @Test public void agg_stat_varp_uri() {
- test("agg:varp(?x)", VALUEvarp, syntaxSPARQL_11) ;
+ @Test public void agg_stat_var_samp_uri() {
+ test("agg:var_samp(?x)", VALUEvar_samp, syntaxSPARQL_11) ;
}
- @Test public void agg_stat_varp_uri_d() {
- test("agg:varpd(?x)", VALUEvarpd, syntaxSPARQL_11) ;
+ @Test public void agg_stat_var_samp_uri_distinct() {
+ test("agg:var_samp(DISTINCT ?x)", VALUEvar_sampd, syntaxSPARQL_11) ;
+ }
+
+ @Test public void agg_stat_var_samp_kw() {
+ test("VAR_SAMP(?x)", VALUEvar_samp, syntaxARQ) ;
+ }
+
+ @Test public void agg_stat_var_samp_kw_distinct() {
+ test("VAR_SAMP(DISTINCT ?x)", VALUEvar_sampd, syntaxARQ) ;
+ }
+
+ @Test public void agg_stat_var_samp_agg() {
+ test("AGG agg:var_samp(?x)", VALUEvar_samp, syntaxARQ) ;
+ }
+
+ @Test public void agg_stat_var_samp_agg_distinct() {
+ test("AGG agg:var_samp(DISTINCT ?x)", VALUEvar_sampd, syntaxARQ) ;
+ }
+
+ // ---- var_pop
+
+ @Test public void agg_stat_var_pop_uri() {
+ test("agg:var_pop(?x)", VALUEvar_pop, syntaxSPARQL_11) ;
}
- @Test public void agg_stat_varp_uri_distinct() {
- test("agg:varp(DISTINCT ?x)", VALUEvarpd, syntaxSPARQL_11) ;
+ @Test public void agg_stat_var_pop_uri_distinct() {
+ test("agg:var_pop(DISTINCT ?x)", VALUEvar_popd, syntaxSPARQL_11) ;
}
- @Test public void agg_stat_varp_agg() {
- test("AGG agg:varp(?x)", VALUEvarp, syntaxARQ) ;
+ @Test public void agg_stat_var_pop_kw() {
+ test("VAR_POP(?x)", VALUEvar_pop, syntaxARQ) ;
}
- @Test public void agg_stat_varp_agg_distinct() {
- test("AGG agg:varp(DISTINCT ?x)", VALUEvarpd, syntaxARQ) ;
+ @Test public void agg_stat_var_pop_kw_distinct() {
+ test("VAR_POP(DISTINCT ?x)", VALUEvar_popd, syntaxARQ) ;
}
- //<http://jena.hpl.hp.com/ARQ/function/aggregate#>
+ @Test public void agg_stat_var_pop_agg() {
+ test("AGG agg:var_pop(?x)", VALUEvar_pop, syntaxARQ) ;
+ }
+
+ @Test public void agg_stat_var_pop_agg_distinct() {
+ test("AGG agg:var_pop(DISTINCT ?x)", VALUEvar_popd, syntaxARQ) ;
+ }
+
+ //<http://jena.apache.org/ARQ/function/aggregate#>
@Test public void agg_stat_stdev_full_uri() {
- test("<http://jena.apache.org/ARQ/function/aggregate#stdev>(?x)", VALUEstdev, syntaxSPARQL_11) ;
+ test("<http://jena.apache.org/ARQ/function/aggregate#stdev>(?x)", VALUEstdev_samp, syntaxSPARQL_11) ;
}
@Test public void agg_stat_registry() {
assertTrue(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function/aggregate#stdev")) ;
- assertTrue(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function/aggregate#stdevp")) ;
- assertTrue(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function/aggregate#var")) ;
- assertTrue(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function/aggregate#varp")) ;
+ assertTrue(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function/aggregate#stdev_samp")) ;
+ assertTrue(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function/aggregate#stdev_pop")) ;
+ assertTrue(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function/aggregate#variance")) ;
+ assertTrue(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function/aggregate#var_samp")) ;
+ assertTrue(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function/aggregate#var_pop")) ;
+
assertFalse(AggregateRegistry.isRegistered("http://jena.apache.org/ARQ/function#e")) ; // Not an aggregate
}
// ---- Corner cases. 0 and 1 matches.
- @Test public void agg_stat_stdev_empty_1() {
- // Empty -> error
+ // Empty -> error
+ @Test public void agg_stat_stdev_empty() {
testErr("agg:stdev(?x)", dsEmpty, syntaxSPARQL_11) ;
}
- @Test public void agg_stat_stdev_empty_2() {
- // Empty -> error
- testErr("agg:stdevp(?x)", dsEmpty, syntaxSPARQL_11) ;
+ // Empty -> error
+ @Test public void agg_stat_stdev_samp_empty() {
+ testErr("agg:stdev_samp(?x)", dsEmpty, syntaxSPARQL_11) ;
+ }
+
+ // Empty -> error
+ @Test public void agg_stat_stdev_pop_empty() {
+ testErr("agg:stdev_pop(?x)", dsEmpty, syntaxSPARQL_11) ;
}
// Sample of one -> error
- @Test public void agg_stat_size_one_1() {
+ @Test public void agg_stat_stdev_size_one() {
testErr("agg:stdev(?x)", ds1, syntaxSPARQL_11) ;
}
+ // Sample of one -> error
+ @Test public void agg_stat_stdev_samp_size_one() {
+ testErr("agg:stdev_samp(?x)", ds1, syntaxSPARQL_11) ;
+ }
+
+ // Sample of one -> error
+ @Test public void agg_stat_var_size_one_1() {
+ testErr("agg:var_samp(?x)", ds1, syntaxSPARQL_11) ;
+ }
+
+ // Population of one -> 0e0
+ @Test public void agg_stat_stdev_pop_size_one() {
+ Query query = build("agg:stdev_pop(?x)", syntaxSPARQL_11) ;
+ test(query, 0e0, ds1) ;
+ }
+
// Population of one -> 0e0
- @Test public void agg_stat_size_one_2() {
- Query query = build("agg:stdevp(?x)", syntaxSPARQL_11) ;
+ @Test public void agg_stat_var_pop_size_one() {
+ Query query = build("agg:var_pop(?x)", syntaxSPARQL_11) ;
test(query, 0e0, ds1) ;
}
+ // By keyword
+
+
+
private static void test(String qsAgg, double expected, Syntax syntax) {
test(qsAgg, expected, syntax, ds) ;
}