You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rya.apache.org by mi...@apache.org on 2015/12/07 13:04:45 UTC

[15/51] [partial] incubator-rya git commit: Cannot delete temp branch, doc'd it.

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/indexing/src/test/java/mvm/rya/indexing/external/AccumuloIndexSetTest2.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/mvm/rya/indexing/external/AccumuloIndexSetTest2.java b/extras/indexing/src/test/java/mvm/rya/indexing/external/AccumuloIndexSetTest2.java
deleted file mode 100644
index f93f58a..0000000
--- a/extras/indexing/src/test/java/mvm/rya/indexing/external/AccumuloIndexSetTest2.java
+++ /dev/null
@@ -1,803 +0,0 @@
-package mvm.rya.indexing.external;
-
-/*
- * 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.Arrays;
-import java.util.List;
-
-import junit.framework.Assert;
-import mvm.rya.accumulo.AccumuloRdfConfiguration;
-import mvm.rya.api.persist.RyaDAOException;
-import mvm.rya.indexing.RyaSailFactory;
-import mvm.rya.indexing.accumulo.ConfigUtils;
-import mvm.rya.indexing.external.tupleSet.AccumuloIndexSet;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.MutationsRejectedException;
-import org.apache.accumulo.core.client.TableExistsException;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.client.mock.MockInstance;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.openrdf.model.URI;
-import org.openrdf.model.impl.LiteralImpl;
-import org.openrdf.model.impl.URIImpl;
-import org.openrdf.model.vocabulary.RDF;
-import org.openrdf.model.vocabulary.RDFS;
-import org.openrdf.query.BindingSet;
-import org.openrdf.query.MalformedQueryException;
-import org.openrdf.query.QueryEvaluationException;
-import org.openrdf.query.QueryLanguage;
-import org.openrdf.query.QueryResultHandlerException;
-import org.openrdf.query.TupleQueryResultHandler;
-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.SailException;
-
-public class AccumuloIndexSetTest2 {
-
-    private SailRepositoryConnection conn;
-    private SailRepository repo;
-    private Connector accCon;
-    String tablePrefix = "table_";
-    AccumuloRdfConfiguration conf;
-    URI sub, sub2, obj, obj2, subclass, subclass2, talksTo;
-
-    @Before
-    public void init() throws RepositoryException, TupleQueryResultHandlerException, QueryEvaluationException,
-            MalformedQueryException, AccumuloException, AccumuloSecurityException, TableExistsException,
-            RyaDAOException {
-
-        conf = new AccumuloRdfConfiguration();
-        conf.set(ConfigUtils.USE_PCJ, "true");
-        conf.set(ConfigUtils.USE_MOCK_INSTANCE, "true");
-        conf.set(ConfigUtils.CLOUDBASE_INSTANCE, "instance");
-        conf.setTablePrefix(tablePrefix);
-        conf.setPcjTables(Arrays.asList("table1", "table2"));
-
-        Sail sail = RyaSailFactory.getInstance(conf);
-        repo = new SailRepository(sail);
-        repo.initialize();
-        conn = repo.getConnection();
-
-        sub = new URIImpl("uri:entity");
-        subclass = new URIImpl("uri:class");
-        obj = new URIImpl("uri:obj");
-        talksTo = new URIImpl("uri:talksTo");
-
-        conn.add(sub, RDF.TYPE, subclass);
-        conn.add(sub, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(sub, talksTo, obj);
-
-        sub2 = new URIImpl("uri:entity2");
-        subclass2 = new URIImpl("uri:class2");
-        obj2 = new URIImpl("uri:obj2");
-
-        conn.add(sub2, RDF.TYPE, subclass2);
-        conn.add(sub2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(sub2, talksTo, obj2);
-
-        accCon = new MockInstance("instance").getConnector("root", new PasswordToken("".getBytes()));
-        accCon.tableOperations().create("table1");
-        accCon.tableOperations().create("table2");
-
-    }
-
-    @After
-    public void close() throws RepositoryException, AccumuloException, AccumuloSecurityException,
-            TableNotFoundException {
-
-        conf = null;
-        conn.close();
-        accCon.tableOperations().delete(tablePrefix + "spo");
-        accCon.tableOperations().delete(tablePrefix + "po");
-        accCon.tableOperations().delete(tablePrefix + "osp");
-
-        if (accCon.tableOperations().exists("table1")) {
-            accCon.tableOperations().delete("table1");
-        }
-
-        if (accCon.tableOperations().exists("table2")) {
-            accCon.tableOperations().delete("table2");
-        }
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexTwoVarOrder2() throws RepositoryException, MalformedQueryException, SailException,
-            QueryEvaluationException, MutationsRejectedException, TableNotFoundException,
-            TupleQueryResultHandlerException {
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        String indexSparqlString = ""//
-                + "SELECT ?c ?e ?l  " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?e ?o ?l " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l . "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(2, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexTwoVarInvalidOrder() throws RepositoryException, MalformedQueryException,
-            SailException, QueryEvaluationException, MutationsRejectedException, TableNotFoundException,
-            TupleQueryResultHandlerException {
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        String indexSparqlString = ""//
-                + "SELECT ?e ?c ?l  " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?e ?o ?l " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l . "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(2, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexThreeVarOrder1() throws MalformedQueryException, SailException,
-            QueryEvaluationException, MutationsRejectedException, TableNotFoundException, RepositoryException,
-            TupleQueryResultHandlerException {
-
-        URI superclass = new URIImpl("uri:superclass");
-        URI superclass2 = new URIImpl("uri:superclass2");
-
-        conn.add(subclass, RDF.TYPE, superclass);
-        conn.add(subclass2, RDF.TYPE, superclass2);
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        String indexSparqlString = ""//
-                + "SELECT ?c ?e ?l  " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?e ?c ?l ?f ?o" //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?f ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(2, crh.getCount());
-
-    }
-
-    // @Test
-    public void testEvaluateTwoIndexThreeVarsDiffLabel() throws RepositoryException, MalformedQueryException,
-            SailException, QueryEvaluationException, MutationsRejectedException, TableNotFoundException,
-            TupleQueryResultHandlerException {
-
-        URI superclass = new URIImpl("uri:superclass");
-        URI superclass2 = new URIImpl("uri:superclass2");
-        conn.add(subclass, RDF.TYPE, superclass);
-        conn.add(subclass2, RDF.TYPE, superclass2);
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        // TODO Auto-generated method stub
-        String indexSparqlString = ""//
-                + "SELECT ?dog ?pig ?owl  " //
-                + "{" //
-                + "  ?pig a ?dog . "//
-                + "  ?pig <http://www.w3.org/2000/01/rdf-schema#label> ?owl "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?e ?c ?l ?f ?o" //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?f ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(2, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexThreeVarOrder2() throws RepositoryException, MalformedQueryException,
-            SailException, QueryEvaluationException, MutationsRejectedException, TableNotFoundException,
-            TupleQueryResultHandlerException {
-
-        URI superclass = new URIImpl("uri:superclass");
-        URI superclass2 = new URIImpl("uri:superclass2");
-
-        conn.add(subclass, RDF.TYPE, superclass);
-        conn.add(subclass2, RDF.TYPE, superclass2);
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        // TODO Auto-generated method stub
-        String indexSparqlString = ""//
-                + "SELECT ?c ?e ?l  " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?o ?f ?e ?c ?l  " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?f ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(2, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexThreeVarOrder3ThreeBindingSet() throws TupleQueryResultHandlerException,
-            QueryEvaluationException, MalformedQueryException, RepositoryException, SailException,
-            MutationsRejectedException, TableNotFoundException {
-
-        URI sub3 = new URIImpl("uri:entity3");
-        URI subclass3 = new URIImpl("uri:class3");
-        URI obj3 = new URIImpl("uri:obj3");
-
-        URI superclass = new URIImpl("uri:superclass");
-        URI superclass2 = new URIImpl("uri:superclass2");
-        URI superclass3 = new URIImpl("uri:superclass3");
-
-        conn.add(sub3, RDF.TYPE, subclass3);
-        conn.add(sub3, RDFS.LABEL, new LiteralImpl("label3"));
-        conn.add(sub3, talksTo, obj3);
-
-        conn.add(subclass, RDF.TYPE, superclass);
-        conn.add(subclass2, RDF.TYPE, superclass2);
-        conn.add(subclass3, RDF.TYPE, superclass3);
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(obj3, RDFS.LABEL, new LiteralImpl("label3"));
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        String indexSparqlString = ""//
-                + "SELECT ?c ?e ?l  " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?o ?f ?l ?e ?c  " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?f ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(3, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexThreeVarOrder5ThreeBindingSet() throws MalformedQueryException, SailException,
-            QueryEvaluationException, MutationsRejectedException, TableNotFoundException, RepositoryException,
-            TupleQueryResultHandlerException {
-
-        URI sub3 = new URIImpl("uri:entity3");
-        URI subclass3 = new URIImpl("uri:class3");
-        URI obj3 = new URIImpl("uri:obj3");
-
-        URI superclass = new URIImpl("uri:superclass");
-        URI superclass2 = new URIImpl("uri:superclass2");
-        URI superclass3 = new URIImpl("uri:superclass3");
-
-        conn.add(sub3, RDF.TYPE, subclass3);
-        conn.add(sub3, RDFS.LABEL, new LiteralImpl("label3"));
-        conn.add(sub3, talksTo, obj3);
-
-        conn.add(subclass, RDF.TYPE, superclass);
-        conn.add(subclass2, RDF.TYPE, superclass2);
-        conn.add(subclass3, RDF.TYPE, superclass3);
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(obj3, RDFS.LABEL, new LiteralImpl("label3"));
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        // TODO Auto-generated method stub
-        String indexSparqlString = ""//
-                + "SELECT ?c ?e ?l  " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?o ?f ?e ?l ?c  " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?f ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(3, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexThreeVarOrder4ThreeBindingSet() throws MalformedQueryException, SailException,
-            QueryEvaluationException, MutationsRejectedException, TableNotFoundException, RepositoryException,
-            TupleQueryResultHandlerException {
-
-        URI sub3 = new URIImpl("uri:entity3");
-        URI subclass3 = new URIImpl("uri:class3");
-        URI obj3 = new URIImpl("uri:obj3");
-
-        URI superclass = new URIImpl("uri:superclass");
-        URI superclass2 = new URIImpl("uri:superclass2");
-        URI superclass3 = new URIImpl("uri:superclass3");
-
-        conn.add(sub3, RDF.TYPE, subclass3);
-        conn.add(sub3, RDFS.LABEL, new LiteralImpl("label3"));
-        conn.add(sub3, talksTo, obj3);
-
-        conn.add(subclass, RDF.TYPE, superclass);
-        conn.add(subclass2, RDF.TYPE, superclass2);
-        conn.add(subclass3, RDF.TYPE, superclass3);
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(obj3, RDFS.LABEL, new LiteralImpl("label3"));
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        // TODO Auto-generated method stub
-        String indexSparqlString = ""//
-                + "SELECT ?c ?e ?l  " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?o ?f ?c ?e ?l  " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?f ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(3, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexThreeVarOrder6ThreeBindingSet() throws MalformedQueryException, SailException,
-            QueryEvaluationException, MutationsRejectedException, TableNotFoundException, RepositoryException,
-            TupleQueryResultHandlerException {
-
-        URI sub3 = new URIImpl("uri:entity3");
-        URI subclass3 = new URIImpl("uri:class3");
-        URI obj3 = new URIImpl("uri:obj3");
-
-        URI superclass = new URIImpl("uri:superclass");
-        URI superclass2 = new URIImpl("uri:superclass2");
-        URI superclass3 = new URIImpl("uri:superclass3");
-
-        conn.add(sub3, RDF.TYPE, subclass3);
-        conn.add(sub3, RDFS.LABEL, new LiteralImpl("label3"));
-        conn.add(sub3, talksTo, obj3);
-
-        conn.add(subclass, RDF.TYPE, superclass);
-        conn.add(subclass2, RDF.TYPE, superclass2);
-        conn.add(subclass3, RDF.TYPE, superclass3);
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(obj3, RDFS.LABEL, new LiteralImpl("label3"));
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        String indexSparqlString = ""//
-                + "SELECT ?c ?e ?l  " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?c ?l ?e ?o ?f " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?f ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(3, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexThreeVarOrder7ThreeBindingSet() throws MalformedQueryException, SailException,
-            QueryEvaluationException, MutationsRejectedException, TableNotFoundException, RepositoryException,
-            TupleQueryResultHandlerException {
-
-        URI sub3 = new URIImpl("uri:entity3");
-        URI subclass3 = new URIImpl("uri:class3");
-        URI obj3 = new URIImpl("uri:obj3");
-
-        URI superclass = new URIImpl("uri:superclass");
-        URI superclass2 = new URIImpl("uri:superclass2");
-        URI superclass3 = new URIImpl("uri:superclass3");
-
-        conn.add(sub3, RDF.TYPE, subclass3);
-        conn.add(sub3, RDFS.LABEL, new LiteralImpl("label3"));
-        conn.add(sub3, talksTo, obj3);
-
-        conn.add(subclass, RDF.TYPE, superclass);
-        conn.add(subclass2, RDF.TYPE, superclass2);
-        conn.add(subclass3, RDF.TYPE, superclass3);
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(obj3, RDFS.LABEL, new LiteralImpl("label3"));
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        String indexSparqlString = ""//
-                + "SELECT ?c ?e ?l  " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?o ?l ?c ?e ?f " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?f ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(3, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateOneIndex() throws RepositoryException, MalformedQueryException, SailException,
-            QueryEvaluationException, MutationsRejectedException, TableNotFoundException,
-            TupleQueryResultHandlerException {
-
-        String indexSparqlString = ""//
-                + "SELECT ?dog ?pig ?duck  " //
-                + "{" //
-                + "  ?pig a ?dog . "//
-                + "  ?pig <http://www.w3.org/2000/01/rdf-schema#label> ?duck "//
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, indexSparqlString).evaluate(crh);
-
-        Assert.assertEquals(2, crh.getCount());
-
-    }
-
-    @Test
-    public void testEvaluateTwoIndexThreeVarOrder3() throws RepositoryException, MalformedQueryException,
-            SailException, QueryEvaluationException, MutationsRejectedException, TableNotFoundException,
-            TupleQueryResultHandlerException {
-
-        URI superclass = new URIImpl("uri:superclass");
-        URI superclass2 = new URIImpl("uri:superclass2");
-
-        conn.add(subclass, RDF.TYPE, superclass);
-        conn.add(subclass2, RDF.TYPE, superclass2);
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
-        String indexSparqlString = ""//
-                + "SELECT ?dog ?pig ?duck  " //
-                + "{" //
-                + "  ?pig a ?dog . "//
-                + "  ?pig <http://www.w3.org/2000/01/rdf-schema#label> ?duck "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?o ?f ?e ?c ?l  " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?f ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l. "//
-                + "  ?c a ?f . " //
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, "table1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, "table2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(2, crh.getCount());
-
-    }
-
-    public static class CountingResultHandler implements TupleQueryResultHandler {
-        private int count = 0;
-
-        public int getCount() {
-            return count;
-        }
-
-        public void resetCount() {
-            this.count = 0;
-        }
-
-        @Override
-        public void startQueryResult(List<String> arg0) throws TupleQueryResultHandlerException {
-        }
-
-        @Override
-        public void handleSolution(BindingSet arg0) throws TupleQueryResultHandlerException {
-            count++;
-        }
-
-        @Override
-        public void endQueryResult() throws TupleQueryResultHandlerException {
-        }
-
-        @Override
-        public void handleBoolean(boolean arg0) throws QueryResultHandlerException {
-            // TODO Auto-generated method stub
-
-        }
-
-        @Override
-        public void handleLinks(List<String> arg0) throws QueryResultHandlerException {
-            // TODO Auto-generated method stub
-
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/indexing/src/test/java/mvm/rya/indexing/external/PrecompJoinOptimizerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/mvm/rya/indexing/external/PrecompJoinOptimizerIntegrationTest.java b/extras/indexing/src/test/java/mvm/rya/indexing/external/PrecompJoinOptimizerIntegrationTest.java
deleted file mode 100644
index f7f3cbf..0000000
--- a/extras/indexing/src/test/java/mvm/rya/indexing/external/PrecompJoinOptimizerIntegrationTest.java
+++ /dev/null
@@ -1,550 +0,0 @@
-package mvm.rya.indexing.external;
-
-/*
- * 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 java.util.Map;
-import java.util.Map.Entry;
-
-import junit.framework.Assert;
-import mvm.rya.accumulo.AccumuloRdfConfiguration;
-import mvm.rya.api.persist.RyaDAOException;
-import mvm.rya.indexing.RyaSailFactory;
-import mvm.rya.indexing.accumulo.ConfigUtils;
-import mvm.rya.indexing.external.tupleSet.AccumuloIndexSet;
-
-import org.apache.accumulo.core.client.AccumuloException;
-import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.Connector;
-import org.apache.accumulo.core.client.Scanner;
-import org.apache.accumulo.core.client.TableExistsException;
-import org.apache.accumulo.core.client.TableNotFoundException;
-import org.apache.accumulo.core.client.mock.MockInstance;
-import org.apache.accumulo.core.client.security.tokens.PasswordToken;
-import org.apache.accumulo.core.data.Key;
-import org.apache.accumulo.core.data.Value;
-import org.apache.accumulo.core.security.Authorizations;
-import org.apache.hadoop.conf.Configuration;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.openrdf.model.URI;
-import org.openrdf.model.impl.LiteralImpl;
-import org.openrdf.model.impl.URIImpl;
-import org.openrdf.model.vocabulary.RDF;
-import org.openrdf.model.vocabulary.RDFS;
-import org.openrdf.query.BindingSet;
-import org.openrdf.query.MalformedQueryException;
-import org.openrdf.query.QueryEvaluationException;
-import org.openrdf.query.QueryLanguage;
-import org.openrdf.query.QueryResultHandlerException;
-import org.openrdf.query.TupleQueryResultHandler;
-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.SailException;
-import org.openrdf.sail.memory.MemoryStore;
-
-public class PrecompJoinOptimizerIntegrationTest {
-
-    private SailRepositoryConnection conn;
-    private SailRepository repo;
-    private Connector accCon;
-    String tablePrefix = "table_";
-    AccumuloRdfConfiguration conf;
-    URI sub, sub2, obj,obj2,subclass, subclass2, talksTo;
-   
-    
-    
-    
-    @Before
-    public void init() throws RepositoryException, TupleQueryResultHandlerException, QueryEvaluationException, MalformedQueryException, 
-    AccumuloException, AccumuloSecurityException, TableExistsException, RyaDAOException {
-
-        conf = new AccumuloRdfConfiguration();
-        conf.set(ConfigUtils.USE_PCJ, "true");
-        conf.set(ConfigUtils.USE_MOCK_INSTANCE,"true");
-        conf.set(ConfigUtils.CLOUDBASE_INSTANCE, "instance");
-        conf.setTablePrefix(tablePrefix);
-        
-        Sail sail = RyaSailFactory.getInstance(conf);
-        repo = new SailRepository(sail);
-        repo.initialize();
-        conn = repo.getConnection();
-
-        sub = new URIImpl("uri:entity");
-        subclass = new URIImpl("uri:class");
-        obj = new URIImpl("uri:obj");
-        talksTo = new URIImpl("uri:talksTo");
-
-        conn.add(sub, RDF.TYPE, subclass);
-        conn.add(sub, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(sub, talksTo, obj);
-
-        sub2 = new URIImpl("uri:entity2");
-        subclass2 = new URIImpl("uri:class2");
-        obj2 = new URIImpl("uri:obj2");
-
-        conn.add(sub2, RDF.TYPE, subclass2);
-        conn.add(sub2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(sub2, talksTo, obj2);
-
-        accCon = new MockInstance("instance").getConnector("root",new PasswordToken("".getBytes()));
-
-    }
-    
-    
-   @After
-   public void close() throws RepositoryException, AccumuloException, AccumuloSecurityException, TableNotFoundException {
-       
-       conf = null;
-       conn.close();
-       accCon.tableOperations().delete(tablePrefix + "spo");
-       accCon.tableOperations().delete(tablePrefix + "po");
-       accCon.tableOperations().delete(tablePrefix + "osp");
-   }
-    
-    
-    
-    @Test
-    public void testEvaluateSingeIndex() throws TupleQueryResultHandlerException, QueryEvaluationException,
-    MalformedQueryException, RepositoryException, AccumuloException, 
-    AccumuloSecurityException, TableExistsException, RyaDAOException, SailException, TableNotFoundException {
-
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX1")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX1");
-        }
-        accCon.tableOperations().create(tablePrefix + "INDEX1");
-        
-        String indexSparqlString = ""//
-                + "SELECT ?e ?l ?c " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-      
-        AccumuloIndexSet ais = new AccumuloIndexSet(indexSparqlString, conn, accCon, tablePrefix + "INDEX1");
-         
-       
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l . "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "}";//
-
-        CountingResultHandler crh = new CountingResultHandler();       
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-        
-//        Scanner scan = accCon.createScanner(tablePrefix + "spo", new Authorizations("U"));
-//        
-//        for(Entry<Key,Value> e: scan) {
-//            System.out.println(e.getKey().getRow());
-//        }
-        
-        Assert.assertEquals(2, crh.getCount());
-        
-         
-    }
-    
-    
-    
-    
-    
-    
-    @Test
-    public void testEvaluateTwoIndexTwoVarOrder1() throws AccumuloException, AccumuloSecurityException, 
-    TableExistsException, RepositoryException, MalformedQueryException, SailException, QueryEvaluationException, 
-    TableNotFoundException, TupleQueryResultHandlerException, RyaDAOException {
-        
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX1")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX1");
-        }
-
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX2")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX2");
-        }
-
-        accCon.tableOperations().create(tablePrefix + "INDEX1");
-        accCon.tableOperations().create(tablePrefix + "INDEX2");
-        
-        
-        
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-
- 
-        String indexSparqlString = ""//
-                + "SELECT ?e ?l ?c " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?e ?o ?l " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?o " //
-                + "{" //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l . "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, tablePrefix + "INDEX1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, tablePrefix + "INDEX2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-        Assert.assertEquals(2, crh.getCount());
-     
-
-        
-        
-    }
-    
-    
-    @Test
-    public void testEvaluateSingeFilterIndex() throws TupleQueryResultHandlerException, QueryEvaluationException,
-    MalformedQueryException, RepositoryException, AccumuloException, 
-    AccumuloSecurityException, TableExistsException, RyaDAOException, SailException, TableNotFoundException {
-
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX1")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX1");
-        }
-        accCon.tableOperations().create(tablePrefix + "INDEX1");
-        
-        String indexSparqlString = ""//
-                + "SELECT ?e ?l ?c " //
-                + "{" //
-                + "  Filter(?e = <uri:entity>) " //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-      
-        AccumuloIndexSet ais = new AccumuloIndexSet(indexSparqlString, conn, accCon, tablePrefix + "INDEX1");
-         
-       
-        String queryString = ""//
-                + "SELECT ?e ?c ?l ?o " //
-                + "{" //
-                + "   Filter(?e = <uri:entity>) " //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l . "//
-                + "  ?e <uri:talksTo> ?o . "//
-                + "}";//
-
-        CountingResultHandler crh = new CountingResultHandler();       
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-        
-        Assert.assertEquals(1, crh.getCount());
-        
-         
-    }
-    
-    
-    
-    
-    @Test
-    public void testEvaluateSingeFilterWithUnion() throws TupleQueryResultHandlerException, QueryEvaluationException,
-    MalformedQueryException, RepositoryException, AccumuloException, 
-    AccumuloSecurityException, TableExistsException, RyaDAOException, SailException, TableNotFoundException {
-
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX2")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX2");
-        }
-        accCon.tableOperations().create(tablePrefix + "INDEX2");
-        
-        String indexSparqlString2 = ""//
-                + "SELECT ?e ?l ?c " //
-                + "{" //
-                + "  Filter(?l = \"label2\") " //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-      
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, tablePrefix + "INDEX2");
-         
-       
-        String queryString = ""//
-                + "SELECT ?e ?c ?o ?m ?l" //
-                + "{" //
-                + "   Filter(?l = \"label2\") " //
-                + "  ?e <uri:talksTo> ?o . "//
-                + " { ?e a ?c .  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?m  }"//
-                + " UNION { ?e a ?c .  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l  }"//
-                + "}";//
-
-        CountingResultHandler crh = new CountingResultHandler();       
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-        
-        Assert.assertEquals(1, crh.getCount());
-        
-         
-    }
-    
-    
-    
-    @Test
-    public void testEvaluateSingeFilterWithLeftJoin() throws TupleQueryResultHandlerException, QueryEvaluationException,
-    MalformedQueryException, RepositoryException, AccumuloException, 
-    AccumuloSecurityException, TableExistsException, RyaDAOException, SailException, TableNotFoundException {
-
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX1")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX1");
-        }
-        accCon.tableOperations().create(tablePrefix + "INDEX1");
-        
-        String indexSparqlString1 = ""//
-                + "SELECT ?e ?l ?c " //
-                + "{" //
-                + "  Filter(?l = \"label3\") " //
-                + "  ?e a ?c . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-        
-   
-        URI sub3 = new URIImpl("uri:entity3");
-        URI subclass3 = new URIImpl("uri:class3");
-        conn.add(sub3, RDF.TYPE, subclass3);
-        conn.add(sub3,RDFS.LABEL, new LiteralImpl("label3"));
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString1, conn, accCon, tablePrefix + "INDEX1");
-        
-        String queryString = ""//
-                + "SELECT ?e ?c ?o ?m ?l" //
-                + "{" //
-                + "  Filter(?l = \"label3\") " //
-                + "  ?e a ?c . " //  
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l . " //
-                + "  OPTIONAL { ?e <uri:talksTo> ?o . ?e <http://www.w3.org/2000/01/rdf-schema#label> ?m }"//
-                + "}";//
-
-        CountingResultHandler crh = new CountingResultHandler();       
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-        
-        Assert.assertEquals(1, crh.getCount());
-        
-         
-    }
-    
-    
-    
-    
-    
-    
-    
-    @Test
-    public void testEvaluateTwoIndexUnionFilter() throws AccumuloException, AccumuloSecurityException, 
-    TableExistsException, RepositoryException, MalformedQueryException, SailException, QueryEvaluationException, 
-    TableNotFoundException, TupleQueryResultHandlerException, RyaDAOException {
-        
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX1")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX1");
-        }
-
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX2")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX2");
-        }
-
-        accCon.tableOperations().create(tablePrefix + "INDEX1");
-        accCon.tableOperations().create(tablePrefix + "INDEX2");
-           
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(sub, RDF.TYPE, obj);
-        conn.add(sub2, RDF.TYPE, obj2);
-     
-     
-        String indexSparqlString = ""//
-                + "SELECT ?e ?l ?o " //
-                + "{" //
-                + "   Filter(?l = \"label2\") " //
-                + "  ?e a ?o . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?e ?l ?o " //
-                + "{" //
-                + "   Filter(?l = \"label2\") " //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?c ?e ?l ?o " //
-                + "{" //
-                + "   Filter(?l = \"label2\") " //
-                + "  ?e a ?c . "//
-                + " { ?e a ?o .  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l  }"//
-                + " UNION { ?e <uri:talksTo> ?o .  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l  }"//
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, tablePrefix + "INDEX1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, tablePrefix + "INDEX2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-          
-        Assert.assertEquals(6, crh.getCount());
-     
-
-     
-    }
-    
-    
-    
-    
-    
-    @Test
-    public void testEvaluateTwoIndexLeftJoinUnionFilter() throws AccumuloException, AccumuloSecurityException, 
-    TableExistsException, RepositoryException, MalformedQueryException, SailException, QueryEvaluationException, 
-    TableNotFoundException, TupleQueryResultHandlerException, RyaDAOException {
-        
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX1")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX1");
-        }
-
-        if (accCon.tableOperations().exists(tablePrefix + "INDEX2")) {
-            accCon.tableOperations().delete(tablePrefix + "INDEX2");
-        }
-
-        accCon.tableOperations().create(tablePrefix + "INDEX1");
-        accCon.tableOperations().create(tablePrefix + "INDEX2");
-           
-        conn.add(obj, RDFS.LABEL, new LiteralImpl("label"));
-        conn.add(obj2, RDFS.LABEL, new LiteralImpl("label2"));
-        conn.add(sub, RDF.TYPE, obj);
-        conn.add(sub2, RDF.TYPE, obj2);
-        
-        URI livesIn = new URIImpl("uri:livesIn");
-        URI city = new URIImpl("uri:city");
-        URI city2 = new URIImpl("uri:city2");
-        URI city3 = new URIImpl("uri:city3");
-        conn.add(sub,livesIn,city);
-        conn.add(sub2,livesIn,city2);
-        conn.add(sub2,livesIn,city3);
-        conn.add(sub,livesIn,city3);
-       
-     
-        String indexSparqlString = ""//
-                + "SELECT ?e ?l ?o " //
-                + "{" //
-                + "  ?e a ?o . "//
-                + "  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String indexSparqlString2 = ""//
-                + "SELECT ?e ?l ?o " //
-                + "{" //
-                + "  ?e <uri:talksTo> ?o . "//
-                + "  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l "//
-                + "}";//
-
-        String queryString = ""//
-                + "SELECT ?c ?e ?l ?o " //
-                + "{" //
-                + " Filter(?c = <uri:city3>) " //
-                + " ?e <uri:livesIn> ?c . "//
-                + " OPTIONAL{{ ?e a ?o .  ?e <http://www.w3.org/2000/01/rdf-schema#label> ?l  }"//
-                + " UNION { ?e <uri:talksTo> ?o .  ?o <http://www.w3.org/2000/01/rdf-schema#label> ?l  }}"//
-                + "}";//
-
-        AccumuloIndexSet ais1 = new AccumuloIndexSet(indexSparqlString, conn, accCon, tablePrefix + "INDEX1");
-        AccumuloIndexSet ais2 = new AccumuloIndexSet(indexSparqlString2, conn, accCon, tablePrefix + "INDEX2");
-
-        CountingResultHandler crh = new CountingResultHandler();
-        conn.prepareTupleQuery(QueryLanguage.SPARQL, queryString).evaluate(crh);
-
-//        Scanner scan = accCon.createScanner(tablePrefix + "spo", new Authorizations("U"));
-//        
-//        for(Entry<Key,Value> e: scan) {
-//            System.out.println(e.getKey().getRow());
-//        }
-        
-        Assert.assertEquals(6, crh.getCount());
-     
-
-     
-    }
-    
-    
-    
-    
-    public static class CountingResultHandler implements TupleQueryResultHandler {
-        private int count = 0;
-
-        public int getCount() {
-            return count;
-        }
-
-        public void resetCount() {
-            this.count = 0;
-        }
-
-        @Override
-        public void startQueryResult(List<String> arg0) throws TupleQueryResultHandlerException {
-        }
-
-
-        @Override
-        public void handleSolution(BindingSet arg0) throws TupleQueryResultHandlerException {
-            System.out.println(arg0);
-            count++;
-            System.out.println("Count is " + count);
-        }
-
-        @Override
-        public void endQueryResult() throws TupleQueryResultHandlerException {
-        }
-
-        @Override
-        public void handleBoolean(boolean arg0) throws QueryResultHandlerException {
-            // TODO Auto-generated method stub
-
-        }
-
-        @Override
-        public void handleLinks(List<String> arg0) throws QueryResultHandlerException {
-            // TODO Auto-generated method stub
-
-        }
-    }
-    
-    
-    
-    
-    
-}
-    
-    
-    
-    

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/5a03ef61/extras/indexing/src/test/java/mvm/rya/indexing/external/PrecompJoinOptimizerTest.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/mvm/rya/indexing/external/PrecompJoinOptimizerTest.java b/extras/indexing/src/test/java/mvm/rya/indexing/external/PrecompJoinOptimizerTest.java
deleted file mode 100644
index 396224f..0000000
--- a/extras/indexing/src/test/java/mvm/rya/indexing/external/PrecompJoinOptimizerTest.java
+++ /dev/null
@@ -1,521 +0,0 @@
-package mvm.rya.indexing.external;
-
-/*
- * 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.ArrayList;
-import java.util.List;
-
-import junit.framework.Assert;
-import mvm.rya.indexing.external.tupleSet.ExternalTupleSet;
-import mvm.rya.indexing.external.tupleSet.SimpleExternalTupleSet;
-
-import org.junit.Test;
-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.openrdf.query.algebra.helpers.StatementPatternCollector;
-import org.openrdf.query.parser.ParsedQuery;
-import org.openrdf.query.parser.sparql.SPARQLParser;
-
-import com.beust.jcommander.internal.Lists;
-
-public class PrecompJoinOptimizerTest {
-
-    private String q7 = ""//
-            + "SELECT ?s ?t ?u " //
-            + "{" //
-            + "  ?s a ?t ."//
-            + "  ?t <http://www.w3.org/2000/01/rdf-schema#label> ?u ."//
-            + "  ?u <uri:talksTo> ?s . "//
-            + "}";//
-    
-    private String q8 = ""//
-            + "SELECT ?e ?l ?c " //
-            + "{" //
-            + "  ?e a ?l ."//
-            + "  ?l <http://www.w3.org/2000/01/rdf-schema#label> ?c ."//
-            + "  ?c <uri:talksTo> ?e . "//
-            + "}";//
-    
-    private String q9 = ""//
-            + "SELECT ?f ?m ?d " //
-            + "{" //
-            + "  ?f a ?m ."//
-            + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-            + "  ?d <uri:talksTo> ?f . "//
-            + "}";//
-    
-    
-    
-    
-    private String q15 = ""//
-            + "SELECT ?f ?m ?d ?e ?l ?c " //
-            + "{" //
-            + "  ?f a ?m ."//
-            + "  ?e a ?l ."//
-            + "  ?d <uri:talksTo> ?f . "//
-            + "  ?c <uri:talksTo> ?e . "//
-            + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-            + "  ?l <http://www.w3.org/2000/01/rdf-schema#label> ?c ."//
-            + "}";//
-    
-    private String q16 = ""//
-            + "SELECT ?f ?m ?d ?e ?l " //
-            + "{" //
-            + "  ?d <uri:talksTo> ?f . "//
-            + "  ?d <uri:talksTo> ?e . "//
-            + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-            + "  ?l <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-            + "}";//
-    
-    private String q17 = ""//
-            + "SELECT ?chicken ?dog ?cat  " //
-            + "{" //
-            + "  ?chicken <uri:talksTo> ?dog . "//
-            + "  ?cat <http://www.w3.org/2000/01/rdf-schema#label> ?chicken ."//
-            + "}";//
-    
-    private String q18 = ""//
-            + "SELECT ?dog ?chicken " //
-            + "{" //
-            + "  ?chicken <uri:talksTo> ?dog . "//
-            + "}";//
-    
-    private String q19 = ""//
-            + "SELECT ?cat ?chicken " //
-            + "{" //
-            + "  ?cat <http://www.w3.org/2000/01/rdf-schema#label> ?chicken ."//
-            + "}";//
-    
-    
-    private String q20 = ""//
-            + "SELECT ?f ?m ?d ?e ?l ?c " //
-            + "{" //
-            + "  ?f a ?m ."//
-            + "  ?e a ?l ."//
-            + "  ?d <uri:talksTo> ?f . "//
-            + "  ?c <uri:talksTo> ?e . "//
-            + "  ?m <uri:talksTo> ?e . "//
-            + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-            + "  ?l <http://www.w3.org/2000/01/rdf-schema#label> ?c ."//
-            + "}";//
-    
-    
-    
-    private String q21 = ""//
-            + "SELECT ?u ?s ?t " //
-            + "{" //
-            + "  ?s a ?t ."//
-            + "  ?t <http://www.w3.org/2000/01/rdf-schema#label> ?u ."//
-            + "  ?u <uri:talksTo> ?s . "//
-            + "}";//
-    
-    
-    
-    @Test
-    public void testSingleIndex() throws Exception {
-
-        SPARQLParser parser = new SPARQLParser();
-        
-
-        ParsedQuery pq1 = parser.parseQuery(q15, null);
-        ParsedQuery pq2 = parser.parseQuery(q7, null);
-        ParsedQuery pq3 = parser.parseQuery(q8, null);
-        ParsedQuery pq4 = parser.parseQuery(q9, null);
-       
-        SimpleExternalTupleSet extTup1 = new SimpleExternalTupleSet((Projection) pq2.getTupleExpr());
-        SimpleExternalTupleSet extTup2 = new SimpleExternalTupleSet((Projection) pq3.getTupleExpr());
-        SimpleExternalTupleSet extTup3 = new SimpleExternalTupleSet((Projection) pq4.getTupleExpr());
-
-        List<ExternalTupleSet> list = new ArrayList<ExternalTupleSet>();
-
-        list.add(extTup1);
-        
-        List<QueryModelNode> optTupNodes = Lists.newArrayList();
-        optTupNodes.add(extTup2);
-        optTupNodes.add(extTup3);
-
-        PrecompJoinOptimizer pcj = new PrecompJoinOptimizer(list, true);
-        TupleExpr te = pq1.getTupleExpr();
-        pcj.optimize(te, null, null);
-        
-        NodeCollector nc = new NodeCollector();
-        te.visit(nc);
-        
-        List<QueryModelNode> qNodes = nc.getNodes();
-             
-        
-        Assert.assertEquals(qNodes.size(), optTupNodes.size());
-        for(QueryModelNode node: qNodes) {
-            Assert.assertTrue(optTupNodes.contains(node));
-        }
-               
-
-    }
-    
-    
-    
-    
-    
-    @Test
-    public void testSingleIndex2() throws Exception {
-
-        String q1 = ""//
-                + "SELECT ?f ?m ?d ?e ?l ?c " //
-                + "{" //
-                + "  ?f a ?m ."//
-                + "  ?c a ?l ."//
-                + "  ?d <uri:talksTo> ?f . "//
-                + "  ?e <uri:talksTo> ?c . "//
-                + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-                + "  ?l <http://www.w3.org/2000/01/rdf-schema#label> ?e ."//
-                + "  ?m <uri:talksTo> ?e . "//
-                + "}";//
-
-        String q2 = ""//
-                + "SELECT ?u ?s ?t " //
-                + "{" //
-                + "  ?s a ?t ."//
-                + "  ?t <http://www.w3.org/2000/01/rdf-schema#label> ?u ."//
-                + "  ?u <uri:talksTo> ?s . "//
-                + "}";//
-
-        String q3 = ""//
-                + "SELECT ?e ?c ?l " //
-                + "{" //
-                + "  ?c a ?l ."//
-                + "  ?l <http://www.w3.org/2000/01/rdf-schema#label> ?e ."//
-                + "  ?e <uri:talksTo> ?c . "//
-                + "}";//
-
-        String q4 = ""//
-                + "SELECT ?d ?f ?m " //
-                + "{" //
-                + "  ?f a ?m ."//
-                + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-                + "  ?d <uri:talksTo> ?f . "//
-                + "}";//
-
-        SPARQLParser parser = new SPARQLParser();
-
-        ParsedQuery pq1 = parser.parseQuery(q1, null);
-        ParsedQuery pq2 = parser.parseQuery(q2, null);
-        ParsedQuery pq3 = parser.parseQuery(q3, null);
-        ParsedQuery pq4 = parser.parseQuery(q4, null);
-
-        SimpleExternalTupleSet extTup1 = new SimpleExternalTupleSet((Projection) pq2.getTupleExpr());
-        SimpleExternalTupleSet extTup2 = new SimpleExternalTupleSet((Projection) pq3.getTupleExpr());
-        SimpleExternalTupleSet extTup3 = new SimpleExternalTupleSet((Projection) pq4.getTupleExpr());
-
-        List<ExternalTupleSet> list = new ArrayList<ExternalTupleSet>();
-
-        list.add(extTup1);
-
-        List<StatementPattern> spList = StatementPatternCollector.process(pq1.getTupleExpr());
-        List<QueryModelNode> optTupNodes = Lists.newArrayList();
-        optTupNodes.add(extTup3);
-        optTupNodes.add(spList.get(6));
-        optTupNodes.add(extTup2);
-
-        PrecompJoinOptimizer pcj = new PrecompJoinOptimizer(list, true);
-        TupleExpr te = pq1.getTupleExpr();
-        pcj.optimize(te, null, null);
-
-        NodeCollector nc = new NodeCollector();
-        te.visit(nc);
-
-        //System.out.println("Optimal plan is " + optimalTup);
-
-        List<QueryModelNode> qNodes = nc.getNodes();
-        //System.out.println("Returned list is " + qNodes + " and comp list is " + optTupNodes);
-
-        Assert.assertTrue(qNodes.equals(optTupNodes));
-
-    }
-    
-    
-    
-    
-    
-    
-    
-    
-    @Test
-    public void testTwoIndex() throws Exception {
-
-        String q1 = ""//
-                + "SELECT ?f ?m ?d ?h ?i " //
-                + "{" //
-                + "  ?f a ?m ."//
-                + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-                + "  ?d <uri:talksTo> ?f . "//
-                + "  ?d <uri:hangOutWith> ?f ." //
-                + "  ?f <uri:hangOutWith> ?h ." //
-                + "  ?f <uri:associatesWith> ?i ." //
-                + "  ?i <uri:associatesWith> ?h ." //
-                + "}";//
-
-        String q2 = ""//
-                + "SELECT ?t ?s ?u " //
-                + "{" //
-                + "  ?s a ?t ."//
-                + "  ?t <http://www.w3.org/2000/01/rdf-schema#label> ?u ."//
-                + "  ?u <uri:talksTo> ?s . "//
-                + "}";//
-
-        String q3 = ""//
-                + "SELECT ?s ?t ?u " //
-                + "{" //
-                + "  ?s <uri:hangOutWith> ?t ." //
-                + "  ?t <uri:hangOutWith> ?u ." //
-                + "}";//
-
-        String q4 = ""//
-                + "SELECT ?s ?t ?u " //
-                + "{" //
-                + "  ?s <uri:associatesWith> ?t ." //
-                + "  ?t <uri:associatesWith> ?u ." //
-                + "}";//
-
-        String q5 = ""//
-                + "SELECT ?m ?f ?d " //
-                + "{" //
-                + "  ?f a ?m ."//
-                + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-                + "  ?d <uri:talksTo> ?f . "//
-                + "}";//
-
-        String q6 = ""//
-                + "SELECT ?d ?f ?h " //
-                + "{" //
-                + "  ?d <uri:hangOutWith> ?f ." //
-                + "  ?f <uri:hangOutWith> ?h ." //
-                + "}";//
-
-        String q7 = ""//
-                + "SELECT ?f ?i ?h " //
-                + "{" //
-                + "  ?f <uri:associatesWith> ?i ." //
-                + "  ?i <uri:associatesWith> ?h ." //
-                + "}";//
-
-        SPARQLParser parser = new SPARQLParser();
-
-        ParsedQuery pq1 = parser.parseQuery(q1, null);
-        ParsedQuery pq2 = parser.parseQuery(q2, null);
-        ParsedQuery pq3 = parser.parseQuery(q3, null);
-        ParsedQuery pq4 = parser.parseQuery(q4, null);
-        ParsedQuery pq5 = parser.parseQuery(q5, null);
-        ParsedQuery pq6 = parser.parseQuery(q6, null);
-        ParsedQuery pq7 = parser.parseQuery(q7, null);
-
-        SimpleExternalTupleSet extTup1 = new SimpleExternalTupleSet((Projection) pq2.getTupleExpr());
-        SimpleExternalTupleSet extTup2 = new SimpleExternalTupleSet((Projection) pq3.getTupleExpr());
-        SimpleExternalTupleSet extTup3 = new SimpleExternalTupleSet((Projection) pq4.getTupleExpr());
-        SimpleExternalTupleSet extTup4 = new SimpleExternalTupleSet((Projection) pq5.getTupleExpr());
-        SimpleExternalTupleSet extTup5 = new SimpleExternalTupleSet((Projection) pq6.getTupleExpr());
-        SimpleExternalTupleSet extTup6 = new SimpleExternalTupleSet((Projection) pq7.getTupleExpr());
-
-        List<ExternalTupleSet> list = new ArrayList<ExternalTupleSet>();
-
-        list.add(extTup2);
-        list.add(extTup1);
-        list.add(extTup3);
-
-        List<QueryModelNode> optTupNodes = Lists.newArrayList();
-        optTupNodes.add(extTup4);
-        optTupNodes.add(extTup6);
-        optTupNodes.add(extTup5);
-
-        PrecompJoinOptimizer pcj = new PrecompJoinOptimizer(list, true);
-        TupleExpr te = pq1.getTupleExpr();
-        pcj.optimize(te, null, null);
-
-        System.out.println(te);
-
-        NodeCollector nc = new NodeCollector();
-        te.visit(nc);
-
-        List<QueryModelNode> qNodes = nc.getNodes();
-
-        Assert.assertTrue(qNodes.equals(optTupNodes));
-
-    }
-    
-     
-
-    
-    
-    
-    @Test
-    public void twoIndexFilterTest() {
-        
-        
-        String q1 = ""//
-                + "SELECT ?f ?m ?d ?e ?l ?c " //
-                + "{" //
-                + "  Filter(?f > \"5\")." //
-                + "  Filter(?e > \"5\")." //
-                + "  ?f a ?m ."//
-                + "  ?e a ?l ."//
-                + "  ?d <uri:talksTo> ?f . "//
-                + "  ?c <uri:talksTo> ?e . "//
-                + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-                + "  ?l <http://www.w3.org/2000/01/rdf-schema#label> ?c ."//
-                + "}";//
-        
-        
-        String q2 = ""//
-                + "SELECT ?s ?t ?u " //
-                + "{" //
-                + "  ?s a ?t ."//
-                + "  ?t <http://www.w3.org/2000/01/rdf-schema#label> ?u ."//
-                + "  ?u <uri:talksTo> ?s . "//
-                + "}";//
-        
-        
-        String q3 = ""//
-                + "SELECT ?s ?t ?u " //
-                + "{" //
-                + " Filter(?s > \"5\") ."// 
-                + "  ?s a ?t ."//
-                + "  ?t <http://www.w3.org/2000/01/rdf-schema#label> ?u ."//
-                + "  ?u <uri:talksTo> ?s . "//
-                + "}";//
-        
-        
-        
-        String q4 = ""//
-                + "SELECT ?f ?m ?d " //
-                + "{" //
-                + " Filter(?f > \"5\") ."// 
-                + "  ?f a ?m ."//
-                + "  ?m <http://www.w3.org/2000/01/rdf-schema#label> ?d ."//
-                + "  ?d <uri:talksTo> ?f . "//
-                + "}";//
-        
-        
-        String q5 = ""//
-                + "SELECT ?e ?l ?c " //
-                + "{" //
-                + " Filter(?e > \"5\") ."// 
-                + "  ?e a ?l ."//
-                + "  ?l <http://www.w3.org/2000/01/rdf-schema#label> ?c ."//
-                + "  ?c <uri:talksTo> ?e . "//
-                + "}";//
-        
-        
-        
-        
-        SPARQLParser parser = new SPARQLParser();
-
-        ParsedQuery pq1 = null;
-        ParsedQuery pq2 = null;
-        ParsedQuery pq3 = null;
-        ParsedQuery pq4 = null;
-        ParsedQuery pq5 = null;
-        
-       
-
-        try {
-            pq1 = parser.parseQuery(q1, null);
-            pq2 = parser.parseQuery(q2, null);
-            pq3 = parser.parseQuery(q3, null);
-            pq4 = parser.parseQuery(q4, null);
-            pq5 = parser.parseQuery(q5, null);
-            
-           
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        SimpleExternalTupleSet extTup1 = new SimpleExternalTupleSet((Projection) pq2.getTupleExpr());
-        SimpleExternalTupleSet extTup2 = new SimpleExternalTupleSet((Projection) pq3.getTupleExpr());
-        SimpleExternalTupleSet extTup3 = new SimpleExternalTupleSet((Projection) pq4.getTupleExpr());
-        SimpleExternalTupleSet extTup4 = new SimpleExternalTupleSet((Projection) pq5.getTupleExpr());
-     
-        List<ExternalTupleSet> list = new ArrayList<ExternalTupleSet>();
-
-        list.add(extTup2);
-        list.add(extTup1);
-        
-        List<ExternalTupleSet> list2 = new ArrayList<ExternalTupleSet>();
-
-        list2.add(extTup3);
-        list2.add(extTup4);
-      
-        PrecompJoinOptimizer pcj = new PrecompJoinOptimizer(list, true);
-        TupleExpr te = pq1.getTupleExpr();
-        pcj.optimize(te, null, null);
-
-        System.out.println(te);
-        
-        NodeCollector nc = new NodeCollector();
-        te.visit(nc);
-
-        Assert.assertEquals(nc.getNodes().size(), list2.size());
-
-        for(QueryModelNode e: nc.getNodes()) {
-            Assert.assertTrue(list2.contains((ExternalTupleSet)e));
-        }
-        
-        
-        
-    }
-    
-
-    
-    
-    
-    
- 
-    
-    public static class NodeCollector extends QueryModelVisitorBase<RuntimeException> {
-
-        List<QueryModelNode> qNodes = Lists.newArrayList();
-
-
-        public List<QueryModelNode> getNodes() {
-            return qNodes;
-        }
-        
-       
-
-        @Override
-        public void meetNode(QueryModelNode node) {
-            if(node instanceof StatementPattern || node instanceof ExternalTupleSet) {
-                qNodes.add(node);
-            } 
-            super.meetNode(node);
-            
-        }
-
-     
-    }
-    
-    
-    
-    
-
-
-}