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) ;
     }