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 2011/09/23 14:32:52 UTC

svn commit: r1174705 - in /incubator/jena/Jena2/ARQ/trunk: src-dev/dev/RunARQ.java src/arq/cmdline/CmdLineArgs.java src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java src/org/openjena/riot/system/PrefixMap.java

Author: andy
Date: Fri Sep 23 12:32:51 2011
New Revision: 1174705

URL: http://svn.apache.org/viewvc?rev=1174705&view=rev
Log:
Tidy up.

Modified:
    incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java
    incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java
    incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java
    incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/PrefixMap.java

Modified: incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java?rev=1174705&r1=1174704&r2=1174705&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-dev/dev/RunARQ.java Fri Sep 23 12:32:51 2011
@@ -9,8 +9,6 @@
 package dev;
 
 import java.io.FileInputStream ;
-import java.io.FileNotFoundException ;
-import java.io.IOException ;
 import java.io.InputStream ;
 import java.util.Iterator ;
 import java.util.NoSuchElementException ;
@@ -24,13 +22,11 @@ import org.openjena.atlas.json.JSON ;
 import org.openjena.atlas.json.JsonValue ;
 import org.openjena.atlas.lib.Lib ;
 import org.openjena.atlas.lib.Sink ;
-import org.openjena.atlas.lib.SinkNull ;
 import org.openjena.atlas.lib.StrUtils ;
 import org.openjena.atlas.logging.Log ;
 import org.openjena.riot.ErrorHandlerFactory ;
 import org.openjena.riot.RiotReader ;
 import org.openjena.riot.checker.CheckerIRI ;
-import org.openjena.riot.lang.LangRIOT ;
 import org.openjena.riot.pipeline.normalize.CanonicalizeLiteral ;
 import org.openjena.riot.tokens.Token ;
 import org.openjena.riot.tokens.Tokenizer ;
@@ -62,7 +58,6 @@ import com.hp.hpl.jena.sparql.algebra.Al
 import com.hp.hpl.jena.sparql.algebra.Op ;
 import com.hp.hpl.jena.sparql.core.DatasetGraph ;
 import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
-import com.hp.hpl.jena.sparql.core.Quad ;
 import com.hp.hpl.jena.sparql.core.assembler.AssemblerUtils ;
 import com.hp.hpl.jena.sparql.core.assembler.DatasetAssemblerVocab ;
 import com.hp.hpl.jena.sparql.engine.ExecutionContext ;
@@ -124,28 +119,9 @@ public class RunARQ
     @SuppressWarnings("deprecation")
     public static void main(String[] argv) throws Exception
     {
-
-        Sink<Quad> sink = new SinkNull<Quad>() ;
-
-        FileInputStream fis = null;
-
-        LangRIOT parser = null;
-        try {
-            fis = new FileInputStream("/home/afs/Desktop/X") ; // ("/absolute/path/to/nquads-chunk");
-            parser = RiotReader.createParserNQuads(fis, sink);
-            parser.parse();
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        } finally {
-            try {
-                fis.close();
-            } catch (IOException e) {
-                e.printStackTrace();
-            }
-        }
-
-        exit(0) ;
-        arq.sparql.main("--data=D.ttl", "--query=Q1.rq") ;
+        String DIR = "testing/ARQ/GroupBy/" ;
+        
+        arq.sparql.main("-v", "--data="+DIR+"data-1.ttl", "--query="+DIR+"count-05.arq") ;
         exit(0) ;
         
         

Modified: incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java?rev=1174705&r1=1174704&r2=1174705&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/arq/cmdline/CmdLineArgs.java Fri Sep 23 12:32:51 2011
@@ -27,7 +27,6 @@ public class CmdLineArgs extends Command
     public CmdLineArgs(String[] args)
     {
         super(args) ;
-       
     }
 
     private boolean processedArgs = false ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java?rev=1174705&r1=1174704&r2=1174705&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/com/hp/hpl/jena/sparql/engine/iterator/QueryIterGroup.java Fri Sep 23 12:32:51 2011
@@ -8,10 +8,8 @@ package com.hp.hpl.jena.sparql.engine.it
 
 import java.util.ArrayList ;
 import java.util.Collection ;
-import java.util.HashSet ;
 import java.util.Iterator ;
 import java.util.List ;
-import java.util.Set ;
 
 import org.openjena.atlas.iterator.IteratorDelayedInitialization ;
 import org.openjena.atlas.lib.MultiMap ;
@@ -40,7 +38,7 @@ public class QueryIterGroup extends Quer
     {
         super(null, execCxt) ;
         this.embeddedIterator = qIter;
-        Iterator<Binding> iter = calcNEW(qIter, groupVars, aggregators, execCxt) ;
+        Iterator<Binding> iter = calc(qIter, groupVars, aggregators, execCxt) ;
         setIterator(iter) ;
     }
 
@@ -59,7 +57,7 @@ public class QueryIterGroup extends Quer
 	private static Pair<Var, Accumulator> placeholder = Pair.create((Var)null, (Accumulator)null) ; 
 	
     
-    private static Iterator<Binding> calcNEW(final QueryIterator iter, 
+    private static Iterator<Binding> calc(final QueryIterator iter, 
                                           final VarExprList groupVarExpr, final List<ExprAggregator> aggregators,
                                           final ExecutionContext execCxt)
     {
@@ -169,113 +167,6 @@ public class QueryIterGroup extends Quer
         };
     }
     
-
-    // Phase 1 : Consume the input iterator, assigning groups (keys) 
-    //           and push rows through the aggregator function. 
-    
-    // Phase 2 : Go over the group bindings and assign the value of each aggregation.
-    
-    private static Iterator<Binding> calcOLD(final QueryIterator iter, 
-                                          final VarExprList groupVarExpr, final List<ExprAggregator> aggregators,
-                                          final ExecutionContext execCxt)
-    {
-    	return new IteratorDelayedInitialization<Binding>() {
-    		@Override
-            protected Iterator<Binding> initializeIterator() {
-
-    		    // Phase 1 : assign bindings to buckets by key and pump through the aggregrators.
-    		    Set<Binding> buckets = new HashSet<Binding>() ;    
-
-    		    for ( ; iter.hasNext() ; )
-    		    {
-    		        Binding b = iter.nextBinding() ;
-    		        Binding key = genKey(groupVarExpr, b, execCxt) ;
-
-    		        // Assumes key binding has value based .equals/.hashCode. 
-    		        if ( ! buckets.contains(key) )
-    		            buckets.add(key) ;
-
-    		        // Assumes an aggregator is a per-execution mutable thingy
-    		        if ( aggregators != null )
-    		        {
-    		            for ( Iterator<ExprAggregator> aggIter = aggregators.iterator() ; aggIter.hasNext() ; )
-    		            {
-    		                ExprAggregator agg = aggIter.next();
-    		                agg.getAggregator().accumulate(key, b, execCxt) ;
-    		            }
-    		        }
-    		    }
-
-    		    // Phase 2 : Empty input
-
-    		    // If there are no binding from the input stage, two things can happen.
-    		    //   If there are no aggregators, there are no groups.
-    		    //   If there are aggregators, then they may have a default value. 
-
-    		    if ( buckets.isEmpty() )
-    		    {
-    		        // The answer of an empty pattern. 
-    		        boolean valueExists = false ;
-    		        BindingMap binding = BindingFactory.create() ;
-
-    		        if ( aggregators != null )
-    		        {
-    		            for ( Iterator<ExprAggregator> aggIter = aggregators.iterator() ; aggIter.hasNext() ; )
-    		            {
-    		                ExprAggregator agg = aggIter.next();
-    		                Var v = agg.getVar() ;
-    		                Node value = agg.getAggregator().getValueEmpty() ;
-    		                if ( value != null )
-    		                {
-    		                    binding.add(v, value) ;
-    		                    valueExists = true ;
-    		                }
-    		                else
-    		                    // One row of nothing.
-    		                    valueExists = true ;
-    		            }
-    		        }
-    		            
-    		        if ( valueExists )
-    		            return  QueryIterSingleton.create(binding, execCxt) ;
-    		        else 
-    		            return new QueryIterNullIterator(execCxt) ;
-    		            
-    		    }
-
-    		    // Phase 2 : There was input and so there are some groups.
-    		    // For each bucket, get binding, add aggregator values to the binding.
-    		    if ( aggregators != null )
-    		    {
-                    List<Binding> results = new ArrayList<Binding>() ;
-    		        for ( Iterator<Binding> bIter = buckets.iterator() ; bIter.hasNext(); )
-    		        {
-    		            Binding key = bIter.next();
-
-    		            // Maybe null
-    		            BindingMap binding = BindingFactory.create(key) ;
-
-    		            for ( Iterator<ExprAggregator> aggIter = aggregators.iterator() ; aggIter.hasNext() ; )
-    		            {
-    		                ExprAggregator agg = aggIter.next();
-    		                Var v = agg.getVar() ;
-    		                Node value =  agg.getAggregator().getValue(key) ;
-    		                if ( value != null )
-    		                    // Extend with the aggregations.
-    		                    binding.add(v, value) ;
-    		            }
-    		            results.add(binding) ;
-    		            // the values are in binding
-    		        }
-    		        return results.iterator() ;
-    		    }
-    		    else
-    		        return buckets.iterator() ;
-    		}
-    	};
-    	
-    }
-    
     static private Binding genKey(VarExprList vars, Binding binding, ExecutionContext execCxt) 
     {
         return copyProject(vars, binding, execCxt) ;

Modified: incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/PrefixMap.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/PrefixMap.java?rev=1174705&r1=1174704&r2=1174705&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/PrefixMap.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/org/openjena/riot/system/PrefixMap.java Fri Sep 23 12:32:51 2011
@@ -103,7 +103,7 @@ public class PrefixMap
             String prefix = e.getValue().toString() ;
             
             if ( uriStr.startsWith(prefix) )
-                return new Pair<String, String>(e.getKey(), uriStr.substring(prefix.length())) ;
+                return Pair.create(e.getKey(), uriStr.substring(prefix.length())) ;
         }
         return null ;
     }