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