http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloInstall.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloInstall.java b/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloInstall.java index e5a8f50..7db7562 100644 --- a/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloInstall.java +++ b/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloInstall.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -20,8 +20,6 @@ package org.apache.rya.api.client.accumulo; import static java.util.Objects.requireNonNull; -import java.util.Date; - import org.apache.accumulo.core.client.AccumuloException; import org.apache.accumulo.core.client.AccumuloSecurityException; import org.apache.accumulo.core.client.Connector; @@ -47,8 +45,8 @@ import org.apache.rya.indexing.external.PrecomputedJoinIndexerConfig.Precomputed import org.apache.rya.indexing.external.PrecomputedJoinIndexerConfig.PrecomputedJoinUpdaterType; import org.apache.rya.rdftriplestore.inference.InferenceEngineException; import org.apache.rya.sail.config.RyaSailFactory; -import org.openrdf.sail.Sail; -import org.openrdf.sail.SailException; +import org.eclipse.rdf4j.sail.Sail; +import org.eclipse.rdf4j.sail.SailException; import com.google.common.base.Optional; @@ -164,9 +162,9 @@ public class AccumuloInstall extends AccumuloCommand implements Install { // Statistics values. .setProspectorDetails( - new ProspectorDetails(Optional.<Date>absent()) ) + new ProspectorDetails(Optional.absent()) ) .setJoinSelectivityDetails( - new JoinSelectivityDetails(Optional.<Date>absent()) ) + new JoinSelectivityDetails(Optional.absent()) ) .build(); // Initialize the table.
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatements.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatements.java b/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatements.java index 9556bcf..6635b8b 100644 --- a/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatements.java +++ b/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatements.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -32,12 +32,12 @@ import org.apache.rya.api.client.RyaClientException; import org.apache.rya.api.persist.RyaDAOException; import org.apache.rya.rdftriplestore.inference.InferenceEngineException; import org.apache.rya.sail.config.RyaSailFactory; -import org.openrdf.model.Statement; -import org.openrdf.repository.RepositoryException; -import org.openrdf.repository.sail.SailRepository; -import org.openrdf.repository.sail.SailRepositoryConnection; -import org.openrdf.sail.Sail; -import org.openrdf.sail.SailException; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.repository.RepositoryException; +import org.eclipse.rdf4j.repository.sail.SailRepository; +import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection; +import org.eclipse.rdf4j.sail.Sail; +import org.eclipse.rdf4j.sail.SailException; import edu.umd.cs.findbugs.annotations.DefaultAnnotation; import edu.umd.cs.findbugs.annotations.NonNull; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatementsFile.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatementsFile.java b/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatementsFile.java index 182432a..61e5717 100644 --- a/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatementsFile.java +++ b/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloLoadStatementsFile.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -35,14 +35,14 @@ import org.apache.rya.api.client.RyaClientException; import org.apache.rya.api.persist.RyaDAOException; import org.apache.rya.rdftriplestore.inference.InferenceEngineException; import org.apache.rya.sail.config.RyaSailFactory; -import org.openrdf.repository.RepositoryException; -import org.openrdf.repository.sail.SailRepository; -import org.openrdf.repository.sail.SailRepositoryConnection; -import org.openrdf.rio.RDFFormat; -import org.openrdf.rio.RDFParseException; -import org.openrdf.rio.UnsupportedRDFormatException; -import org.openrdf.sail.Sail; -import org.openrdf.sail.SailException; +import org.eclipse.rdf4j.repository.RepositoryException; +import org.eclipse.rdf4j.repository.sail.SailRepository; +import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection; +import org.eclipse.rdf4j.rio.RDFFormat; +import org.eclipse.rdf4j.rio.RDFParseException; +import org.eclipse.rdf4j.rio.UnsupportedRDFormatException; +import org.eclipse.rdf4j.sail.Sail; +import org.eclipse.rdf4j.sail.SailException; import edu.umd.cs.findbugs.annotations.DefaultAnnotation; import edu.umd.cs.findbugs.annotations.NonNull; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoBatchUpdatePCJ.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoBatchUpdatePCJ.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoBatchUpdatePCJ.java index 3fe99ef..115d3f8 100644 --- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoBatchUpdatePCJ.java +++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoBatchUpdatePCJ.java @@ -51,19 +51,19 @@ import org.apache.rya.mongodb.MongoDBRdfConfiguration; import org.apache.rya.mongodb.instance.MongoRyaInstanceDetailsRepository; import org.apache.rya.rdftriplestore.inference.InferenceEngineException; import org.apache.rya.sail.config.RyaSailFactory; -import org.openrdf.query.BindingSet; -import org.openrdf.query.MalformedQueryException; -import org.openrdf.query.QueryEvaluationException; -import org.openrdf.query.QueryLanguage; -import org.openrdf.query.TupleQuery; -import org.openrdf.query.TupleQueryResultHandlerBase; -import org.openrdf.query.TupleQueryResultHandlerException; -import org.openrdf.repository.RepositoryException; -import org.openrdf.repository.sail.SailRepository; -import org.openrdf.repository.sail.SailRepositoryConnection; -import org.openrdf.sail.Sail; -import org.openrdf.sail.SailConnection; -import org.openrdf.sail.SailException; +import org.eclipse.rdf4j.query.AbstractTupleQueryResultHandler; +import org.eclipse.rdf4j.query.BindingSet; +import org.eclipse.rdf4j.query.MalformedQueryException; +import org.eclipse.rdf4j.query.QueryEvaluationException; +import org.eclipse.rdf4j.query.QueryLanguage; +import org.eclipse.rdf4j.query.TupleQuery; +import org.eclipse.rdf4j.query.TupleQueryResultHandlerException; +import org.eclipse.rdf4j.repository.RepositoryException; +import org.eclipse.rdf4j.repository.sail.SailRepository; +import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection; +import org.eclipse.rdf4j.sail.Sail; +import org.eclipse.rdf4j.sail.SailConnection; +import org.eclipse.rdf4j.sail.SailException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -161,7 +161,7 @@ public class MongoBatchUpdatePCJ implements BatchUpdatePCJ { // Execute the query. final List<VisibilityBindingSet> batch = new ArrayList<>(1000); - tupleQuery.evaluate(new TupleQueryResultHandlerBase() { + tupleQuery.evaluate(new AbstractTupleQueryResultHandler() { @Override public void handleSolution(final BindingSet bindingSet) throws TupleQueryResultHandlerException { final VisibilityBindingSet result = new VisibilityBindingSet(bindingSet, ""); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQuery.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQuery.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQuery.java index 7ce396e..b0a31e2 100644 --- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQuery.java +++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQuery.java @@ -32,16 +32,16 @@ import org.apache.rya.api.persist.RyaDAOException; import org.apache.rya.mongodb.MongoDBRdfConfiguration; import org.apache.rya.rdftriplestore.inference.InferenceEngineException; import org.apache.rya.sail.config.RyaSailFactory; -import org.openrdf.query.MalformedQueryException; -import org.openrdf.query.QueryEvaluationException; -import org.openrdf.query.QueryLanguage; -import org.openrdf.query.TupleQuery; -import org.openrdf.query.TupleQueryResult; -import org.openrdf.repository.RepositoryException; -import org.openrdf.repository.sail.SailRepository; -import org.openrdf.repository.sail.SailRepositoryConnection; -import org.openrdf.sail.Sail; -import org.openrdf.sail.SailException; +import org.eclipse.rdf4j.query.MalformedQueryException; +import org.eclipse.rdf4j.query.QueryEvaluationException; +import org.eclipse.rdf4j.query.QueryLanguage; +import org.eclipse.rdf4j.query.TupleQuery; +import org.eclipse.rdf4j.query.TupleQueryResult; +import org.eclipse.rdf4j.repository.RepositoryException; +import org.eclipse.rdf4j.repository.sail.SailRepository; +import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection; +import org.eclipse.rdf4j.sail.Sail; +import org.eclipse.rdf4j.sail.SailException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java index 264dd78..359341d 100644 --- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java +++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java @@ -43,8 +43,8 @@ import org.apache.rya.mongodb.MongoDBRdfConfiguration; import org.apache.rya.mongodb.instance.MongoRyaInstanceDetailsRepository; import org.apache.rya.rdftriplestore.inference.InferenceEngineException; import org.apache.rya.sail.config.RyaSailFactory; -import org.openrdf.sail.Sail; -import org.openrdf.sail.SailException; +import org.eclipse.rdf4j.sail.Sail; +import org.eclipse.rdf4j.sail.SailException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatements.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatements.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatements.java index 8c9e0b5..8204f14 100644 --- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatements.java +++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatements.java @@ -30,12 +30,12 @@ import org.apache.rya.api.persist.RyaDAOException; import org.apache.rya.mongodb.MongoDBRdfConfiguration; import org.apache.rya.rdftriplestore.inference.InferenceEngineException; import org.apache.rya.sail.config.RyaSailFactory; -import org.openrdf.model.Statement; -import org.openrdf.repository.RepositoryException; -import org.openrdf.repository.sail.SailRepository; -import org.openrdf.repository.sail.SailRepositoryConnection; -import org.openrdf.sail.Sail; -import org.openrdf.sail.SailException; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.repository.RepositoryException; +import org.eclipse.rdf4j.repository.sail.SailRepository; +import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection; +import org.eclipse.rdf4j.sail.Sail; +import org.eclipse.rdf4j.sail.SailException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatementsFile.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatementsFile.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatementsFile.java index 244d02a..4dd79fa 100644 --- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatementsFile.java +++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoLoadStatementsFile.java @@ -33,13 +33,13 @@ import org.apache.rya.api.persist.RyaDAOException; import org.apache.rya.mongodb.MongoDBRdfConfiguration; import org.apache.rya.rdftriplestore.inference.InferenceEngineException; import org.apache.rya.sail.config.RyaSailFactory; -import org.openrdf.repository.RepositoryException; -import org.openrdf.repository.sail.SailRepository; -import org.openrdf.repository.sail.SailRepositoryConnection; -import org.openrdf.rio.RDFFormat; -import org.openrdf.rio.RDFParseException; -import org.openrdf.sail.Sail; -import org.openrdf.sail.SailException; +import org.eclipse.rdf4j.repository.RepositoryException; +import org.eclipse.rdf4j.repository.sail.SailRepository; +import org.eclipse.rdf4j.repository.sail.SailRepositoryConnection; +import org.eclipse.rdf4j.rio.RDFFormat; +import org.eclipse.rdf4j.rio.RDFParseException; +import org.eclipse.rdf4j.sail.Sail; +import org.eclipse.rdf4j.sail.SailException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/DocIdIndexer.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/DocIdIndexer.java b/extras/indexing/src/main/java/org/apache/rya/indexing/DocIdIndexer.java index 42064f7..9f6eb78 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/DocIdIndexer.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/DocIdIndexer.java @@ -19,29 +19,26 @@ package org.apache.rya.indexing; * under the License. */ - -import info.aduna.iteration.CloseableIteration; - import java.io.Closeable; import java.io.IOException; import java.util.Collection; -import org.apache.rya.indexing.accumulo.entity.StarQuery; - import org.apache.accumulo.core.client.TableNotFoundException; -import org.openrdf.query.BindingSet; -import org.openrdf.query.QueryEvaluationException; +import org.apache.rya.indexing.accumulo.entity.StarQuery; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; +import org.eclipse.rdf4j.query.BindingSet; +import org.eclipse.rdf4j.query.QueryEvaluationException; public interface DocIdIndexer extends Closeable { - public abstract CloseableIteration<BindingSet, QueryEvaluationException> queryDocIndex(StarQuery query, + public CloseableIteration<BindingSet, QueryEvaluationException> queryDocIndex(StarQuery query, Collection<BindingSet> constraints) throws TableNotFoundException, QueryEvaluationException; @Override - public abstract void close() throws IOException; + public void close() throws IOException; } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/FilterFunctionOptimizer.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/FilterFunctionOptimizer.java b/extras/indexing/src/main/java/org/apache/rya/indexing/FilterFunctionOptimizer.java index 6c4e05b..d5653a0 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/FilterFunctionOptimizer.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/FilterFunctionOptimizer.java @@ -19,10 +19,10 @@ package org.apache.rya.indexing; * under the License. */ - import java.io.IOException; import java.net.UnknownHostException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.List; @@ -42,33 +42,32 @@ import org.apache.rya.indexing.accumulo.freetext.FreeTextTupleSet; import org.apache.rya.indexing.accumulo.temporal.AccumuloTemporalIndexer; import org.apache.rya.mongodb.MongoSecondaryIndex; import org.apache.rya.mongodb.StatefulMongoDBRdfConfiguration; -import org.openrdf.model.Resource; -import org.openrdf.model.URI; -import org.openrdf.model.Value; -import org.openrdf.model.ValueFactory; -import org.openrdf.model.impl.URIImpl; -import org.openrdf.model.impl.ValueFactoryImpl; -import org.openrdf.query.BindingSet; -import org.openrdf.query.Dataset; -import org.openrdf.query.algebra.And; -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.FunctionCall; -import org.openrdf.query.algebra.Join; -import org.openrdf.query.algebra.LeftJoin; -import org.openrdf.query.algebra.QueryModelNode; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.ValueConstant; -import org.openrdf.query.algebra.ValueExpr; -import org.openrdf.query.algebra.Var; -import org.openrdf.query.algebra.evaluation.QueryOptimizer; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Resource; +import org.eclipse.rdf4j.model.Value; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; +import org.eclipse.rdf4j.query.BindingSet; +import org.eclipse.rdf4j.query.Dataset; +import org.eclipse.rdf4j.query.algebra.And; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.FunctionCall; +import org.eclipse.rdf4j.query.algebra.Join; +import org.eclipse.rdf4j.query.algebra.LeftJoin; +import org.eclipse.rdf4j.query.algebra.QueryModelNode; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.ValueConstant; +import org.eclipse.rdf4j.query.algebra.ValueExpr; +import org.eclipse.rdf4j.query.algebra.Var; +import org.eclipse.rdf4j.query.algebra.evaluation.QueryOptimizer; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; import com.google.common.collect.Lists; public class FilterFunctionOptimizer implements QueryOptimizer, Configurable { private static final Logger LOG = Logger.getLogger(FilterFunctionOptimizer.class); - private final ValueFactory valueFactory = new ValueFactoryImpl(); + private static final ValueFactory VF = SimpleValueFactory.getInstance(); private Configuration conf; private FreeTextIndexer freeTextIndexer; @@ -157,18 +156,18 @@ public class FilterFunctionOptimizer implements QueryOptimizer, Configurable { tupleExpr.visit(fVisitor); final List<IndexingExpr> results = Lists.newArrayList(); for(int i = 0; i < fVisitor.func.size(); i++){ - results.add(new IndexingExpr(fVisitor.func.get(i), matchStatement, fVisitor.args.get(i))); + results.add(new IndexingExpr(fVisitor.func.get(i), matchStatement, Arrays.stream(fVisitor.args.get(i)).toArray())); } removeMatchedPattern(tupleExpr, matchStatement, new IndexerExprReplacer(results)); } //find vars contained in filters - private static class SearchVarVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class SearchVarVisitor extends AbstractQueryModelVisitor<RuntimeException> { private final Collection<Var> searchProperties = new ArrayList<>(); @Override public void meet(final FunctionCall fn) { - final URI fun = new URIImpl(fn.getURI()); + final IRI fun = VF.createIRI(fn.getURI()); final Var result = IndexingFunctionRegistry.getResultVarFromFunctionCall(fun, fn.getArgs()); if (result != null && !searchProperties.contains(result)) { searchProperties.add(result); @@ -177,7 +176,7 @@ public class FilterFunctionOptimizer implements QueryOptimizer, Configurable { } //find StatementPatterns containing filter variables - private static class MatchStatementVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class MatchStatementVisitor extends AbstractQueryModelVisitor<RuntimeException> { private final Collection<Var> propertyVars; private final Collection<Var> usedVars = new ArrayList<>(); private final List<StatementPattern> matchStatements = new ArrayList<>(); @@ -199,16 +198,16 @@ public class FilterFunctionOptimizer implements QueryOptimizer, Configurable { } } - private abstract class AbstractEnhanceVisitor extends QueryModelVisitorBase<RuntimeException> { + private abstract class AbstractEnhanceVisitor extends AbstractQueryModelVisitor<RuntimeException> { final String matchVar; - List<URI> func = Lists.newArrayList(); + List<IRI> func = Lists.newArrayList(); List<Value[]> args = Lists.newArrayList(); public AbstractEnhanceVisitor(final String matchVar) { this.matchVar = matchVar; } - protected void addFilter(final URI uri, final Value[] values) { + protected void addFilter(final IRI uri, final Value[] values) { func.add(uri); args.add(values); } @@ -223,12 +222,12 @@ public class FilterFunctionOptimizer implements QueryOptimizer, Configurable { @Override public void meet(final FunctionCall call) { - final URI fnUri = valueFactory.createURI(call.getURI()); + final IRI fnUri = VF.createIRI(call.getURI()); final Var resultVar = IndexingFunctionRegistry.getResultVarFromFunctionCall(fnUri, call.getArgs()); if (resultVar != null && resultVar.getName().equals(matchVar)) { - addFilter(valueFactory.createURI(call.getURI()), extractArguments(matchVar, call)); + addFilter(VF.createIRI(call.getURI()), extractArguments(matchVar, call)); if (call.getParentNode() instanceof Filter || call.getParentNode() instanceof And || call.getParentNode() instanceof LeftJoin) { - call.replaceWith(new ValueConstant(valueFactory.createLiteral(true))); + call.replaceWith(new ValueConstant(VF.createLiteral(true))); } else { throw new IllegalArgumentException("Query error: Found " + call + " as part of an expression that is too complex"); } @@ -292,7 +291,7 @@ public class FilterFunctionOptimizer implements QueryOptimizer, Configurable { public IndexerExprReplacer(final List<IndexingExpr> indxExpr) { this.indxExpr = indxExpr; - final URI func = indxExpr.get(0).getFunction(); + final IRI func = indxExpr.get(0).getFunction(); type = IndexingFunctionRegistry.getFunctionType(func); } @@ -317,7 +316,7 @@ public class FilterFunctionOptimizer implements QueryOptimizer, Configurable { } } - private static class VarExchangeVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class VarExchangeVisitor extends AbstractQueryModelVisitor<RuntimeException> { private final StatementPattern exchangeVar; public VarExchangeVisitor(final StatementPattern sp) { exchangeVar = sp; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/FreeTextIndexer.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/FreeTextIndexer.java b/extras/indexing/src/main/java/org/apache/rya/indexing/FreeTextIndexer.java index 4dbbde7..7745b01 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/FreeTextIndexer.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/FreeTextIndexer.java @@ -1,10 +1,3 @@ -package org.apache.rya.indexing; - -import java.io.IOException; - -import org.openrdf.model.Statement; -import org.openrdf.query.QueryEvaluationException; - /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -23,11 +16,14 @@ import org.openrdf.query.QueryEvaluationException; * specific language governing permissions and limitations * under the License. */ +package org.apache.rya.indexing; +import java.io.IOException; - -import info.aduna.iteration.CloseableIteration; import org.apache.rya.api.persist.index.RyaSecondaryIndexer; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.query.QueryEvaluationException; /** * A repository to store, index, and retrieve {@link Statement}s based on freetext features. @@ -44,5 +40,5 @@ public interface FreeTextIndexer extends RyaSecondaryIndexer { * @return the set of statements that meet the query and other constraints. * @throws IOException */ - public abstract CloseableIteration<Statement, QueryEvaluationException> queryText(String query, StatementConstraints contraints) throws IOException; + public CloseableIteration<Statement, QueryEvaluationException> queryText(String query, StatementConstraints contraints) throws IOException; } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/GeoConstants.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/GeoConstants.java b/extras/indexing/src/main/java/org/apache/rya/indexing/GeoConstants.java index 2cb8217..fc3402a 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/GeoConstants.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/GeoConstants.java @@ -19,29 +19,32 @@ package org.apache.rya.indexing; * under the License. */ -import org.openrdf.model.URI; -import org.openrdf.model.impl.URIImpl; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; /** * A set of URIs used in GeoSPARQL */ public class GeoConstants { + private static final ValueFactory VF = SimpleValueFactory.getInstance(); + public static final String NS_GEO = "http://www.opengis.net/ont/geosparql#"; public static final String NS_GEOF = "http://www.opengis.net/def/function/geosparql/"; - public static final URI XMLSCHEMA_OGC_WKT = new URIImpl(NS_GEO + "wktLiteral"); - public static final URI GEO_AS_WKT = new URIImpl(NS_GEO + "asWKT"); + public static final IRI XMLSCHEMA_OGC_WKT = VF.createIRI(NS_GEO + "wktLiteral"); + public static final IRI GEO_AS_WKT = VF.createIRI(NS_GEO + "asWKT"); - public static final URI XMLSCHEMA_OGC_GML = new URIImpl(NS_GEO + "gmlLiteral"); - public static final URI GEO_AS_GML = new URIImpl(NS_GEO + "asGML"); + public static final IRI XMLSCHEMA_OGC_GML = VF.createIRI(NS_GEO + "gmlLiteral"); + public static final IRI GEO_AS_GML = VF.createIRI(NS_GEO + "asGML"); - public static final URI GEO_SF_EQUALS = new URIImpl(NS_GEOF + "sfEquals"); - public static final URI GEO_SF_DISJOINT = new URIImpl(NS_GEOF + "sfDisjoint"); - public static final URI GEO_SF_INTERSECTS = new URIImpl(NS_GEOF + "sfIntersects"); - public static final URI GEO_SF_TOUCHES = new URIImpl(NS_GEOF + "sfTouches"); - public static final URI GEO_SF_CROSSES = new URIImpl(NS_GEOF + "sfCrosses"); - public static final URI GEO_SF_WITHIN = new URIImpl(NS_GEOF + "sfWithin"); - public static final URI GEO_SF_CONTAINS = new URIImpl(NS_GEOF + "sfContains"); - public static final URI GEO_SF_OVERLAPS = new URIImpl(NS_GEOF + "sfOverlaps"); - public static final URI GEO_SF_NEAR = new URIImpl(NS_GEOF + "sfNear"); + public static final IRI GEO_SF_EQUALS = VF.createIRI(NS_GEOF + "sfEquals"); + public static final IRI GEO_SF_DISJOINT = VF.createIRI(NS_GEOF + "sfDisjoint"); + public static final IRI GEO_SF_INTERSECTS = VF.createIRI(NS_GEOF + "sfIntersects"); + public static final IRI GEO_SF_TOUCHES = VF.createIRI(NS_GEOF + "sfTouches"); + public static final IRI GEO_SF_CROSSES = VF.createIRI(NS_GEOF + "sfCrosses"); + public static final IRI GEO_SF_WITHIN = VF.createIRI(NS_GEOF + "sfWithin"); + public static final IRI GEO_SF_CONTAINS = VF.createIRI(NS_GEOF + "sfContains"); + public static final IRI GEO_SF_OVERLAPS = VF.createIRI(NS_GEOF + "sfOverlaps"); + public static final IRI GEO_SF_NEAR = VF.createIRI(NS_GEOF + "sfNear"); } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ExternalIndexMatcher.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ExternalIndexMatcher.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ExternalIndexMatcher.java index 1acbe2f..d014ca8 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ExternalIndexMatcher.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ExternalIndexMatcher.java @@ -19,10 +19,9 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.Iterator; -import org.openrdf.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.TupleExpr; public interface ExternalIndexMatcher { http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/GeneralizedExternalProcessor.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/GeneralizedExternalProcessor.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/GeneralizedExternalProcessor.java index 9cda09e..121aa79 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/GeneralizedExternalProcessor.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/GeneralizedExternalProcessor.java @@ -19,10 +19,6 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - - - - import java.util.Collection; import java.util.HashSet; import java.util.List; @@ -30,17 +26,16 @@ import java.util.Set; import org.apache.rya.indexing.external.tupleSet.ExternalTupleSet; import org.apache.rya.indexing.pcj.matching.QueryVariableNormalizer.VarCollector; - -import org.openrdf.query.algebra.BindingSetAssignment; -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.Join; -import org.openrdf.query.algebra.Projection; -import org.openrdf.query.algebra.QueryModelNode; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.Var; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; -import org.openrdf.query.algebra.helpers.StatementPatternCollector; +import org.eclipse.rdf4j.query.algebra.BindingSetAssignment; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.Join; +import org.eclipse.rdf4j.query.algebra.Projection; +import org.eclipse.rdf4j.query.algebra.QueryModelNode; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.Var; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; +import org.eclipse.rdf4j.query.algebra.helpers.StatementPatternCollector; import com.google.common.collect.Lists; import com.google.common.collect.Sets; @@ -186,7 +181,7 @@ public class GeneralizedExternalProcessor { // moves StatementPatterns in query that also occur in index to bottom of // query tree. - private static class SPBubbleDownVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class SPBubbleDownVisitor extends AbstractQueryModelVisitor<RuntimeException> { private TupleExpr tuple; private QueryModelNode indexQNode; @@ -266,7 +261,7 @@ public class GeneralizedExternalProcessor { // element in the query tree that occurs in compSet with replacement and // returns // the element that was replaced. - private static class QNodeExchanger extends QueryModelVisitorBase<RuntimeException> { + private static class QNodeExchanger extends AbstractQueryModelVisitor<RuntimeException> { private QueryModelNode toBeReplaced; private QueryModelNode replacement; @@ -308,7 +303,7 @@ public class GeneralizedExternalProcessor { // SPBubbleDownVisitor has been called to position index StatementPatterns // within query tree. //could lead to problems if filter optimizer called before external processor - private static class FilterBubbleDownVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class FilterBubbleDownVisitor extends AbstractQueryModelVisitor<RuntimeException> { private QueryModelNode filter; private Set<QueryModelNode> compSet; @@ -380,7 +375,7 @@ public class GeneralizedExternalProcessor { // visitor which determines whether or not to reposition a filter by calling // FilterBubbleDownVisitor - private static class FilterBubbleManager extends QueryModelVisitorBase<RuntimeException> { + private static class FilterBubbleManager extends AbstractQueryModelVisitor<RuntimeException> { private TupleExpr tuple; private QueryModelNode indexQNode; @@ -436,7 +431,7 @@ public class GeneralizedExternalProcessor { // calling this method is that both SPBubbleDownVisitor and // FilterBubbleManager have been called // to position the StatementPatterns and Filters. - private static class SubsetEqualsVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class SubsetEqualsVisitor extends AbstractQueryModelVisitor<RuntimeException> { private TupleExpr tuple; private QueryModelNode indexQNode; @@ -524,7 +519,7 @@ public class GeneralizedExternalProcessor { // visitor which determines whether a query is valid (i.e. it does not // contain nodes other than // Projection, Join, Filter, StatementPattern ) - private static class ValidQueryVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class ValidQueryVisitor extends AbstractQueryModelVisitor<RuntimeException> { private boolean isValid = true; @@ -561,7 +556,7 @@ public class GeneralizedExternalProcessor { } // repositions ExternalTuples above StatementPatterns within query tree - private static class ExtTupleExchangeVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class ExtTupleExchangeVisitor extends AbstractQueryModelVisitor<RuntimeException> { private Set<QueryModelNode> extTuples; @@ -597,7 +592,7 @@ public class GeneralizedExternalProcessor { } - private static class ExternalTupleCollector extends QueryModelVisitorBase<RuntimeException> { + private static class ExternalTupleCollector extends AbstractQueryModelVisitor<RuntimeException> { private Set<QueryModelNode> eSet = new HashSet<QueryModelNode>(); @@ -615,7 +610,7 @@ public class GeneralizedExternalProcessor { } - private static class FilterCollector extends QueryModelVisitorBase<RuntimeException> { + private static class FilterCollector extends AbstractQueryModelVisitor<RuntimeException> { private List<QueryModelNode> filterList = Lists.newArrayList(); @@ -644,7 +639,7 @@ public class GeneralizedExternalProcessor { } // repositions ExternalTuples above StatementPatterns within query tree - private static class BindingSetAssignmentExchangeVisitor extends QueryModelVisitorBase<RuntimeException> { + private static class BindingSetAssignmentExchangeVisitor extends AbstractQueryModelVisitor<RuntimeException> { private Set<QueryModelNode> bsas; @@ -672,7 +667,7 @@ public class GeneralizedExternalProcessor { } - public static class BindingSetAssignmentCollector extends QueryModelVisitorBase<RuntimeException> { + public static class BindingSetAssignmentCollector extends AbstractQueryModelVisitor<RuntimeException> { private Set<QueryModelNode> bindingSetList = Sets.newHashSet(); @@ -694,7 +689,7 @@ public class GeneralizedExternalProcessor { - public static class QueryNodeCount extends QueryModelVisitorBase<RuntimeException> { + public static class QueryNodeCount extends AbstractQueryModelVisitor<RuntimeException> { private int nodeCount; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexPlanValidator.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexPlanValidator.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexPlanValidator.java index a5b4af2..f424f73 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexPlanValidator.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexPlanValidator.java @@ -19,20 +19,18 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.Iterator; import java.util.NoSuchElementException; import java.util.Set; import org.apache.rya.indexing.external.tupleSet.ExternalTupleSet; - -import org.openrdf.query.algebra.BindingSetAssignment; -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.Join; -import org.openrdf.query.algebra.Projection; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; +import org.eclipse.rdf4j.query.algebra.BindingSetAssignment; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.Join; +import org.eclipse.rdf4j.query.algebra.Projection; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; import com.google.common.collect.Sets; @@ -106,10 +104,8 @@ public class IndexPlanValidator implements TupleValidator { } isEmpty = true; return false; - } else if(isEmpty) { - return false; - }else { - return true; + } else { + return !isEmpty; } } @@ -150,17 +146,10 @@ public class IndexPlanValidator implements TupleValidator { //System.out.println("Left binding names are " + leftBindingNames + " and right binding names are " + rightBindingNames); if (Sets.intersection(leftBindingNames, rightBindingNames).size() == 0) { - if (omitCrossProd) { - return false; - } else { - return true; - } - + return !omitCrossProd; } else { if (join.getRightArg() instanceof ExternalTupleSet) { - return ((ExternalTupleSet) join.getRightArg()).supportsBindingSet(leftBindingNames); - } else { return true; } @@ -168,7 +157,7 @@ public class IndexPlanValidator implements TupleValidator { } - public class TupleValidateVisitor extends QueryModelVisitorBase<RuntimeException> { + public class TupleValidateVisitor extends AbstractQueryModelVisitor<RuntimeException> { private boolean isValid = true; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexTupleGenerator.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexTupleGenerator.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexTupleGenerator.java index 2e00cf5..fd4faab 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexTupleGenerator.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexTupleGenerator.java @@ -19,10 +19,9 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.Iterator; -import org.openrdf.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.TupleExpr; public interface IndexTupleGenerator { http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedExecutionPlanGenerator.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedExecutionPlanGenerator.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedExecutionPlanGenerator.java index 5683de5..34aa6ae 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedExecutionPlanGenerator.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedExecutionPlanGenerator.java @@ -19,15 +19,14 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; import org.apache.rya.indexing.external.tupleSet.ExternalTupleSet; import org.apache.rya.indexing.pcj.matching.QueryVariableNormalizer; -import org.openrdf.query.algebra.Projection; -import org.openrdf.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.Projection; +import org.eclipse.rdf4j.query.algebra.TupleExpr; import com.google.common.collect.Lists; @@ -70,10 +69,8 @@ public class IndexedExecutionPlanGenerator implements ExternalIndexMatcher { } isEmpty = true; return false; - } else if(isEmpty) { - return false; } else { - return true; + return !isEmpty; } } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedQueryPlanSelector.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedQueryPlanSelector.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedQueryPlanSelector.java index 1138fa7..974f616 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedQueryPlanSelector.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/IndexedQueryPlanSelector.java @@ -19,14 +19,13 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.Iterator; -import org.openrdf.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.TupleExpr; public interface IndexedQueryPlanSelector { - public TupleExpr getThreshholdQueryPlan(Iterator<TupleExpr> tupleList, double threshhold, + TupleExpr getThreshholdQueryPlan(Iterator<TupleExpr> tupleList, double threshhold, double indexWeight, double commonVarWeight, double dirProdWeight); } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ThreshholdPlanSelector.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ThreshholdPlanSelector.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ThreshholdPlanSelector.java index a260226..96f822f 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ThreshholdPlanSelector.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ThreshholdPlanSelector.java @@ -19,20 +19,19 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.Iterator; import java.util.Set; +import org.apache.rya.api.domain.VarNameUtils; import org.apache.rya.indexing.external.tupleSet.ExternalTupleSet; - -import org.openrdf.query.algebra.BindingSetAssignment; -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.Join; -import org.openrdf.query.algebra.Projection; -import org.openrdf.query.algebra.QueryModelNode; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; +import org.eclipse.rdf4j.query.algebra.BindingSetAssignment; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.Join; +import org.eclipse.rdf4j.query.algebra.Projection; +import org.eclipse.rdf4j.query.algebra.QueryModelNode; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; import com.google.common.collect.Sets; @@ -111,9 +110,9 @@ public class ThreshholdPlanSelector implements IndexedQueryPlanSelector { double dirProductScale; if(queryNodeCount > nodeCount) { - dirProductScale = 1/((double)(queryNodeCount - nodeCount)); + dirProductScale = 1/ (queryNodeCount - nodeCount); } else { - dirProductScale = 1/((double)(queryNodeCount - nodeCount + 1)); + dirProductScale = 1/ (queryNodeCount - nodeCount + 1); } double joinVarRatio; @@ -143,7 +142,7 @@ public class ThreshholdPlanSelector implements IndexedQueryPlanSelector { return cost; } - public static class QueryNodeCount extends QueryModelVisitorBase<RuntimeException> { + public static class QueryNodeCount extends AbstractQueryModelVisitor<RuntimeException> { private int nodeCount = 0; private int commonJoinVars = 0; @@ -210,13 +209,13 @@ public class ThreshholdPlanSelector implements IndexedQueryPlanSelector { Set<String> rNames = node.getRightArg().getAssuredBindingNames(); for(String s: node.getLeftArg().getBindingNames()) { - if(s.startsWith("-const-")) { + if (VarNameUtils.isConstant(s)) { lNames.remove(s); } } for(String s: node.getRightArg().getBindingNames()) { - if(s.startsWith("-const-")) { + if (VarNameUtils.isConstant(s)) { rNames.remove(s); } } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleExecutionPlanGenerator.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleExecutionPlanGenerator.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleExecutionPlanGenerator.java index a76e30d..78b1f92 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleExecutionPlanGenerator.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleExecutionPlanGenerator.java @@ -19,7 +19,6 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.Collection; import java.util.Iterator; import java.util.List; @@ -27,14 +26,14 @@ import java.util.NoSuchElementException; import java.util.Set; import org.apache.rya.indexing.external.tupleSet.ExternalTupleSet; -import org.openrdf.query.algebra.BindingSetAssignment; -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.Join; -import org.openrdf.query.algebra.Projection; -import org.openrdf.query.algebra.QueryModelNode; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; +import org.eclipse.rdf4j.query.algebra.BindingSetAssignment; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.Join; +import org.eclipse.rdf4j.query.algebra.Projection; +import org.eclipse.rdf4j.query.algebra.QueryModelNode; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; import com.google.common.collect.Collections2; import com.google.common.collect.Lists; @@ -77,10 +76,8 @@ public class TupleExecutionPlanGenerator implements IndexTupleGenerator { isEmpty = true; return false; } - } else if (isEmpty) { - return false; } else { - return true; + return !isEmpty; } } @@ -167,7 +164,7 @@ public class TupleExecutionPlanGenerator implements IndexTupleGenerator { } - public static class NodeCollector extends QueryModelVisitorBase<RuntimeException> { + public static class NodeCollector extends AbstractQueryModelVisitor<RuntimeException> { private final Set<QueryModelNode> nodeSet = Sets.newHashSet(); private final List<Filter> filterSet = Lists.newArrayList(); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleReArranger.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleReArranger.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleReArranger.java index 773481a..f4cbc9c 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleReArranger.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleReArranger.java @@ -19,7 +19,6 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.Iterator; import java.util.List; import java.util.Map; @@ -28,21 +27,21 @@ import java.util.NoSuchElementException; import org.apache.rya.indexing.external.tupleSet.ExternalTupleSet; import org.apache.rya.rdftriplestore.inference.DoNotExpandSP; import org.apache.rya.rdftriplestore.utils.FixedStatementPattern; - -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.Join; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.Join; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; import com.google.common.collect.Collections2; import com.google.common.collect.Lists; import com.google.common.collect.Maps; - -//A given TupleExpr can be broken up into "join segments", which are sections of the TupleExpr where nodes can -//be freely exchanged. This class creates a list of permuted TupleExpr from a specified TupleExpr by permuting the nodes -//in each join segment. +/** + * A given TupleExpr can be broken up into "join segments", which are sections of the TupleExpr where nodes can + * be freely exchanged. This class creates a list of permuted TupleExpr from a specified TupleExpr by permuting the nodes + * in each join segment. + */ public class TupleReArranger { private static Map<Join, List<List<TupleExpr>>> joinArgs; @@ -81,10 +80,8 @@ public class TupleReArranger { isEmpty = true; return false; } - } else if (isEmpty) { - return false; } else { - return true; + return !isEmpty; } } @@ -186,7 +183,7 @@ public class TupleReArranger { //creates a map which associates each first join of a TupleExpr join segment with all permutations of //the non-join nodes after it. More specifically, each join is associated with a list of TupleExpr //lists, where each list represents an ordering of the non-join nodes following the associated join - private static class NodeCollector extends QueryModelVisitorBase<RuntimeException> { + private static class NodeCollector extends AbstractQueryModelVisitor<RuntimeException> { private static List<Filter> filterList; @@ -241,7 +238,7 @@ public class TupleReArranger { //for a given reOrder map, searches through TupleExpr and places each reordered collection //of nodes at appropriate join - private static class PermInserter extends QueryModelVisitorBase<RuntimeException> { + private static class PermInserter extends AbstractQueryModelVisitor<RuntimeException> { private Map<Join, List<TupleExpr>> reOrderMap = Maps.newHashMap(); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleValidator.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleValidator.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleValidator.java index 699b438..c8fdabc 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleValidator.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/TupleValidator.java @@ -19,10 +19,9 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.Iterator; -import org.openrdf.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.TupleExpr; public interface TupleValidator { http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ValidIndexCombinationGenerator.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ValidIndexCombinationGenerator.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ValidIndexCombinationGenerator.java index 3aac2f7..92a4678 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ValidIndexCombinationGenerator.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/ValidIndexCombinationGenerator.java @@ -26,11 +26,11 @@ import java.util.NoSuchElementException; import java.util.Set; import org.apache.rya.indexing.external.tupleSet.ExternalTupleSet; -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.QueryModelNode; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.QueryModelNode; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; import com.google.common.base.Joiner; import com.google.common.collect.Lists; @@ -86,10 +86,8 @@ public class ValidIndexCombinationGenerator { } - } else if (isEmpty) { - return false; } else { - return true; + return !isEmpty; } } @@ -153,10 +151,8 @@ public class ValidIndexCombinationGenerator { isEmpty = true; return false; - } else if (isEmpty) { - return false; } else { - return true; + return !isEmpty; } } @@ -228,10 +224,8 @@ public class ValidIndexCombinationGenerator { return true; } - } else if (isEmpty) { - return false; } else { - return true; + return !isEmpty; } } @@ -304,10 +298,8 @@ public class ValidIndexCombinationGenerator { } } - } else if (isEmpty) { - return false; } else { - return true; + return !isEmpty; } } @@ -432,7 +424,7 @@ public class ValidIndexCombinationGenerator { } private static class SpFilterCollector extends - QueryModelVisitorBase<RuntimeException> { + AbstractQueryModelVisitor<RuntimeException> { private Set<QueryModelNode> spFilterSet = Sets.newHashSet(); http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/VarConstantIndexListPruner.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/VarConstantIndexListPruner.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/VarConstantIndexListPruner.java index 67cf7d6..c970b0e 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/VarConstantIndexListPruner.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexPlanValidator/VarConstantIndexListPruner.java @@ -19,20 +19,18 @@ package org.apache.rya.indexing.IndexPlanValidator; * under the License. */ - import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; import org.apache.rya.indexing.external.tupleSet.ExternalTupleSet; - -import org.openrdf.query.algebra.Filter; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.ValueConstant; -import org.openrdf.query.algebra.Var; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; +import org.eclipse.rdf4j.query.algebra.Filter; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.TupleExpr; +import org.eclipse.rdf4j.query.algebra.ValueConstant; +import org.eclipse.rdf4j.query.algebra.Var; +import org.eclipse.rdf4j.query.algebra.helpers.AbstractQueryModelVisitor; import com.google.common.collect.Maps; import com.google.common.collect.Sets; @@ -96,7 +94,7 @@ public class VarConstantIndexListPruner implements IndexListPruner { } - private static class ConstantCollector extends QueryModelVisitorBase<RuntimeException> { + private static class ConstantCollector extends AbstractQueryModelVisitor<RuntimeException> { private Map<String, Integer> constantMap = Maps.newHashMap(); private int spCount = 0; http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingExpr.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingExpr.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingExpr.java index f919b18..71beea8 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingExpr.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingExpr.java @@ -19,29 +19,27 @@ package org.apache.rya.indexing; * under the License. */ - import java.util.Set; -import org.openrdf.model.URI; -import org.openrdf.model.Value; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.Var; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.Var; import com.google.common.collect.Sets; public class IndexingExpr { - private final URI function; + private final IRI function; private final Object[] arguments; private final StatementPattern spConstraint; - public IndexingExpr(URI function, StatementPattern spConstraint, Object... arguments) { + public IndexingExpr(IRI function, StatementPattern spConstraint, Object... arguments) { this.function = function; this.arguments = arguments; this.spConstraint = spConstraint; } - public URI getFunction() { + public IRI getFunction() { return function; } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingFunctionRegistry.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingFunctionRegistry.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingFunctionRegistry.java index 37f7116..9722fd9 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingFunctionRegistry.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IndexingFunctionRegistry.java @@ -19,39 +19,38 @@ package org.apache.rya.indexing; * under the License. */ - import java.util.List; import java.util.Map; import java.util.Set; -import org.openrdf.model.URI; -import org.openrdf.model.impl.URIImpl; -import org.openrdf.query.algebra.ValueConstant; -import org.openrdf.query.algebra.ValueExpr; -import org.openrdf.query.algebra.Var; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; +import org.eclipse.rdf4j.query.algebra.ValueConstant; +import org.eclipse.rdf4j.query.algebra.ValueExpr; +import org.eclipse.rdf4j.query.algebra.Var; import com.google.common.collect.Maps; public class IndexingFunctionRegistry { - - - private static final Map<URI, FUNCTION_TYPE> SEARCH_FUNCTIONS = Maps.newHashMap(); + private static final ValueFactory VF = SimpleValueFactory.getInstance(); + private static final Map<IRI, FUNCTION_TYPE> SEARCH_FUNCTIONS = Maps.newHashMap(); static { String TEMPORAL_NS = "tag:rya-rdf.org,2015:temporal#"; - SEARCH_FUNCTIONS.put(new URIImpl(TEMPORAL_NS+"after"),FUNCTION_TYPE.TEMPORAL); - SEARCH_FUNCTIONS.put(new URIImpl(TEMPORAL_NS+"before"), FUNCTION_TYPE.TEMPORAL); - SEARCH_FUNCTIONS.put(new URIImpl(TEMPORAL_NS+"equals"), FUNCTION_TYPE.TEMPORAL); - SEARCH_FUNCTIONS.put(new URIImpl(TEMPORAL_NS+"beforeInterval"), FUNCTION_TYPE.TEMPORAL); - SEARCH_FUNCTIONS.put(new URIImpl(TEMPORAL_NS+"afterInterval"), FUNCTION_TYPE.TEMPORAL); - SEARCH_FUNCTIONS.put(new URIImpl(TEMPORAL_NS+"insideInterval"), FUNCTION_TYPE.TEMPORAL); - SEARCH_FUNCTIONS.put(new URIImpl(TEMPORAL_NS+"hasBeginningInterval"), FUNCTION_TYPE.TEMPORAL); - SEARCH_FUNCTIONS.put(new URIImpl(TEMPORAL_NS+"hasEndInterval"), FUNCTION_TYPE.TEMPORAL); + SEARCH_FUNCTIONS.put(VF.createIRI(TEMPORAL_NS+"after"),FUNCTION_TYPE.TEMPORAL); + SEARCH_FUNCTIONS.put(VF.createIRI(TEMPORAL_NS+"before"), FUNCTION_TYPE.TEMPORAL); + SEARCH_FUNCTIONS.put(VF.createIRI(TEMPORAL_NS+"equals"), FUNCTION_TYPE.TEMPORAL); + SEARCH_FUNCTIONS.put(VF.createIRI(TEMPORAL_NS+"beforeInterval"), FUNCTION_TYPE.TEMPORAL); + SEARCH_FUNCTIONS.put(VF.createIRI(TEMPORAL_NS+"afterInterval"), FUNCTION_TYPE.TEMPORAL); + SEARCH_FUNCTIONS.put(VF.createIRI(TEMPORAL_NS+"insideInterval"), FUNCTION_TYPE.TEMPORAL); + SEARCH_FUNCTIONS.put(VF.createIRI(TEMPORAL_NS+"hasBeginningInterval"), FUNCTION_TYPE.TEMPORAL); + SEARCH_FUNCTIONS.put(VF.createIRI(TEMPORAL_NS+"hasEndInterval"), FUNCTION_TYPE.TEMPORAL); - SEARCH_FUNCTIONS.put(new URIImpl("http://rdf.useekm.com/fts#text"), FUNCTION_TYPE.FREETEXT); + SEARCH_FUNCTIONS.put(VF.createIRI("http://rdf.useekm.com/fts#text"), FUNCTION_TYPE.FREETEXT); SEARCH_FUNCTIONS.put(GeoConstants.GEO_SF_EQUALS, FUNCTION_TYPE.GEO); SEARCH_FUNCTIONS.put(GeoConstants.GEO_SF_DISJOINT, FUNCTION_TYPE.GEO); @@ -65,15 +64,14 @@ public class IndexingFunctionRegistry { } - public enum FUNCTION_TYPE {GEO, TEMPORAL, FREETEXT}; - - - public static Set<URI> getFunctions() { + public enum FUNCTION_TYPE {GEO, TEMPORAL, FREETEXT} + + public static Set<IRI> getFunctions() { return SEARCH_FUNCTIONS.keySet(); } - public static Var getResultVarFromFunctionCall(URI function, List<ValueExpr> args) { + public static Var getResultVarFromFunctionCall(IRI function, List<ValueExpr> args) { FUNCTION_TYPE type = SEARCH_FUNCTIONS.get(function); @@ -91,7 +89,7 @@ public class IndexingFunctionRegistry { } - public static FUNCTION_TYPE getFunctionType(URI func) { + public static FUNCTION_TYPE getFunctionType(IRI func) { return SEARCH_FUNCTIONS.get(func); } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/IteratorFactory.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/IteratorFactory.java b/extras/indexing/src/main/java/org/apache/rya/indexing/IteratorFactory.java index 50b8746..73978cc 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/IteratorFactory.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/IteratorFactory.java @@ -19,24 +19,22 @@ package org.apache.rya.indexing; * under the License. */ - -import info.aduna.iteration.CloseableIteration; - import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.NoSuchElementException; import java.util.Set; -import org.openrdf.model.Resource; -import org.openrdf.model.Statement; -import org.openrdf.model.URI; -import org.openrdf.query.BindingSet; -import org.openrdf.query.QueryEvaluationException; -import org.openrdf.query.algebra.QueryModelNode; -import org.openrdf.query.algebra.StatementPattern; -import org.openrdf.query.algebra.Var; -import org.openrdf.query.impl.MapBindingSet; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Resource; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.query.BindingSet; +import org.eclipse.rdf4j.query.QueryEvaluationException; +import org.eclipse.rdf4j.query.algebra.QueryModelNode; +import org.eclipse.rdf4j.query.algebra.StatementPattern; +import org.eclipse.rdf4j.query.algebra.Var; +import org.eclipse.rdf4j.query.impl.MapBindingSet; //Given StatementPattern constraint and SearchFunction associated with an Indexing Node, @@ -87,12 +85,12 @@ public class IteratorFactory { // get the predicate constraint if (match.getPredicateVar().isConstant()) { // get the predicate binding from the filter/statement pair - Set<URI> predicates = new HashSet<URI>(getPredicateRestrictions(match.getPredicateVar())); + Set<IRI> predicates = new HashSet<IRI>(getPredicateRestrictions(match.getPredicateVar())); contraints.setPredicates(predicates); } else if (bindings.hasBinding(predicateBinding)) { // get the predicate binding from the passed in bindings (eg from other statements/parts of the tree) - URI predicateUri = (URI) bindings.getValue(predicateBinding); - Set<URI> predicates = Collections.singleton(predicateUri); + IRI predicateUri = (IRI) bindings.getValue(predicateBinding); + Set<IRI> predicates = Collections.singleton(predicateUri); contraints.setPredicates(predicates); } @@ -151,9 +149,9 @@ public class IteratorFactory { } - public static Collection<URI> getPredicateRestrictions(Var predicate) { + public static Collection<IRI> getPredicateRestrictions(Var predicate) { if (predicate.hasValue()) - return Collections.singleton((URI) predicate.getValue()); + return Collections.singleton((IRI) predicate.getValue()); return Collections.emptyList(); } } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/KeyParts.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/KeyParts.java b/extras/indexing/src/main/java/org/apache/rya/indexing/KeyParts.java index 11ff8c0..ac777aa 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/KeyParts.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/KeyParts.java @@ -26,12 +26,11 @@ import java.util.List; import org.apache.accumulo.core.data.Value; import org.apache.commons.codec.binary.StringUtils; import org.apache.hadoop.io.Text; -import org.openrdf.model.Resource; -import org.openrdf.model.Statement; -import org.openrdf.model.URI; -import org.openrdf.model.impl.ContextStatementImpl; -import org.openrdf.model.impl.StatementImpl; -import org.openrdf.model.impl.URIImpl; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Resource; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; /** * Store and format the various temporal index keys. @@ -52,6 +51,8 @@ import org.openrdf.model.impl.URIImpl; * */ public class KeyParts implements Iterable<KeyParts> { + private static final ValueFactory VF = SimpleValueFactory.getInstance(); + private static final String CQ_S_P_AT = "spo"; private static final String CQ_P_AT = "po"; private static final String CQ_S_AT = "so"; @@ -179,9 +180,9 @@ public class KeyParts implements Iterable<KeyParts> { */ public Text getQueryKey() { return getQueryKey(instant); - }; + } - /** + /** * Query key is the prefix plus the datetime, but no uniqueness at the end. * * @return the row key for range queries. @@ -194,9 +195,9 @@ public class KeyParts implements Iterable<KeyParts> { } appendInstant(theInstant, keyText); return keyText; - }; + } - @Override + @Override public String toString() { return "KeyParts [contraintPrefix=" + toHumanString(constraintPrefix) + ", instant=" + toHumanString(instant.getAsKeyBytes()) + ", cf=" + cf + ", cq=" + cq + "]"; } @@ -270,13 +271,13 @@ public class KeyParts implements Iterable<KeyParts> { */ static public List<KeyParts> keyPartsForQuery(final TemporalInstant queryInstant, final StatementConstraints contraints) { final List<KeyParts> keys = new LinkedList<KeyParts>(); - final URI urlNull = new URIImpl("urn:null"); + final IRI urlNull = VF.createIRI("urn:null"); final Resource currentContext = contraints.getContext(); final boolean hasSubj = contraints.hasSubject(); if (contraints.hasPredicates()) { - for (final URI nextPredicate : contraints.getPredicates()) { + for (final IRI nextPredicate : contraints.getPredicates()) { final Text contraintPrefix = new Text(); - final Statement statement = new ContextStatementImpl(hasSubj ? contraints.getSubject() : urlNull, nextPredicate, urlNull, contraints.getContext()); + final Statement statement = VF.createStatement(hasSubj ? contraints.getSubject() : urlNull, nextPredicate, urlNull, contraints.getContext()); if (hasSubj) { appendSubjectPredicate(statement, contraintPrefix); } else { @@ -287,7 +288,7 @@ public class KeyParts implements Iterable<KeyParts> { } else if (contraints.hasSubject()) { // and no predicates final Text contraintPrefix = new Text(); - final Statement statement = new StatementImpl(contraints.getSubject(), urlNull, urlNull); + final Statement statement = VF.createStatement(contraints.getSubject(), urlNull, urlNull); appendSubject(statement, contraintPrefix); keys.add( new KeyParts(contraintPrefix, queryInstant, (currentContext==null)?"":currentContext.toString(), CQ_S_AT) ); } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunction.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunction.java b/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunction.java index 838aea6..534cc7f 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunction.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunction.java @@ -19,10 +19,9 @@ package org.apache.rya.indexing; * under the License. */ - -import info.aduna.iteration.CloseableIteration; -import org.openrdf.model.Statement; -import org.openrdf.query.QueryEvaluationException; +import org.eclipse.rdf4j.common.iteration.CloseableIteration; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.query.QueryEvaluationException; /** * A function used to perform a search. @@ -39,7 +38,7 @@ public interface SearchFunction { * @return * @throws QueryEvaluationException */ - public abstract CloseableIteration<Statement, QueryEvaluationException> performSearch(String searchTerms, StatementConstraints contraints) + public CloseableIteration<Statement, QueryEvaluationException> performSearch(String searchTerms, StatementConstraints contraints) throws QueryEvaluationException; } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunctionFactory.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunctionFactory.java b/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunctionFactory.java index f3b1678..15fe96d 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunctionFactory.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/SearchFunctionFactory.java @@ -19,12 +19,11 @@ package org.apache.rya.indexing; * under the License. */ - import java.util.Map; import org.apache.log4j.Logger; -import org.openrdf.model.URI; -import org.openrdf.query.QueryEvaluationException; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.query.QueryEvaluationException; import com.google.common.collect.Maps; @@ -32,7 +31,7 @@ public abstract class SearchFunctionFactory { private static final Logger logger = Logger.getLogger(SearchFunctionFactory.class); - private final Map<URI, SearchFunction> SEARCH_FUNCTION_MAP = Maps.newHashMap(); + private final Map<IRI, SearchFunction> SEARCH_FUNCTION_MAP = Maps.newHashMap(); /** @@ -41,7 +40,7 @@ public abstract class SearchFunctionFactory { * @param searchFunction * @return */ - public SearchFunction getSearchFunction(final URI searchFunction) { + public SearchFunction getSearchFunction(final IRI searchFunction) { SearchFunction geoFunc = null; @@ -54,7 +53,7 @@ public abstract class SearchFunctionFactory { return geoFunc; } - private SearchFunction getSearchFunctionInternal(final URI searchFunction) throws QueryEvaluationException { + private SearchFunction getSearchFunctionInternal(final IRI searchFunction) throws QueryEvaluationException { SearchFunction sf = SEARCH_FUNCTION_MAP.get(searchFunction); if (sf != null) { http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/StatementConstraints.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/StatementConstraints.java b/extras/indexing/src/main/java/org/apache/rya/indexing/StatementConstraints.java index 30096a5..76122e7 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/StatementConstraints.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/StatementConstraints.java @@ -19,24 +19,22 @@ package org.apache.rya.indexing; * under the License. */ - - import java.util.Set; -import org.openrdf.model.Resource; -import org.openrdf.model.URI; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Resource; public class StatementConstraints { private Resource context = null; private Resource subject = null; - private Set<URI> predicates = null; + private Set<IRI> predicates = null; public StatementConstraints setContext(Resource context) { this.context = context; return this; } - public StatementConstraints setPredicates(Set<URI> predicates) { + public StatementConstraints setPredicates(Set<IRI> predicates) { this.predicates = predicates; return this; } @@ -50,7 +48,7 @@ public class StatementConstraints { return context; } - public Set<URI> getPredicates() { + public Set<IRI> getPredicates() { return predicates; } http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/81b99327/extras/indexing/src/main/java/org/apache/rya/indexing/StatementSerializer.java ---------------------------------------------------------------------- diff --git a/extras/indexing/src/main/java/org/apache/rya/indexing/StatementSerializer.java b/extras/indexing/src/main/java/org/apache/rya/indexing/StatementSerializer.java index b25a379..8ea44c5 100644 --- a/extras/indexing/src/main/java/org/apache/rya/indexing/StatementSerializer.java +++ b/extras/indexing/src/main/java/org/apache/rya/indexing/StatementSerializer.java @@ -19,22 +19,18 @@ package org.apache.rya.indexing; * under the License. */ - - import java.io.IOException; import java.util.Set; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.Validate; -import org.openrdf.model.Literal; -import org.openrdf.model.Resource; -import org.openrdf.model.Statement; -import org.openrdf.model.URI; -import org.openrdf.model.Value; -import org.openrdf.model.ValueFactory; -import org.openrdf.model.impl.ContextStatementImpl; -import org.openrdf.model.impl.StatementImpl; -import org.openrdf.model.impl.ValueFactoryImpl; +import org.eclipse.rdf4j.model.IRI; +import org.eclipse.rdf4j.model.Literal; +import org.eclipse.rdf4j.model.Resource; +import org.eclipse.rdf4j.model.Statement; +import org.eclipse.rdf4j.model.Value; +import org.eclipse.rdf4j.model.ValueFactory; +import org.eclipse.rdf4j.model.impl.SimpleValueFactory; /** * A set of Utilities to serialize {@link Statement}s to/from {@link String}s. @@ -42,7 +38,7 @@ import org.openrdf.model.impl.ValueFactoryImpl; public class StatementSerializer { private static String SEP = "\u0000"; - private static ValueFactory VALUE_FACTORY = new ValueFactoryImpl(); + private static final ValueFactory VF = SimpleValueFactory.getInstance(); /** * Read a {@link Statement} from a {@link String} @@ -71,7 +67,7 @@ public class StatementSerializer { public static Statement readStatement(String subjectString, String predicateString, String objectString, String contextString) { Resource subject = createResource(subjectString); - URI predicate = VALUE_FACTORY.createURI(predicateString); + IRI predicate = VF.createIRI(predicateString); boolean isObjectLiteral = objectString.startsWith("\""); @@ -83,18 +79,18 @@ public class StatementSerializer { } if (contextString == null || contextString.isEmpty()) { - return new StatementImpl(subject, predicate, object); + return VF.createStatement(subject, predicate, object); } else { - Resource context = VALUE_FACTORY.createURI(contextString); - return new ContextStatementImpl(subject, predicate, object, context); + Resource context = VF.createIRI(contextString); + return VF.createStatement(subject, predicate, object, context); } } private static Resource createResource(String str) { if (str.startsWith("_")) { - return VALUE_FACTORY.createBNode(str.substring(2)); + return VF.createBNode(str.substring(2)); } - return VALUE_FACTORY.createURI(str); + return VF.createIRI(str); } @@ -104,7 +100,7 @@ public class StatementSerializer { if (fullLiteralString.endsWith("\"")) { String fullLiteralWithoutQuotes = fullLiteralString.substring(1, fullLiteralString.length() - 1); - return VALUE_FACTORY.createLiteral(fullLiteralWithoutQuotes, (String) null); + return VF.createLiteral(fullLiteralWithoutQuotes); } else { // find the closing quote @@ -117,12 +113,12 @@ public class StatementSerializer { if (data.startsWith("@")) { // the data is "language" String lang = data.substring(1); - return VALUE_FACTORY.createLiteral(label, lang); + return VF.createLiteral(label, lang); } else if (data.startsWith("^^<")) { // the data is a "datatype" String datatype = data.substring(3, data.length() - 1); - URI datatypeUri = VALUE_FACTORY.createURI(datatype); - return VALUE_FACTORY.createLiteral(label, datatypeUri); + IRI datatypeUri = VF.createIRI(datatype); + return VF.createLiteral(label, datatypeUri); } } return null; @@ -165,7 +161,7 @@ public class StatementSerializer { public static String writeStatement(Statement statement) { Resource subject = statement.getSubject(); Resource context = statement.getContext(); - URI predicate = statement.getPredicate(); + IRI predicate = statement.getPredicate(); Value object = statement.getObject(); Validate.notNull(subject); @@ -197,7 +193,7 @@ public class StatementSerializer { public static String createStatementRegex(StatementConstraints contraints) { Resource context = contraints.getContext(); Resource subject = contraints.getSubject(); - Set<URI> predicates = contraints.getPredicates(); + Set<IRI> predicates = contraints.getPredicates(); if (context == null && subject == null && (predicates == null || predicates.isEmpty())) { return null; }