You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rya.apache.org by mi...@apache.org on 2016/10/15 20:07:08 UTC
[48/69] [abbrv] [partial] incubator-rya git commit: RYA-198 Renaming
Files
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/instance/RyaDetailsUpdater.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/instance/RyaDetailsUpdater.java b/common/rya.api/src/main/java/mvm/rya/api/instance/RyaDetailsUpdater.java
deleted file mode 100644
index 9d5dae7..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/instance/RyaDetailsUpdater.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package mvm.rya.api.instance;
-
-import static java.util.Objects.requireNonNull;
-
-import javax.annotation.ParametersAreNonnullByDefault;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import mvm.rya.api.instance.RyaDetailsRepository.ConcurrentUpdateException;
-import mvm.rya.api.instance.RyaDetailsRepository.RyaDetailsRepositoryException;
-import mvm.rya.api.instance.RyaDetailsUpdater.RyaDetailsMutator.CouldNotApplyMutationException;
-
-/**
- * A utility that will attempt to commit a change to a Rya instance's details
- * until it either takes or the mutation can no longer be applied. This can
- * can be used in place of boilerplate code that handles the concurrent nature
- * of details updates.
- */
-@ParametersAreNonnullByDefault
-public class RyaDetailsUpdater {
- private static final Logger log = LoggerFactory.getLogger(RyaDetailsUpdater.class);
-
- /**
- * Applies a mutation to a an instance of {@link RyaDetails}.
- */
- @ParametersAreNonnullByDefault
- public static interface RyaDetailsMutator {
-
- /**
- * Applies a mutation to a {@link RyaDetails} object.
- *
- * @param originalDetails - The {@link RyaDetails} that were just fetched
- * from the {@link RyaDetailsRepository}.
- * @return The updated details.
- * @throws CouldNotApplyMutationException The mutation could not be applied
- * to the supplied {@link RyaDetails}. This can be used to break out of
- * the update loop when the details are in a state the mutation can not
- * be applied to.
- */
- public RyaDetails mutate(RyaDetails originalDetails) throws CouldNotApplyMutationException;
-
- /**
- * Indicates a mutation could not be applied to an instance of {@link RyaDetails}.
- */
- public static class CouldNotApplyMutationException extends Exception {
- private static final long serialVersionUID = 1L;
-
- /**
- * Constructs a new exception with the specified detail message. The
- * cause is not initialized, and may subsequently be initialized by
- * a call to {@link #initCause(Throwable)}.
- *
- * @param message the detail message. The detail message is saved for
- * later retrieval by the {@link #getMessage()} method.
- */
- public CouldNotApplyMutationException(final String message) {
- super(message);
- }
- }
- }
-
- private final RyaDetailsRepository repo;
-
- /**
- * Constructs an instance of {@link RyaDetailsUpdater}.
- *
- * @param repo - The repository that this updater will commit changes to. (not null)
- */
- public RyaDetailsUpdater(final RyaDetailsRepository repo) {
- this.repo = requireNonNull(repo);
- }
-
- /**
- * Updates an instance of {@link RyaDetails} by fetching the details from
- * the {@link RyaDetailsRepository} that was supplied at construction time,
- * applying the {@link RyaDetailsMutator} to them, and them committing the
- * change. If the update failed because of a concurrent update problem, then
- * it will try again. The updater will continue to do this until the changes
- * take or another exception type is thrown.
- *
- * @param mutator - The mutator that will be used to apply a chagne to the
- * repository's {@link RyaDetails}.
- * @throws RyaDetailsRepositoryException A repository side error caused
- * the update to fail. This could be a communications problem with the
- * store repository, uninitialized, etc.
- * @throws CouldNotApplyMutationException An application side error caused
- * the update to fail. This is thrown by the mutator when the details
- * would be in an illegal state if the mutation were to be applied.
- */
- public void update(final RyaDetailsMutator mutator) throws RyaDetailsRepositoryException, CouldNotApplyMutationException {
- requireNonNull(mutator);
-
- boolean updated = false;
- while(!updated) {
- try {
- final RyaDetails original = repo.getRyaInstanceDetails();
- final RyaDetails mutated = mutator.mutate(original);
- repo.update(original, mutated);
- updated = true;
- } catch(final ConcurrentUpdateException e) {
- log.debug("Failed to update the details because another application changed them. Trying again.", e);
- }
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/layout/TableLayoutStrategy.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/layout/TableLayoutStrategy.java b/common/rya.api/src/main/java/mvm/rya/api/layout/TableLayoutStrategy.java
deleted file mode 100644
index 61732d3..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/layout/TableLayoutStrategy.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package mvm.rya.api.layout;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-/**
- * Created by IntelliJ IDEA.
- * Date: 4/25/12
- * Time: 12:20 PM
- * To change this template use File | Settings | File Templates.
- */
-public interface TableLayoutStrategy {
-
- public String getSpo();
- public String getPo();
- public String getOsp();
- public String getNs();
- public String getEval();
- public String getProspects();
- public String getSelectivity();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/layout/TablePrefixLayoutStrategy.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/layout/TablePrefixLayoutStrategy.java b/common/rya.api/src/main/java/mvm/rya/api/layout/TablePrefixLayoutStrategy.java
deleted file mode 100644
index 0e995ab..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/layout/TablePrefixLayoutStrategy.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package mvm.rya.api.layout;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import mvm.rya.api.RdfCloudTripleStoreConstants;
-
-/**
- * Created by IntelliJ IDEA.
- * Date: 4/25/12
- * Time: 12:20 PM
- * To change this template use File | Settings | File Templates.
- */
-public class TablePrefixLayoutStrategy implements TableLayoutStrategy{
- private String tablePrefix = RdfCloudTripleStoreConstants.TBL_PRFX_DEF;
-
- public TablePrefixLayoutStrategy() {
- }
-
- public TablePrefixLayoutStrategy(String tablePrefix) {
- this.tablePrefix = tablePrefix;
- }
-
- @Override
- public String getSpo() {
- return tablePrefix + RdfCloudTripleStoreConstants.TBL_SPO_SUFFIX;
- }
-
- @Override
- public String getPo() {
- return tablePrefix + RdfCloudTripleStoreConstants.TBL_PO_SUFFIX;
- }
-
- @Override
- public String getOsp() {
- return tablePrefix + RdfCloudTripleStoreConstants.TBL_OSP_SUFFIX;
- }
-
- @Override
- public String getNs() {
- return tablePrefix + RdfCloudTripleStoreConstants.TBL_NS_SUFFIX;
- }
-
- @Override
- public String getEval() {
- return tablePrefix + RdfCloudTripleStoreConstants.TBL_EVAL_SUFFIX;
- }
-
- @Override
- public String getProspects() {
- return tablePrefix + RdfCloudTripleStoreConstants.TBL_STATS_SUFFIX;
- }
-
- @Override
- public String getSelectivity() {
- return tablePrefix + RdfCloudTripleStoreConstants.TBL_SEL_SUFFIX;
- }
-
-
- public String getTablePrefix() {
- return tablePrefix;
- }
-
- public void setTablePrefix(String tablePrefix) {
- this.tablePrefix = tablePrefix;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/RdfDAOException.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/RdfDAOException.java b/common/rya.api/src/main/java/mvm/rya/api/persist/RdfDAOException.java
deleted file mode 100644
index 54444d4..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/RdfDAOException.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package mvm.rya.api.persist;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-/**
- * Class RdfDAOException
- * Date: Feb 28, 2012
- * Time: 3:39:36 PM
- */
-public class RdfDAOException extends RuntimeException {
- public RdfDAOException() {
- }
-
- public RdfDAOException(String s) {
- super(s);
- }
-
- public RdfDAOException(String s, Throwable throwable) {
- super(s, throwable);
- }
-
- public RdfDAOException(Throwable throwable) {
- super(throwable);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/RdfEvalStatsDAO.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/RdfEvalStatsDAO.java b/common/rya.api/src/main/java/mvm/rya/api/persist/RdfEvalStatsDAO.java
deleted file mode 100644
index 020464b..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/RdfEvalStatsDAO.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package mvm.rya.api.persist;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import java.util.List;
-
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-
-import org.openrdf.model.Resource;
-import org.openrdf.model.Value;
-
-/**
- * Class RdfEvalStatsDAO
- * Date: Feb 28, 2012
- * Time: 4:17:05 PM
- */
-public interface RdfEvalStatsDAO<C extends RdfCloudTripleStoreConfiguration> {
- public enum CARDINALITY_OF {
- SUBJECT, PREDICATE, OBJECT, SUBJECTPREDICATE, SUBJECTOBJECT, PREDICATEOBJECT
- }
-
- public void init() throws RdfDAOException;
-
- public boolean isInitialized() throws RdfDAOException;
-
- public void destroy() throws RdfDAOException;
-
- public double getCardinality(C conf, CARDINALITY_OF card, List<Value> val) throws RdfDAOException;
- public double getCardinality(C conf, CARDINALITY_OF card, List<Value> val, Resource context) throws RdfDAOException;
-
- public void setConf(C conf);
-
- public C getConf();
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/RyaConfigured.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/RyaConfigured.java b/common/rya.api/src/main/java/mvm/rya/api/persist/RyaConfigured.java
deleted file mode 100644
index 00c246e..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/RyaConfigured.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package mvm.rya.api.persist;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-
-/**
- * Date: 7/17/12
- * Time: 8:24 AM
- */
-public interface RyaConfigured<C extends RdfCloudTripleStoreConfiguration> {
-
- public void setConf(C conf);
-
- public C getConf();
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/RyaDAO.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/RyaDAO.java b/common/rya.api/src/main/java/mvm/rya/api/persist/RyaDAO.java
deleted file mode 100644
index e326f7d..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/RyaDAO.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package mvm.rya.api.persist;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import java.util.Iterator;
-
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.domain.RyaStatement;
-import mvm.rya.api.domain.RyaURI;
-import mvm.rya.api.persist.query.RyaQueryEngine;
-
-/**
- * Provides the access layer to the Rya triple store.
- *
- * Date: Feb 28, 2012
- * Time: 3:30:14 PM
- */
-public interface RyaDAO<C extends RdfCloudTripleStoreConfiguration> extends RyaConfigured<C> {
-
- /**
- * Initialize the RyaDAO. Should only be called once, otherwise, if already initialized, it will
- * throw an exception.
- *
- * @throws RyaDAOException
- */
- public void init() throws RyaDAOException;
-
- /**
- *
- * @return true if the store is already initiailized
- * @throws RyaDAOException
- */
- public boolean isInitialized() throws RyaDAOException;
-
- /**
- * Shutdown the store. To reinitialize, call the init() method.
- *
- * @throws RyaDAOException
- */
- public void destroy() throws RyaDAOException;
-
- /**
- * Add and commit a single RyaStatement
- *
- * @param statement
- * @throws RyaDAOException
- */
- public void add(RyaStatement statement) throws RyaDAOException;
-
- /**
- * Add and commit a collection of RyaStatements
- *
- * @param statement
- * @throws RyaDAOException
- */
- public void add(Iterator<RyaStatement> statement) throws RyaDAOException;
-
- /**
- * Delete a RyaStatement. The Configuration should provide the auths to perform the delete
- *
- * @param statement
- * @param conf
- * @throws RyaDAOException
- */
- public void delete(RyaStatement statement, C conf) throws RyaDAOException;
-
- /**
- * Drop a set of Graphs. The Configuration should provide the auths to perform the delete
- *
- * @param conf
- * @throws RyaDAOException
- */
- public void dropGraph(C conf, RyaURI... graphs) throws RyaDAOException;
-
- /**
- * Delete a collection of RyaStatements.
- *
- * @param statements
- * @param conf
- * @throws RyaDAOException
- */
- public void delete(Iterator<RyaStatement> statements, C conf) throws RyaDAOException;
-
- /**
- * Get the version of the store.
- *
- * @return
- * @throws RyaDAOException
- */
- public String getVersion() throws RyaDAOException;
-
- /**
- * Get the Rya query engine
- * @return
- */
- public RyaQueryEngine<C> getQueryEngine();
-
- /**
- * Get the Rya Namespace Manager
- * @return
- */
- public RyaNamespaceManager<C> getNamespaceManager();
-
- public void purge(RdfCloudTripleStoreConfiguration configuration);
-
- public void dropAndDestroy() throws RyaDAOException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/RyaDAOException.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/RyaDAOException.java b/common/rya.api/src/main/java/mvm/rya/api/persist/RyaDAOException.java
deleted file mode 100644
index 2322119..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/RyaDAOException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package mvm.rya.api.persist;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-/**
- * Date: 7/17/12
- * Time: 8:20 AM
- */
-public class RyaDAOException extends Exception {
- public RyaDAOException() {
- }
-
- public RyaDAOException(String s) {
- super(s);
- }
-
- public RyaDAOException(String s, Throwable throwable) {
- super(s, throwable);
- }
-
- public RyaDAOException(Throwable throwable) {
- super(throwable);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/RyaNamespaceManager.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/RyaNamespaceManager.java b/common/rya.api/src/main/java/mvm/rya/api/persist/RyaNamespaceManager.java
deleted file mode 100644
index 77cd4bd..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/RyaNamespaceManager.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package mvm.rya.api.persist;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import info.aduna.iteration.CloseableIteration;
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import org.openrdf.model.Namespace;
-
-/**
- * Date: 7/17/12
- * Time: 8:23 AM
- */
-public interface RyaNamespaceManager<C extends RdfCloudTripleStoreConfiguration> extends RyaConfigured<C> {
-
- public void addNamespace(String pfx, String namespace) throws RyaDAOException;
-
- public String getNamespace(String pfx) throws RyaDAOException;
-
- public void removeNamespace(String pfx) throws RyaDAOException;
-
- public CloseableIteration<? extends Namespace, RyaDAOException> iterateNamespace() throws RyaDAOException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/index/RyaSecondaryIndexer.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/index/RyaSecondaryIndexer.java b/common/rya.api/src/main/java/mvm/rya/api/persist/index/RyaSecondaryIndexer.java
deleted file mode 100644
index 4047670..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/index/RyaSecondaryIndexer.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package mvm.rya.api.persist.index;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-import java.io.Closeable;
-import java.io.Flushable;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Set;
-
-import org.apache.hadoop.conf.Configurable;
-import org.openrdf.model.URI;
-
-import mvm.rya.api.domain.RyaStatement;
-import mvm.rya.api.domain.RyaURI;
-
-public interface RyaSecondaryIndexer extends Closeable, Flushable, Configurable {
-
- /**
- * Returns the table name if the implementation supports it.
- * Note that some indexers use multiple tables, this only returns one.
- * TODO recommend that we deprecate this method because it's a leaky interface.
- * @return table name as a string.
- */
- public String getTableName();
-
- public void storeStatements(Collection<RyaStatement> statements) throws IOException;
-
- public void storeStatement(RyaStatement statement) throws IOException;
-
- public void deleteStatement(RyaStatement stmt) throws IOException;
-
- public void dropGraph(RyaURI... graphs);
-
- /**
- * @return the set of predicates indexed by the indexer.
- */
- public abstract Set<URI> getIndexablePredicates();
-
- @Override
- public abstract void flush() throws IOException;
-
- @Override
- public abstract void close() throws IOException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/joinselect/SelectivityEvalDAO.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/joinselect/SelectivityEvalDAO.java b/common/rya.api/src/main/java/mvm/rya/api/persist/joinselect/SelectivityEvalDAO.java
deleted file mode 100644
index 28f797b..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/joinselect/SelectivityEvalDAO.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package mvm.rya.api.persist.joinselect;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.persist.RdfEvalStatsDAO;
-import org.openrdf.query.algebra.StatementPattern;
-import org.openrdf.query.algebra.TupleExpr;
-
-public interface SelectivityEvalDAO<C extends RdfCloudTripleStoreConfiguration> extends RdfEvalStatsDAO<C> {
-
- public double getJoinSelect(C conf, TupleExpr te1, TupleExpr te2) throws Exception;
-
- public long getCardinality(C conf, StatementPattern sp) throws Exception;
-
- public int getTableSize(C conf) throws Exception;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/query/BatchRyaQuery.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/query/BatchRyaQuery.java b/common/rya.api/src/main/java/mvm/rya/api/persist/query/BatchRyaQuery.java
deleted file mode 100644
index 113ce51..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/query/BatchRyaQuery.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package mvm.rya.api.persist.query;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Iterables;
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.domain.RyaStatement;
-
-/**
- * Query domain object contains the query to run as a {@link mvm.rya.api.domain.RyaStatement} and options for running the query
- */
-public class BatchRyaQuery extends RyaQueryOptions {
-
- //queries
- private Iterable<RyaStatement> queries;
-
- //maximum number of ranges before we use a batchScanner
- private int maxRanges = 2;
-
- public BatchRyaQuery(Iterable<RyaStatement> queries) {
- Preconditions.checkNotNull(queries, "RyaStatement queries cannot be null");
- this.queries = queries;
- }
-
- public static RyaBatchQueryBuilder builder(Iterable<RyaStatement> queries) {
- return new RyaBatchQueryBuilder(queries);
- }
-
- public static class RyaBatchQueryBuilder extends RyaOptionsBuilder<RyaBatchQueryBuilder> {
- private BatchRyaQuery ryaQuery;
-
- public RyaBatchQueryBuilder(Iterable<RyaStatement> queries) {
- this(new BatchRyaQuery(queries));
- }
-
- public RyaBatchQueryBuilder(BatchRyaQuery query) {
- super(query);
- this.ryaQuery = query;
- }
-
- public RyaBatchQueryBuilder setMaxRanges(int maxRanges) {
- ryaQuery.setMaxRanges(maxRanges);
- return this;
- }
-
- public BatchRyaQuery build() {
- return ryaQuery;
- }
- }
-
- public Iterable<RyaStatement> getQueries() {
- return queries;
- }
-
- public void setQueries(Iterable<RyaStatement> queries) {
- this.queries = queries;
- }
-
- public int getMaxRanges() {
- return maxRanges;
- }
-
- public void setMaxRanges(int maxRanges) {
- this.maxRanges = maxRanges;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- if (!super.equals(o)) return false;
-
- BatchRyaQuery that = (BatchRyaQuery) o;
-
- if (queries != null ? !queries.equals(that.queries) : that.queries != null) return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = super.hashCode();
- result = 31 * result + (queries != null ? queries.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "BatchRyaQuery{" +
- "queries=" + Iterables.toString(queries) +
- "options={" + super.toString() +
- '}' +
- '}';
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQuery.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQuery.java b/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQuery.java
deleted file mode 100644
index 5235989..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQuery.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package mvm.rya.api.persist.query;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import com.google.common.base.Preconditions;
-import mvm.rya.api.domain.RyaStatement;
-
-/**
- * Query domain object contains the query to run as a {@link RyaStatement} and options for running the query
- */
-public class RyaQuery extends RyaQueryOptions {
-
- //query
- private RyaStatement query;
-
- public RyaQuery(RyaStatement query) {
- Preconditions.checkNotNull(query, "RyaStatement query cannot be null");
- this.query = query;
- }
-
- public static RyaQueryBuilder builder(RyaStatement query) {
- return new RyaQueryBuilder(query);
- }
-
- public static class RyaQueryBuilder extends RyaOptionsBuilder<RyaQueryBuilder> {
- private RyaQuery ryaQuery;
-
- public RyaQueryBuilder(RyaStatement query) {
- this(new RyaQuery(query));
- }
-
- public RyaQueryBuilder(RyaQuery query) {
- super(query);
- this.ryaQuery = query;
- }
-
- public RyaQuery build() {
- return ryaQuery;
- }
- }
-
- public RyaStatement getQuery() {
- return query;
- }
-
- public void setQuery(RyaStatement query) {
- this.query = query;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- if (!super.equals(o)) return false;
-
- RyaQuery ryaQuery = (RyaQuery) o;
-
- if (query != null ? !query.equals(ryaQuery.query) : ryaQuery.query != null) return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = super.hashCode();
- result = 31 * result + (query != null ? query.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString() {
- return "RyaQuery{" +
- "query=" + query +
- "options={" + super.toString() +
- '}' +
- '}';
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQueryEngine.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQueryEngine.java b/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQueryEngine.java
deleted file mode 100644
index 7454eea..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQueryEngine.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package mvm.rya.api.persist.query;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import info.aduna.iteration.CloseableIteration;
-
-import java.util.Collection;
-import java.util.Map;
-
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.domain.RyaStatement;
-import mvm.rya.api.persist.RyaConfigured;
-import mvm.rya.api.persist.RyaDAOException;
-
-import org.calrissian.mango.collect.CloseableIterable;
-import org.openrdf.query.BindingSet;
-
-/**
- * Rya Query Engine to perform queries against the Rya triple store.
- * <p/>
- * Date: 7/17/12
- * Time: 8:25 AM
- */
-public interface RyaQueryEngine<C extends RdfCloudTripleStoreConfiguration> extends RyaConfigured<C> {
-
- /**
- * Query the Rya store using the RyaStatement. The Configuration object provides information such as auths, ttl, etc
- *
- * @param stmt
- * @param conf
- * @return
- * @throws RyaDAOException
- * @deprecated
- */
- public CloseableIteration<RyaStatement, RyaDAOException> query(RyaStatement stmt, C conf) throws RyaDAOException;
-
- /**
- * Batch query
- *
- * @param stmts
- * @param conf
- * @return
- * @throws RyaDAOException
- */
- public CloseableIteration<? extends Map.Entry<RyaStatement, BindingSet>, RyaDAOException>
- queryWithBindingSet(Collection<Map.Entry<RyaStatement, BindingSet>> stmts, C conf) throws RyaDAOException;
-
- /**
- * Performs intersection joins.
- *
- * @param stmts
- * @param conf
- * @return
- * @throws RyaDAOException
- * @deprecated
- */
- public CloseableIteration<RyaStatement, RyaDAOException> batchQuery(Collection<RyaStatement> stmts, C conf) throws RyaDAOException;
-
- /**
- * Query with a {@link} RyaQuery. A single query that will return a {@link CloseableIterable} of RyaStatements
- *
- * @param ryaQuery
- * @return
- * @throws RyaDAOException
- */
- public CloseableIterable<RyaStatement> query(RyaQuery ryaQuery) throws RyaDAOException;
-
- /**
- * Run a batch rya query
- *
- * @param batchRyaQuery
- * @return
- * @throws RyaDAOException
- */
- public CloseableIterable<RyaStatement> query(BatchRyaQuery batchRyaQuery) throws RyaDAOException;
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQueryOptions.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQueryOptions.java b/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQueryOptions.java
deleted file mode 100644
index c77796e..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/query/RyaQueryOptions.java
+++ /dev/null
@@ -1,246 +0,0 @@
-package mvm.rya.api.persist.query;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.Arrays;
-
-/**
- */
-public class RyaQueryOptions {
- private static final Logger logger = LoggerFactory.getLogger(RyaQueryOptions.class);
- //options
- protected String[] auths;
- protected Long ttl;
- protected Long currentTime;
- protected Long maxResults;
- protected Integer numQueryThreads = 4;
- protected Integer batchSize = 1000;
- protected String regexSubject;
- protected String regexPredicate;
- protected String regexObject;
- protected RdfCloudTripleStoreConfiguration conf;
-
- public static class RyaOptionsBuilder<T extends RyaOptionsBuilder> {
- private RyaQueryOptions options;
-
- public RyaOptionsBuilder(RyaQueryOptions query) {
- this.options = query;
- }
-
- public T load(RdfCloudTripleStoreConfiguration conf) {
- options.setConf(conf);
- return (T) this.setAuths(conf.getAuths())
- .setBatchSize(conf.getBatchSize())
- .setCurrentTime(conf.getStartTime())
- .setMaxResults(conf.getLimit())
- .setNumQueryThreads(conf.getNumThreads())
- .setRegexObject(conf.getRegexObject())
- .setRegexPredicate(conf.getRegexPredicate())
- .setRegexSubject(conf.getRegexSubject())
- .setTtl(conf.getTtl());
- }
-
- public T setAuths(String[] auths) {
- options.setAuths(auths);
- return (T) this;
- }
-
- public T setRegexObject(String regexObject) {
- options.setRegexObject(regexObject);
- return (T) this;
- }
-
- public T setRegexPredicate(String regexPredicate) {
- options.setRegexPredicate(regexPredicate);
- return (T) this;
- }
-
- public T setRegexSubject(String regexSubject) {
- options.setRegexSubject(regexSubject);
- return (T) this;
- }
-
- public T setBatchSize(Integer batchSize) {
- options.setBatchSize(batchSize);
- return (T) this;
- }
-
- public T setNumQueryThreads(Integer numQueryThreads) {
- options.setNumQueryThreads(numQueryThreads);
- return (T) this;
- }
-
- public T setMaxResults(Long maxResults) {
- options.setMaxResults(maxResults);
- return (T) this;
- }
-
- public T setCurrentTime(Long currentTime) {
- options.setCurrentTime(currentTime);
- return (T) this;
- }
-
- public T setTtl(Long ttl) {
- options.setTtl(ttl);
- return (T) this;
- }
- }
-
- public RdfCloudTripleStoreConfiguration getConf() {
- return conf;
- }
-
- public void setConf(RdfCloudTripleStoreConfiguration conf) {
- this.conf = conf;
- }
-
- public Long getTtl() {
- return ttl;
- }
-
- public void setTtl(Long ttl) {
- this.ttl = ttl;
- }
-
- public Long getCurrentTime() {
- return currentTime;
- }
-
- public void setCurrentTime(Long currentTime) {
- this.currentTime = currentTime;
- }
-
- public Integer getNumQueryThreads() {
- return numQueryThreads;
- }
-
- public void setNumQueryThreads(Integer numQueryThreads) {
- this.numQueryThreads = numQueryThreads;
- }
-
- public Long getMaxResults() {
- return maxResults;
- }
-
- public void setMaxResults(Long maxResults) {
- this.maxResults = maxResults;
- }
-
- public Integer getBatchSize() {
- return batchSize;
- }
-
- public void setBatchSize(Integer batchSize) {
- this.batchSize = batchSize;
- }
-
- public String getRegexSubject() {
- return regexSubject;
- }
-
- public void setRegexSubject(String regexSubject) {
- this.regexSubject = regexSubject;
- }
-
- public String getRegexPredicate() {
- return regexPredicate;
- }
-
- public void setRegexPredicate(String regexPredicate) {
- this.regexPredicate = regexPredicate;
- }
-
- public String getRegexObject() {
- return regexObject;
- }
-
- public void setRegexObject(String regexObject) {
- this.regexObject = regexObject;
- }
-
- public String[] getAuths() {
- return auths;
- }
-
- public void setAuths(String[] auths) {
- if (auths == null) {
- this.auths = new String[0];
- } else {
- this.auths = auths.clone();
- }
- }
-
- @Override
- public String toString() {
- return "RyaQueryOptions{" +
- "auths=" + (auths == null ? null : Arrays.asList(auths)) +
- ", ttl=" + ttl +
- ", currentTime=" + currentTime +
- ", maxResults=" + maxResults +
- ", numQueryThreads=" + numQueryThreads +
- ", batchSize=" + batchSize +
- ", regexSubject='" + regexSubject + '\'' +
- ", regexPredicate='" + regexPredicate + '\'' +
- ", regexObject='" + regexObject + '\'' +
- '}';
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- RyaQueryOptions that = (RyaQueryOptions) o;
-
- if (!Arrays.equals(auths, that.auths)) return false;
- if (batchSize != null ? !batchSize.equals(that.batchSize) : that.batchSize != null) return false;
- if (currentTime != null ? !currentTime.equals(that.currentTime) : that.currentTime != null) return false;
- if (maxResults != null ? !maxResults.equals(that.maxResults) : that.maxResults != null) return false;
- if (numQueryThreads != null ? !numQueryThreads.equals(that.numQueryThreads) : that.numQueryThreads != null)
- return false;
- if (regexObject != null ? !regexObject.equals(that.regexObject) : that.regexObject != null) return false;
- if (regexPredicate != null ? !regexPredicate.equals(that.regexPredicate) : that.regexPredicate != null)
- return false;
- if (regexSubject != null ? !regexSubject.equals(that.regexSubject) : that.regexSubject != null) return false;
- if (ttl != null ? !ttl.equals(that.ttl) : that.ttl != null) return false;
-
- return true;
- }
-
- @Override
- public int hashCode() {
- int result = auths != null ? Arrays.hashCode(auths) : 0;
- result = 31 * result + (ttl != null ? ttl.hashCode() : 0);
- result = 31 * result + (currentTime != null ? currentTime.hashCode() : 0);
- result = 31 * result + (maxResults != null ? maxResults.hashCode() : 0);
- result = 31 * result + (numQueryThreads != null ? numQueryThreads.hashCode() : 0);
- result = 31 * result + (batchSize != null ? batchSize.hashCode() : 0);
- result = 31 * result + (regexSubject != null ? regexSubject.hashCode() : 0);
- result = 31 * result + (regexPredicate != null ? regexPredicate.hashCode() : 0);
- result = 31 * result + (regexObject != null ? regexObject.hashCode() : 0);
- return result;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/HashJoin.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/HashJoin.java b/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/HashJoin.java
deleted file mode 100644
index 286ea7a..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/HashJoin.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package mvm.rya.api.persist.query.join;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import info.aduna.iteration.CloseableIteration;
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.RdfCloudTripleStoreUtils;
-import mvm.rya.api.domain.RyaStatement;
-import mvm.rya.api.domain.RyaType;
-import mvm.rya.api.domain.RyaURI;
-import mvm.rya.api.persist.RyaDAOException;
-import mvm.rya.api.persist.query.RyaQueryEngine;
-import mvm.rya.api.resolver.RyaContext;
-import mvm.rya.api.utils.EnumerationWrapper;
-
-import java.util.Enumeration;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * Use HashTable to do a HashJoin.
- * <p/>
- * TODO: Somehow make a more streaming way of doing this hash join. This will not support large sets.
- * Date: 7/26/12
- * Time: 8:58 AM
- */
-public class HashJoin<C extends RdfCloudTripleStoreConfiguration> implements Join<C> {
-
- private RyaContext ryaContext = RyaContext.getInstance();
- private RyaQueryEngine ryaQueryEngine;
-
- public HashJoin() {
- }
-
- public HashJoin(RyaQueryEngine ryaQueryEngine) {
- this.ryaQueryEngine = ryaQueryEngine;
- }
-
- @Override
- public CloseableIteration<RyaStatement, RyaDAOException> join(C conf, RyaURI... preds) throws RyaDAOException {
- ConcurrentHashMap<Map.Entry<RyaURI, RyaType>, Integer> ht = new ConcurrentHashMap<Map.Entry<RyaURI, RyaType>, Integer>();
- int count = 0;
- boolean first = true;
- for (RyaURI pred : preds) {
- count++;
- //query
- CloseableIteration<RyaStatement, RyaDAOException> results = ryaQueryEngine.query(new RyaStatement(null, pred, null), null);
- //add to hashtable
- while (results.hasNext()) {
- RyaStatement next = results.next();
- RyaURI subject = next.getSubject();
- RyaType object = next.getObject();
- Map.Entry<RyaURI, RyaType> entry = new RdfCloudTripleStoreUtils.CustomEntry<RyaURI, RyaType>(subject, object);
- if (!first) {
- if (!ht.containsKey(entry)) {
- continue; //not in join
- }
- }
- ht.put(entry, count);
- }
- //remove from hashtable values that are under count
- if (first) {
- first = false;
- } else {
- for (Map.Entry<Map.Entry<RyaURI, RyaType>, Integer> entry : ht.entrySet()) {
- if (entry.getValue() < count) {
- ht.remove(entry.getKey());
- }
- }
- }
- }
- final Enumeration<Map.Entry<RyaURI, RyaType>> keys = ht.keys();
- return new CloseableIteration<RyaStatement, RyaDAOException>() {
- @Override
- public void close() throws RyaDAOException {
-
- }
-
- @Override
- public boolean hasNext() throws RyaDAOException {
- return keys.hasMoreElements();
- }
-
- @Override
- public RyaStatement next() throws RyaDAOException {
- Map.Entry<RyaURI, RyaType> subjObj = keys.nextElement();
- return new RyaStatement(subjObj.getKey(), null, subjObj.getValue());
- }
-
- @Override
- public void remove() throws RyaDAOException {
- keys.nextElement();
- }
- };
- }
-
- @Override
- public CloseableIteration<RyaURI, RyaDAOException> join(C conf, Map.Entry<RyaURI, RyaType>... predObjs) throws RyaDAOException {
- ConcurrentHashMap<RyaURI, Integer> ht = new ConcurrentHashMap<RyaURI, Integer>();
- int count = 0;
- boolean first = true;
- for (Map.Entry<RyaURI, RyaType> predObj : predObjs) {
- count++;
- RyaURI pred = predObj.getKey();
- RyaType obj = predObj.getValue();
- //query
- CloseableIteration<RyaStatement, RyaDAOException> results = ryaQueryEngine.query(new RyaStatement(null, pred, obj), null);
- //add to hashtable
- while (results.hasNext()) {
- RyaURI subject = results.next().getSubject();
- if (!first) {
- if (!ht.containsKey(subject)) {
- continue; //not in join
- }
- }
- ht.put(subject, count);
- }
- //remove from hashtable values that are under count
- if (first) {
- first = false;
- } else {
- for (Map.Entry<RyaURI, Integer> entry : ht.entrySet()) {
- if (entry.getValue() < count) {
- ht.remove(entry.getKey());
- }
- }
- }
- }
- return new EnumerationWrapper<RyaURI, RyaDAOException>(ht.keys());
- }
-
- public RyaQueryEngine getRyaQueryEngine() {
- return ryaQueryEngine;
- }
-
- public void setRyaQueryEngine(RyaQueryEngine ryaQueryEngine) {
- this.ryaQueryEngine = ryaQueryEngine;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/IterativeJoin.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/IterativeJoin.java b/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/IterativeJoin.java
deleted file mode 100644
index 3cb48a5..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/IterativeJoin.java
+++ /dev/null
@@ -1,233 +0,0 @@
-package mvm.rya.api.persist.query.join;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import com.google.common.base.Preconditions;
-import info.aduna.iteration.CloseableIteration;
-import info.aduna.iteration.ConvertingIteration;
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.RdfCloudTripleStoreUtils;
-import mvm.rya.api.domain.*;
-import mvm.rya.api.persist.RyaDAOException;
-import mvm.rya.api.persist.query.RyaQueryEngine;
-import mvm.rya.api.resolver.RyaContext;
-import org.openrdf.query.BindingSet;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * Date: 7/24/12
- * Time: 8:52 AM
- */
-public class IterativeJoin<C extends RdfCloudTripleStoreConfiguration> implements Join<C> {
-
- private RyaContext ryaContext = RyaContext.getInstance();
- private RyaQueryEngine ryaQueryEngine;
-
- public IterativeJoin() {
- }
-
- public IterativeJoin(RyaQueryEngine ryaQueryEngine) {
- this.ryaQueryEngine = ryaQueryEngine;
- }
-
- /**
- * Return all statements that have input predicates. Predicates must not be null or ranges
- *
- * @param preds
- * @return
- */
- @Override
- public CloseableIteration<RyaStatement, RyaDAOException> join(C conf, RyaURI... preds)
- throws RyaDAOException {
- Preconditions.checkNotNull(preds);
- Preconditions.checkArgument(preds.length > 1, "Must join 2 or more");
- //TODO: Reorder predObjs based on statistics
-
- CloseableIteration<RyaStatement, RyaDAOException> iter = null;
- for (RyaURI pred : preds) {
- if (iter == null) {
- iter = ryaQueryEngine.query(new RyaStatement(null, pred, null), null);
- } else {
- iter = join(iter, pred);
- }
- }
-
- return iter;
- }
-
- /**
- * Return all subjects that have the predicate objects associated. Predicate and objects must be not null or ranges
- * to ensure sorting
- *
- * @param predObjs
- * @return
- * @throws mvm.rya.api.persist.RyaDAOException
- *
- */
- @Override
- public CloseableIteration<RyaURI, RyaDAOException> join(C conf, Map.Entry<RyaURI, RyaType>... predObjs)
- throws RyaDAOException {
- Preconditions.checkNotNull(predObjs);
- Preconditions.checkArgument(predObjs.length > 1, "Must join 2 or more");
-
- //TODO: Reorder predObjs based on statistics
- CloseableIteration<RyaStatement, RyaDAOException> first = null;
- CloseableIteration<RyaURI, RyaDAOException> iter = null;
- for (Map.Entry<RyaURI, RyaType> entry : predObjs) {
- if (first == null) {
- first = ryaQueryEngine.query(new RyaStatement(null, entry.getKey(), entry.getValue()), null);
- } else if (iter == null) {
- iter = join(new ConvertingIteration<RyaStatement, RyaURI, RyaDAOException>(first) {
-
- @Override
- protected RyaURI convert(RyaStatement statement) throws RyaDAOException {
- return statement.getSubject();
- }
- }, entry);
- } else {
- iter = join(iter, entry);
- }
- }
-
- return iter;
- }
-
- protected CloseableIteration<RyaURI, RyaDAOException> join(final CloseableIteration<RyaURI, RyaDAOException> iteration,
- final Map.Entry<RyaURI, RyaType> predObj) {
- //TODO: configure batch
- //TODO: batch = 1, does not work
- final int batch = 100;
- return new CloseableIteration<RyaURI, RyaDAOException>() {
-
- private CloseableIteration<Map.Entry<RyaStatement, BindingSet>, RyaDAOException> query;
-
- @Override
- public void close() throws RyaDAOException {
- iteration.close();
- if (query != null) {
- query.close();
- }
- }
-
- @Override
- public boolean hasNext() throws RyaDAOException {
- return !(query == null || !query.hasNext()) || batchNext();
- }
-
- @Override
- public RyaURI next() throws RyaDAOException {
- if (query == null || !query.hasNext()) {
- if (!batchNext()) return null;
- }
- if (query != null && query.hasNext()) {
- return query.next().getKey().getSubject();
- } else {
- return null;
- }
- }
-
- private boolean batchNext() throws RyaDAOException {
- if (!iteration.hasNext()) {
- return false;
- }
- Collection<Map.Entry<RyaStatement, BindingSet>> batchedResults = new ArrayList<Map.Entry<RyaStatement, BindingSet>>();
- for (int i = 0; i < batch && iteration.hasNext(); i++) {
- batchedResults.add(new RdfCloudTripleStoreUtils.CustomEntry<RyaStatement, BindingSet>(
- new RyaStatement(iteration.next(), predObj.getKey(), predObj.getValue()), null));
- }
- query = ryaQueryEngine.queryWithBindingSet(batchedResults, null);
- return query.hasNext();
- }
-
- @Override
- public void remove() throws RyaDAOException {
- this.next();
- }
- };
- }
-
- protected CloseableIteration<RyaStatement, RyaDAOException> join(
- final CloseableIteration<RyaStatement, RyaDAOException> iteration, final RyaURI pred) {
- //TODO: configure batch
- //TODO: batch = 1, does not work
- final int batch = 100;
- return new CloseableIteration<RyaStatement, RyaDAOException>() {
-
- private CloseableIteration<Map.Entry<RyaStatement, BindingSet>, RyaDAOException> query;
-
- @Override
- public void close() throws RyaDAOException {
- iteration.close();
- if (query != null) {
- query.close();
- }
- }
-
- @Override
- public boolean hasNext() throws RyaDAOException {
- return !(query == null || !query.hasNext()) || batchNext();
- }
-
- @Override
- public RyaStatement next() throws RyaDAOException {
- if (query == null || !query.hasNext()) {
- if (!batchNext()) return null;
- }
- if (query != null && query.hasNext()) {
- return query.next().getKey();
- } else {
- return null;
- }
- }
-
- private boolean batchNext() throws RyaDAOException {
- if (!iteration.hasNext()) {
- return false;
- }
- Collection<Map.Entry<RyaStatement, BindingSet>> batchedResults = new ArrayList<Map.Entry<RyaStatement, BindingSet>>();
- for (int i = 0; i < batch && iteration.hasNext(); i++) {
- RyaStatement next = iteration.next();
- batchedResults.add(new RdfCloudTripleStoreUtils.CustomEntry<RyaStatement, BindingSet>(
- new RyaStatement(next.getSubject(), pred, next.getObject()), null));
- }
- query = ryaQueryEngine.queryWithBindingSet(batchedResults, null);
- return query.hasNext();
- }
-
- @Override
- public void remove() throws RyaDAOException {
- this.next();
- }
- };
- }
-
- public RyaQueryEngine getRyaQueryEngine() {
- return ryaQueryEngine;
- }
-
- public void setRyaQueryEngine(RyaQueryEngine ryaQueryEngine) {
- this.ryaQueryEngine = ryaQueryEngine;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/Join.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/Join.java b/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/Join.java
deleted file mode 100644
index 775af53..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/Join.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package mvm.rya.api.persist.query.join;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import info.aduna.iteration.CloseableIteration;
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.domain.RyaStatement;
-import mvm.rya.api.domain.RyaType;
-import mvm.rya.api.domain.RyaURI;
-import mvm.rya.api.persist.RyaDAOException;
-
-import java.util.Map;
-
-/**
- * Date: 7/24/12
- * Time: 4:28 PM
- */
-public interface Join<C extends RdfCloudTripleStoreConfiguration> {
-
- CloseableIteration<RyaStatement, RyaDAOException> join(C conf, RyaURI... preds)
- throws RyaDAOException;
-
- CloseableIteration<RyaURI, RyaDAOException> join(C conf, Map.Entry<RyaURI, RyaType>... predObjs)
- throws RyaDAOException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/MergeJoin.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/MergeJoin.java b/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/MergeJoin.java
deleted file mode 100644
index 1dfcbf1..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/query/join/MergeJoin.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package mvm.rya.api.persist.query.join;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import com.google.common.base.Preconditions;
-import info.aduna.iteration.CloseableIteration;
-import info.aduna.iteration.EmptyIteration;
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.domain.*;
-import mvm.rya.api.persist.RyaDAOException;
-import mvm.rya.api.persist.query.RyaQueryEngine;
-import mvm.rya.api.resolver.RyaContext;
-import mvm.rya.api.utils.PeekingCloseableIteration;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Date: 7/24/12
- * Time: 8:52 AM
- */
-public class MergeJoin<C extends RdfCloudTripleStoreConfiguration> implements Join<C> {
-
- private RyaContext ryaContext = RyaContext.getInstance();
- private RyaQueryEngine ryaQueryEngine;
-
- public MergeJoin() {
- }
-
- public MergeJoin(RyaQueryEngine ryaQueryEngine) {
- this.ryaQueryEngine = ryaQueryEngine;
- }
-
- /**
- * Return all statements that have input predicates. Predicates must not be null or ranges
- *
- * @param preds
- * @return
- */
- @Override
- public CloseableIteration<RyaStatement, RyaDAOException> join(C conf, RyaURI... preds)
- throws RyaDAOException {
- Preconditions.checkNotNull(preds);
- Preconditions.checkArgument(preds.length > 1, "Must join 2 or more");
- //TODO: Reorder predObjs based on statistics
- final List<CloseableIteration<RyaStatement, RyaDAOException>> iters = new ArrayList<CloseableIteration<RyaStatement, RyaDAOException>>();
- for (RyaURI predicate : preds) {
- Preconditions.checkArgument(predicate != null && !(predicate instanceof RyaRange));
-
- CloseableIteration<RyaStatement, RyaDAOException> iter = ryaQueryEngine.query(new RyaStatement(null, predicate, null), conf);
- iters.add(iter);
- }
- Preconditions.checkArgument(iters.size() > 1, "Must join 2 or more");
-
- final CloseableIteration<RyaStatement, RyaDAOException> first = iters.remove(0);
-
- //perform merge operation
-
- return new CloseableIteration<RyaStatement, RyaDAOException>() {
-
- private RyaStatement first_stmt;
- private RyaType first_obj;
-
- @Override
- public void close() throws RyaDAOException {
- for (CloseableIteration<RyaStatement, RyaDAOException> iter : iters) {
- iter.close();
- }
- }
-
- @Override
- public boolean hasNext() throws RyaDAOException {
- return first_stmt != null || check();
- }
-
- @Override
- public RyaStatement next() throws RyaDAOException {
- if (first_stmt != null) {
- RyaStatement temp = first_stmt;
- first_stmt = null;
- return temp;
- }
- if (check()) {
- RyaStatement temp = first_stmt;
- first_stmt = null;
- return temp;
- }
- return null;
- }
-
- @Override
- public void remove() throws RyaDAOException {
- this.next();
- }
-
- protected boolean check() throws RyaDAOException {
- if (!first.hasNext()) return false;
- first_stmt = first.next();
- first_obj = first_stmt.getObject();
- for (CloseableIteration<RyaStatement, RyaDAOException> iter : iters) {
- if (!iter.hasNext()) return false; //no more left to join
- RyaType iter_obj = iter.next().getObject();
- while (first_obj.compareTo(iter_obj) < 0) {
- if (!first.hasNext()) return false;
- first_obj = first.next().getObject();
- }
- while (first_obj.compareTo(iter_obj) > 0) {
- if (!iter.hasNext()) return false;
- iter_obj = iter.next().getObject();
- }
- }
- return true;
- }
- };
- }
-
- /**
- * Return all subjects that have the predicate objects associated. Predicate and objects must be not null or ranges
- * to ensure sorting
- *
- * @param predObjs
- * @return
- * @throws RyaDAOException
- */
- @Override
- public CloseableIteration<RyaURI, RyaDAOException> join(C conf, Map.Entry<RyaURI, RyaType>... predObjs)
- throws RyaDAOException {
- Preconditions.checkNotNull(predObjs);
- Preconditions.checkArgument(predObjs.length > 1, "Must join 2 or more");
-
- //TODO: Reorder predObjs based on statistics
- final List<CloseableIteration<RyaStatement, RyaDAOException>> iters = new ArrayList<CloseableIteration<RyaStatement, RyaDAOException>>();
- RyaURI earliest_subject = null;
- for (Map.Entry<RyaURI, RyaType> predObj : predObjs) {
- RyaURI predicate = predObj.getKey();
- RyaType object = predObj.getValue();
- Preconditions.checkArgument(predicate != null && !(predicate instanceof RyaRange));
- Preconditions.checkArgument(object != null && !(object instanceof RyaRange));
-
- PeekingCloseableIteration<RyaStatement, RyaDAOException> iter = null;
- if (earliest_subject == null) {
- iter = new PeekingCloseableIteration<RyaStatement, RyaDAOException>(
- ryaQueryEngine.query(new RyaStatement(null, predicate, object), conf));
- } else {
- iter = new PeekingCloseableIteration<RyaStatement, RyaDAOException>(
- ryaQueryEngine.query(new RyaStatement(new RyaURIRange(earliest_subject, RyaURIRange.LAST_URI), predicate, object), conf));
- }
- if (!iter.hasNext()) {
- return new EmptyIteration<RyaURI, RyaDAOException>();
- }
- //setting up range to make performant query
- earliest_subject = iter.peek().getSubject();
- iters.add(iter);
- }
- Preconditions.checkArgument(iters.size() > 1, "Must join 2 or more");
-
- final CloseableIteration<RyaStatement, RyaDAOException> first = iters.remove(0);
-
- //perform merge operation
-
- return new CloseableIteration<RyaURI, RyaDAOException>() {
-
- private RyaURI first_subj;
-
- @Override
- public void close() throws RyaDAOException {
- for (CloseableIteration<RyaStatement, RyaDAOException> iter : iters) {
- iter.close();
- }
- }
-
- @Override
- public boolean hasNext() throws RyaDAOException {
- return first_subj != null || check();
- }
-
- @Override
- public RyaURI next() throws RyaDAOException {
- if (first_subj != null) {
- RyaURI temp = first_subj;
- first_subj = null;
- return temp;
- }
- if (check()) {
- RyaURI temp = first_subj;
- first_subj = null;
- return temp;
- }
- return null;
- }
-
- @Override
- public void remove() throws RyaDAOException {
- this.next();
- }
-
- protected boolean check() throws RyaDAOException {
- if (!first.hasNext()) return false;
- first_subj = first.next().getSubject();
- for (CloseableIteration<RyaStatement, RyaDAOException> iter : iters) {
- if (!iter.hasNext()) return false; //no more left to join
- RyaURI iter_subj = iter.next().getSubject();
- while (first_subj.compareTo(iter_subj) < 0) {
- if (!first.hasNext()) return false;
- first_subj = first.next().getSubject();
- }
- while (first_subj.compareTo(iter_subj) > 0) {
- if (!iter.hasNext()) return false;
- iter_subj = iter.next().getSubject();
- }
- }
- return true;
- }
- };
- }
-
- public RyaQueryEngine getRyaQueryEngine() {
- return ryaQueryEngine;
- }
-
- public void setRyaQueryEngine(RyaQueryEngine ryaQueryEngine) {
- this.ryaQueryEngine = ryaQueryEngine;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/persist/utils/RyaDAOHelper.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/persist/utils/RyaDAOHelper.java b/common/rya.api/src/main/java/mvm/rya/api/persist/utils/RyaDAOHelper.java
deleted file mode 100644
index 81f42b4..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/persist/utils/RyaDAOHelper.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package mvm.rya.api.persist.utils;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import info.aduna.iteration.CloseableIteration;
-import mvm.rya.api.RdfCloudTripleStoreConfiguration;
-import mvm.rya.api.RdfCloudTripleStoreUtils;
-import mvm.rya.api.domain.RyaStatement;
-import mvm.rya.api.persist.RyaDAO;
-import mvm.rya.api.persist.RyaDAOException;
-import mvm.rya.api.resolver.RdfToRyaConversions;
-import mvm.rya.api.resolver.RyaToRdfConversions;
-import mvm.rya.api.utils.NullableStatementImpl;
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.query.BindingSet;
-import org.openrdf.query.QueryEvaluationException;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Map;
-import java.util.NoSuchElementException;
-
-/**
- * Date: 7/20/12
- * Time: 10:36 AM
- */
-public class RyaDAOHelper {
-
- public static CloseableIteration<Statement, QueryEvaluationException> query(RyaDAO ryaDAO, Resource subject, URI predicate, Value object, RdfCloudTripleStoreConfiguration conf, Resource... contexts) throws QueryEvaluationException {
- return query(ryaDAO, new NullableStatementImpl(subject, predicate, object, contexts), conf);
- }
-
- public static CloseableIteration<Statement, QueryEvaluationException> query(RyaDAO ryaDAO, Statement stmt, RdfCloudTripleStoreConfiguration conf) throws QueryEvaluationException {
- final CloseableIteration<RyaStatement, RyaDAOException> query;
- try {
- query = ryaDAO.getQueryEngine().query(RdfToRyaConversions.convertStatement(stmt),
- conf);
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- //TODO: only support one context for now
- return new CloseableIteration<Statement, QueryEvaluationException>() { //TODO: Create a new class struct for this
-
- private boolean isClosed = false;
- @Override
- public void close() throws QueryEvaluationException {
- try {
- isClosed = true;
- query.close();
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- }
-
- @Override
- public boolean hasNext() throws QueryEvaluationException {
- try {
- return query.hasNext();
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- }
-
- @Override
- public Statement next() throws QueryEvaluationException {
- if (!hasNext() || isClosed) {
- throw new NoSuchElementException();
- }
-
- try {
- RyaStatement next = query.next();
- if (next == null) {
- return null;
- }
- return RyaToRdfConversions.convertStatement(next);
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- }
-
- @Override
- public void remove() throws QueryEvaluationException {
- try {
- query.remove();
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- }
- };
- }
-
- public static CloseableIteration<? extends Map.Entry<Statement, BindingSet>, QueryEvaluationException> query(RyaDAO ryaDAO, Collection<Map.Entry<Statement, BindingSet>> statements, RdfCloudTripleStoreConfiguration conf) throws QueryEvaluationException {
- Collection<Map.Entry<RyaStatement, BindingSet>> ryaStatements = new ArrayList<Map.Entry<RyaStatement, BindingSet>>(statements.size());
- for (Map.Entry<Statement, BindingSet> entry : statements) {
- ryaStatements.add(new RdfCloudTripleStoreUtils.CustomEntry<RyaStatement, BindingSet>
- (RdfToRyaConversions.convertStatement(entry.getKey()), entry.getValue()));
- }
- final CloseableIteration<? extends Map.Entry<RyaStatement, BindingSet>, RyaDAOException> query;
- try {
- query = ryaDAO.getQueryEngine().queryWithBindingSet(ryaStatements, conf);
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- return new CloseableIteration<Map.Entry<Statement, BindingSet>, QueryEvaluationException>() { //TODO: Create a new class struct for this
- private boolean isClosed = false;
-
- @Override
- public void close() throws QueryEvaluationException {
- isClosed = true;
- try {
- query.close();
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- }
-
- @Override
- public boolean hasNext() throws QueryEvaluationException {
- try {
- return query.hasNext();
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- }
-
- @Override
- public Map.Entry<Statement, BindingSet> next() throws QueryEvaluationException {
- if (!hasNext() || isClosed) {
- throw new NoSuchElementException();
- }
- try {
-
- Map.Entry<RyaStatement, BindingSet> next = query.next();
- if (next == null) {
- return null;
- }
- return new RdfCloudTripleStoreUtils.CustomEntry<Statement, BindingSet>(RyaToRdfConversions.convertStatement(next.getKey()), next.getValue());
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- }
-
- @Override
- public void remove() throws QueryEvaluationException {
- try {
- query.remove();
- } catch (RyaDAOException e) {
- throw new QueryEvaluationException(e);
- }
- }
- };
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/44a2dcf0/common/rya.api/src/main/java/mvm/rya/api/query/strategy/AbstractTriplePatternStrategy.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/mvm/rya/api/query/strategy/AbstractTriplePatternStrategy.java b/common/rya.api/src/main/java/mvm/rya/api/query/strategy/AbstractTriplePatternStrategy.java
deleted file mode 100644
index 5171feb..0000000
--- a/common/rya.api/src/main/java/mvm/rya/api/query/strategy/AbstractTriplePatternStrategy.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package mvm.rya.api.query.strategy;
-
-/*
- * 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
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-
-
-import com.google.common.base.Preconditions;
-import mvm.rya.api.RdfCloudTripleStoreConstants;
-import mvm.rya.api.resolver.RyaContext;
-import mvm.rya.api.resolver.triple.TripleRowRegex;
-
-import static mvm.rya.api.RdfCloudTripleStoreConstants.DELIM;
-import static mvm.rya.api.RdfCloudTripleStoreConstants.TYPE_DELIM;
-
-/**
- * Date: 7/14/12
- * Time: 8:06 AM
- */
-public abstract class AbstractTriplePatternStrategy implements TriplePatternStrategy {
- public static final String ALL_REGEX = "([\\s\\S]*)";
-
- public abstract RdfCloudTripleStoreConstants.TABLE_LAYOUT getLayout();
-
- @Override
- public TripleRowRegex buildRegex(String subject, String predicate, String object, String context, byte[] objectTypeInfo) {
- RdfCloudTripleStoreConstants.TABLE_LAYOUT table_layout = getLayout();
- Preconditions.checkNotNull(table_layout);
- if (subject == null && predicate == null && object == null && context == null && objectTypeInfo == null) {
- return null; //no regex
- }
- StringBuilder sb = new StringBuilder();
- String first = subject;
- String second = predicate;
- String third = object;
- if (table_layout == RdfCloudTripleStoreConstants.TABLE_LAYOUT.PO) {
- first = predicate;
- second = object;
- third = subject;
- } else if (table_layout == RdfCloudTripleStoreConstants.TABLE_LAYOUT.OSP) {
- first = object;
- second = subject;
- third = predicate;
- }
-
- if (first != null) {
- sb.append(first);
- } else {
- sb.append(ALL_REGEX);
- }
- sb.append(DELIM);
-
- if (second != null) {
- sb.append(second);
- } else {
- sb.append(ALL_REGEX);
- }
- sb.append(DELIM);
-
- if (third != null) {
- sb.append(third);
- if (objectTypeInfo == null) {
- sb.append(TYPE_DELIM);
- sb.append(ALL_REGEX);
- }else {
- sb.append(new String(objectTypeInfo));
- }
- }else {
- sb.append(ALL_REGEX);
- if (objectTypeInfo != null) {
- sb.append(new String(objectTypeInfo));
- }
- }
-
- return new TripleRowRegex(sb.toString(), (context != null) ? (context + ALL_REGEX) : null, null);
- }
-}