http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/MemStoreTst.java
----------------------------------------------------------------------
diff --git 
a/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/MemStoreTst.java
 
b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/MemStoreTst.java
new file mode 100644
index 0000000..c68e067
--- /dev/null
+++ 
b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/MemStoreTst.java
@@ -0,0 +1,71 @@
+package mvm.mmrts.rdf.partition;
+
+import org.openrdf.model.URI;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.StatementImpl;
+import org.openrdf.model.impl.ValueFactoryImpl;
+import org.openrdf.query.QueryLanguage;
+import org.openrdf.query.TupleQuery;
+import org.openrdf.query.TupleQueryResultHandler;
+import org.openrdf.query.resultio.sparqlxml.SPARQLResultsXMLWriter;
+import org.openrdf.repository.Repository;
+import org.openrdf.repository.RepositoryConnection;
+import org.openrdf.repository.sail.SailRepository;
+import org.openrdf.sail.memory.MemoryStore;
+
+import javax.xml.datatype.DatatypeFactory;
+
+/**
+ * Class MemStoreTst
+ * Date: Aug 30, 2011
+ * Time: 10:04:02 AM
+ */
+public class MemStoreTst {
+    public static final String NAMESPACE = 
"http://here/2010/tracked-data-provenance/ns#";//44 len
+    public static final String RDF_NS = 
"http://www.w3.org/1999/02/22-rdf-syntax-ns#";;
+
+    static ValueFactory vf = ValueFactoryImpl.getInstance();
+
+    public static void main(String[] args) {
+
+        try {
+            MemoryStore store = new MemoryStore();
+            Repository myRepository = new SailRepository(store);
+            myRepository.initialize();
+
+            RepositoryConnection conn = myRepository.getConnection();
+
+            String uuid = "uuid1";
+            conn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(NAMESPACE, "Created")));
+            conn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "createdItem"), vf.createURI(NAMESPACE, 
"objectUuid1")));
+            conn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedBy"), vf.createURI("urn:system:A")));
+            conn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "stringLit"), vf.createLiteral("stringLit1")));
+            conn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "stringLit"), vf.createLiteral("stringLit2")));
+            conn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 0, 0, 0, 0))));
+            conn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "reportedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 1, 0, 0, 0))));
+            conn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "booleanLit"), vf.createLiteral(true)));
+            conn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "booleanLit"), vf.createLiteral(false)));
+
+            conn.commit();
+
+            //query
+            String query = "PREFIX tdp:<" + NAMESPACE + ">\n" +
+                    "SELECT * WHERE {\n" +
+                    "   ?id tdp:createdItem tdp:objectUuid1.\n" +
+                    "   ?id tdp:stringLit ?str.\n" +
+                    "   ?id tdp:booleanLit ?bl.\n" +
+                    "}";
+
+            TupleQuery tupleQuery = conn.prepareTupleQuery(
+                    QueryLanguage.SPARQL, query);
+            TupleQueryResultHandler writer = new 
SPARQLResultsXMLWriter(System.out);
+            tupleQuery.evaluate(writer);
+
+            conn.close();
+
+            myRepository.shutDown();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/PartitionConnectionTest.java
----------------------------------------------------------------------
diff --git 
a/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/PartitionConnectionTest.java
 
b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/PartitionConnectionTest.java
new file mode 100644
index 0000000..3aaeb0d
--- /dev/null
+++ 
b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/PartitionConnectionTest.java
@@ -0,0 +1,771 @@
+package mvm.mmrts.rdf.partition;
+
+import cloudbase.core.client.Connector;
+import cloudbase.core.client.mock.MockInstance;
+import junit.framework.TestCase;
+import mvm.mmrts.rdf.partition.shard.DateHashModShardValueGenerator;
+import org.openrdf.model.Namespace;
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.StatementImpl;
+import org.openrdf.model.impl.ValueFactoryImpl;
+import org.openrdf.query.*;
+import org.openrdf.repository.RepositoryException;
+import org.openrdf.repository.RepositoryResult;
+import org.openrdf.repository.sail.SailRepository;
+import org.openrdf.repository.sail.SailRepositoryConnection;
+
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import java.util.List;
+
+import static mvm.mmrts.rdf.partition.PartitionConstants.*;
+
+/**
+ * Class PartitionConnectionTest
+ * Date: Jul 6, 2011
+ * Time: 5:24:07 PM
+ */
+public class PartitionConnectionTest extends TestCase {
+    public static final String NAMESPACE = 
"http://here/2010/tracked-data-provenance/ns#";//44 len
+    public static final String RDF_NS = 
"http://www.w3.org/1999/02/22-rdf-syntax-ns#";;
+    public static final String HBNAMESPACE = 
"http://here/2010/tracked-data-provenance/heartbeat/ns#";;
+    public static final String HB_TIMESTAMP = HBNAMESPACE + "timestamp";
+
+    private SailRepository repository;
+    private SailRepositoryConnection connection;
+
+    ValueFactory vf = ValueFactoryImpl.getInstance();
+
+    private String objectUuid = "objectuuid1";
+    private static final String TABLE = "rdfPartition";
+    private static final String SHARD_TABLE = "rdfShardIndex";
+    private String ancestor = "ancestor1";
+    private String descendant = "descendant1";
+    private static final long START = 1309532965000l;
+    private static final long END = 1310566686000l;
+    private Connector connector;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+//        connector = new ZooKeeperInstance("stratus", 
"stratus13:2181").getConnector("root", "password");
+        connector = new MockInstance().getConnector("", "");
+
+        PartitionSail sail = new PartitionSail(connector, TABLE, SHARD_TABLE, 
new DateHashModShardValueGenerator() {
+            @Override
+            public String generateShardValue(Object obj) {
+                return this.generateShardValue(START + 1000, obj);
+            }
+        });
+
+        repository = new SailRepository(sail);
+        repository.initialize();
+        connection = repository.getConnection();
+
+        loadData();
+    }
+
+    private void loadData() throws RepositoryException, 
DatatypeConfigurationException {
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, objectUuid), 
vf.createURI(NAMESPACE, "name"), vf.createLiteral("objUuid")));
+        //created
+        String uuid = "uuid1";
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(NAMESPACE, "Created")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "createdItem"), vf.createURI(NAMESPACE, objectUuid)));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedBy"), vf.createURI("urn:system:A")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "stringLit"), vf.createLiteral("stringLit1")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "stringLit"), vf.createLiteral("stringLit2")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "stringLit"), vf.createLiteral("stringLit3")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "stringLit"), vf.createLiteral("stringLit4")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "strLit1"), vf.createLiteral("strLit1")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "strLit1"), vf.createLiteral("strLit2")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "strLit1"), vf.createLiteral("strLit3")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 0, 0, 0, 0))));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "reportedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 1, 0, 0, 0))));
+        //clicked
+        uuid = "uuid2";
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(NAMESPACE, "Clicked")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "clickedItem"), vf.createURI(NAMESPACE, objectUuid)));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedBy"), vf.createURI("urn:system:B")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 2, 0, 0, 0))));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "reportedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 3, 0, 0, 0))));
+        //deleted
+        uuid = "uuid3";
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(NAMESPACE, "Deleted")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "deletedItem"), vf.createURI(NAMESPACE, objectUuid)));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedBy"), vf.createURI("urn:system:C")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 4, 0, 0, 0))));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "reportedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 5, 0, 0, 0))));
+        //dropped
+        uuid = "uuid4";
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(NAMESPACE, "Dropped")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "droppedItem"), vf.createURI(NAMESPACE, objectUuid)));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedBy"), vf.createURI("urn:system:D")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 6, 0, 0, 0))));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "reportedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 7, 0, 0, 0))));
+        //received
+        uuid = "uuid5";
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(NAMESPACE, "Received")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "receivedItem"), vf.createURI(NAMESPACE, objectUuid)));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedBy"), vf.createURI("urn:system:E")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 8, 0, 0, 0))));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "reportedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 9, 0, 0, 0))));
+        //sent
+        uuid = "uuid6";
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(NAMESPACE, "Sent")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "sentItem"), vf.createURI(NAMESPACE, objectUuid)));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedBy"), vf.createURI("urn:system:F")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 10, 0, 0, 0))));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "reportedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 11, 0, 0, 0))));
+        //stored
+        uuid = "uuid7";
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(NAMESPACE, "Stored")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "storedItem"), vf.createURI(NAMESPACE, objectUuid)));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedBy"), vf.createURI("urn:system:G")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 12, 0, 0, 0))));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "reportedAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 13, 0, 0, 0))));
+
+        //derivedFrom
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, descendant), 
vf.createURI(NAMESPACE, "derivedFrom"), vf.createURI(NAMESPACE, ancestor)));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, descendant), 
vf.createURI(NAMESPACE, "name"), vf.createLiteral("descendantOne")));
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, ancestor), 
vf.createURI(NAMESPACE, "name"), vf.createLiteral("ancestor1")));
+
+        //heartbeats
+        String hbuuid = "hbuuid1";
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(HBNAMESPACE, 
"HeartbeatMeasurement")));
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(HB_TIMESTAMP), vf.createLiteral((START + 1) + "")));
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(HBNAMESPACE, "count"), vf.createLiteral(1 + "")));
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(HBNAMESPACE, "systemName"), vf.createURI("urn:system:A")));
+        connection.add(new StatementImpl(vf.createURI("urn:system:A"), 
vf.createURI(HBNAMESPACE, "heartbeat"), vf.createURI(HBNAMESPACE, hbuuid)));
+
+        hbuuid = "hbuuid2";
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(HBNAMESPACE, 
"HeartbeatMeasurement")));
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(HB_TIMESTAMP), vf.createLiteral((START + 2) + "")));
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(HBNAMESPACE, "count"), vf.createLiteral(2 + "")));
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(HBNAMESPACE, "systemName"), vf.createURI("urn:system:B")));
+        connection.add(new StatementImpl(vf.createURI("urn:system:B"), 
vf.createURI(HBNAMESPACE, "heartbeat"), vf.createURI(HBNAMESPACE, hbuuid)));
+
+        hbuuid = "hbuuid3";
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(HBNAMESPACE, 
"HeartbeatMeasurement")));
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(HB_TIMESTAMP), vf.createLiteral((START + 3) + "")));
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(HBNAMESPACE, "count"), vf.createLiteral(3 + "")));
+        connection.add(new StatementImpl(vf.createURI(HBNAMESPACE, hbuuid), 
vf.createURI(HBNAMESPACE, "systemName"), vf.createURI("urn:system:C")));
+        connection.add(new StatementImpl(vf.createURI("urn:system:C"), 
vf.createURI(HBNAMESPACE, "heartbeat"), vf.createURI(HBNAMESPACE, hbuuid)));
+
+        connection.add(new StatementImpl(vf.createURI("urn:subj1"), 
vf.createURI("urn:pred"), vf.createLiteral("obj1")));
+        connection.add(new StatementImpl(vf.createURI("urn:subj1"), 
vf.createURI("urn:pred"), vf.createLiteral("obj2")));
+        connection.add(new StatementImpl(vf.createURI("urn:subj1"), 
vf.createURI("urn:pred"), vf.createLiteral("obj3")));
+        connection.add(new StatementImpl(vf.createURI("urn:subj1"), 
vf.createURI("urn:pred"), vf.createLiteral("obj4")));
+        connection.add(new StatementImpl(vf.createURI("urn:subj2"), 
vf.createURI("urn:pred"), vf.createLiteral("obj1")));
+        connection.add(new StatementImpl(vf.createURI("urn:subj2"), 
vf.createURI("urn:pred"), vf.createLiteral("obj2")));
+        connection.add(new StatementImpl(vf.createURI("urn:subj2"), 
vf.createURI("urn:pred"), vf.createLiteral("obj3")));
+        connection.add(new StatementImpl(vf.createURI("urn:subj2"), 
vf.createURI("urn:pred"), vf.createLiteral("obj4")));
+        connection.add(new StatementImpl(vf.createURI("urn:subj3"), 
vf.createURI("urn:pred"), vf.createLiteral("obj1")));
+        connection.add(new StatementImpl(vf.createURI("urn:subj3"), 
vf.createURI("urn:pred"), vf.createLiteral("obj4")));
+
+        //MMRTS-150
+        connection.add(new StatementImpl(vf.createURI("urn:mmrts150_1"), 
vf.createURI("urn:bool"), vf.createLiteral("true")));
+        connection.add(new StatementImpl(vf.createURI("urn:mmrts150_2"), 
vf.createURI("urn:bool"), vf.createLiteral("true")));
+        connection.add(new StatementImpl(vf.createURI("urn:mmrts150_3"), 
vf.createURI("urn:bool"), vf.createLiteral("true")));
+        connection.add(new StatementImpl(vf.createURI("urn:mmrts150_4"), 
vf.createURI("urn:bool"), vf.createLiteral("true")));
+        connection.add(new StatementImpl(vf.createURI("urn:mmrts150_4"), 
vf.createURI("urn:sentItem"), vf.createLiteral("thisItemNum")));
+        connection.add(new StatementImpl(vf.createURI("urn:mmrts150_5"), 
vf.createURI("urn:bool"), vf.createLiteral("true")));
+        connection.commit();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+        connection.close();
+        repository.shutDown();
+    }
+
+//    public void testScanAll() throws Exception {
+//        Scanner sc = connector.createScanner(TABLE, ALL_AUTHORIZATIONS);
+//        for (Object aSc : sc) System.out.println((Map.Entry<Key, Value>) 
aSc);
+//
+//    }
+
+    public void testNamespace() throws Exception {
+        String namespace = "urn:testNamespace#";
+        String prefix = "pfx";
+        connection.setNamespace(prefix, namespace);
+
+        assertEquals(namespace, connection.getNamespace(prefix));
+    }
+
+    public void testGetNamespaces() throws Exception {
+        String namespace = "urn:testNamespace#";
+        String prefix = "pfx";
+        connection.setNamespace(prefix, namespace);
+
+        namespace = "urn:testNamespace2#";
+        prefix = "pfx2";
+        connection.setNamespace(prefix, namespace);
+
+        RepositoryResult<Namespace> result = connection.getNamespaces();
+        int count = 0;
+        while (result.hasNext()) {
+            result.next();
+            count++;
+        }
+
+        assertEquals(count, 2);
+    }
+
+    public void testAddCommitStatement() throws Exception {
+        StatementImpl stmt = new 
StatementImpl(vf.createURI("urn:namespace#subj"), 
vf.createURI("urn:namespace#pred"), vf.createLiteral("object"));
+        connection.add(stmt);
+        connection.commit();
+    }
+
+    public void testSelectOnlyQuery() throws Exception {
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "select * where {\n" +
+                "ns:uuid1 ns:createdItem ?cr.\n" +
+                "ns:uuid1 ns:reportedAt ?ra.\n" +
+                "ns:uuid1 ns:performedAt ?pa.\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+
+    //provenance 
Queries//////////////////////////////////////////////////////////////////////
+
+    public void testEventInfo() throws Exception {
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "select * where {\n" +
+                "   ns:uuid1 ?p ?o.\n" +
+                "}\n";
+
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//                tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(12, tupleHandler.getCount());
+    }
+
+    public void testAllAncestors() throws Exception {
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "select * where {\n" +
+                "ns:" + descendant + " ns:derivedFrom ?dr.\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+        //        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+
+    public void testAllDescendants() throws Exception {
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "select * where {\n" +
+                "?ds ns:derivedFrom ns:" + ancestor + ".\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+
+    public void testEventsForUri() throws Exception {
+        String query = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "select * where {\n" +
+                "{" +
+                "   ?s rdf:type ns:Created.\n" +
+                "   ?s ns:createdItem ns:objectuuid1.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Clicked.\n" +
+                "   ?s ns:clickedItem ns:objectuuid1.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Deleted.\n" +
+                "   ?s ns:deletedItem ns:objectuuid1.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Dropped.\n" +
+                "   ?s ns:droppedItem ns:objectuuid1.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Received.\n" +
+                "   ?s ns:receivedItem ns:objectuuid1.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Stored.\n" +
+                "   ?s ns:storedItem ns:objectuuid1.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Sent.\n" +
+                "   ?s ns:sentItem ns:objectuuid1.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.setBinding(START_BINDING, vf.createLiteral(START));
+//        tupleQuery.setBinding(END_BINDING, vf.createLiteral(END));
+//        tupleQuery.setBinding(TIME_PREDICATE, vf.createURI(NAMESPACE, 
"performedAt"));
+//                tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(7, tupleHandler.getCount());
+    }
+
+    public void testAllEvents() throws Exception {
+        String query = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "select * where {\n" +
+                "{" +
+                "   ?s rdf:type ns:Created.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Clicked.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Deleted.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Dropped.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Received.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Stored.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "UNION {" +
+                "   ?s rdf:type ns:Sent.\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:performedAt, " + START + 
", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.setBinding(START_BINDING, vf.createLiteral(START));
+//        tupleQuery.setBinding(END_BINDING, vf.createLiteral(END));
+//        tupleQuery.setBinding(TIME_PREDICATE, vf.createURI(NAMESPACE, 
"performedAt"));
+//                tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(7, tupleHandler.getCount());
+//        System.out.println(tupleHandler.getCount());
+    }
+
+    public void testEventsBtwnSystems() throws Exception {
+        String query = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "select * where {\n" +
+                "   ?sendEvent rdf:type ns:Sent;\n" +
+                "              ns:sentItem ?objUuid;\n" +
+                "              ns:performedBy <urn:system:F>.\n" +
+                "   ?recEvent rdf:type ns:Received;\n" +
+                "              ns:receivedItem ?objUuid;\n" +
+                "              ns:performedBy <urn:system:E>.\n" +
+                "   FILTER(mvmpart:timeRange(?sendEvent, ns:performedAt, " + 
START + ", " + END + ", 'XMLDATETIME'))\n" +
+                "   FILTER(mvmpart:timeRange(?recEvent, ns:performedAt, " + 
START + ", " + END + ", 'XMLDATETIME'))\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.setBinding(START_BINDING, vf.createLiteral(START));
+//        tupleQuery.setBinding(END_BINDING, vf.createLiteral(END));
+//        tupleQuery.setBinding(TIME_PREDICATE, vf.createURI(NAMESPACE, 
"performedAt"));
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+
+    public void testHeartbeatCounts() throws Exception {
+        String query = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                "PREFIX hns:<" + HBNAMESPACE + ">\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "select * where {\n" +
+                "   ?hb rdf:type hns:HeartbeatMeasurement;\n" +
+                "              hns:count ?count;\n" +
+                "              hns:systemName ?systemName.\n" +
+                "   FILTER(mvmpart:timeRange(?hb, hns:timestamp, " + START + 
", " + (START + 2) + ", 'TIMESTAMP'))\n" +
+                "}\n";
+        System.out.println(query);
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.setBinding(START_BINDING, vf.createLiteral(START));
+//        tupleQuery.setBinding(END_BINDING, vf.createLiteral(START + 2));
+//        tupleQuery.setBinding(TIME_PREDICATE, vf.createURI(HB_TIMESTAMP));
+//        tupleQuery.setBinding(TIME_TYPE_PROP, 
vf.createLiteral(TimeType.TIMESTAMP.name()));
+//                tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(2, tupleHandler.getCount());
+    }
+
+    //provenance 
Queries//////////////////////////////////////////////////////////////////////
+
+    public void testCreatedEvents() throws Exception {
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "select * where {\n" +
+                "   ?s ns:createdItem ns:objectuuid1.\n" +
+                "   ?s ns:reportedAt ?ra.\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+        tupleQuery.setBinding(START_BINDING, vf.createLiteral(START));
+        tupleQuery.setBinding(END_BINDING, vf.createLiteral(END));
+        tupleQuery.setBinding(TIME_PREDICATE, vf.createURI(NAMESPACE, 
"performedAt"));
+//                tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+
+    public void testSelectAllAfterFilter() throws Exception {
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "select * where {\n" +
+                "   ?s ns:createdItem ns:objectuuid1.\n" +
+                "   ?s ?p ?o.\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+        tupleQuery.setBinding(START_BINDING, vf.createLiteral(START));
+        tupleQuery.setBinding(END_BINDING, vf.createLiteral(END));
+        tupleQuery.setBinding(TIME_PREDICATE, vf.createURI(NAMESPACE, 
"performedAt"));
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(12, tupleHandler.getCount());
+    }
+
+    public void testFilterQuery() throws Exception {
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "select * where {\n" +
+                "ns:uuid1 ns:createdItem ?cr.\n" +
+                "ns:uuid1 ns:stringLit ?sl.\n" +
+                "FILTER regex(?sl, \"stringLit1\")" +
+                "ns:uuid1 ns:reportedAt ?ra.\n" +
+                "ns:uuid1 ns:performedAt ?pa.\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+        //        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+
+    public void testMultiplePredicatesMultipleBindingSets() throws Exception {
+        //MMRTS-121
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "select * where {\n" +
+                "?id ns:createdItem ns:objectuuid1.\n" +
+                "?id ns:stringLit ?sl.\n" +
+                "?id ns:strLit1 ?s2.\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(12, tupleHandler.getCount());
+    }
+
+    public void testMultiShardLookupTimeRange() throws Exception {
+        //MMRTS-113
+        String query = "PREFIX hb: 
<http://here/2010/tracked-data-provenance/heartbeat/ns#>\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "SELECT * WHERE\n" +
+                "{\n" +
+                "?id hb:timestamp ?timestamp.\n" +
+                "FILTER(mvmpart:timeRange(?id, hb:timestamp, " + START + " , " 
+ (START + 2) + " , 'TIMESTAMP'))\n" +
+                "?id hb:count ?count.\n" +
+                "?system hb:heartbeat ?id.\n" +
+                "}";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(2, tupleHandler.getCount());
+    }
+
+    public void testMultiShardLookupTimeRangeValueConst() throws Exception {
+        //MMRTS-113
+        String query = "PREFIX hb: 
<http://here/2010/tracked-data-provenance/heartbeat/ns#>\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "SELECT * WHERE\n" +
+                "{\n" +
+                
"<http://here/2010/tracked-data-provenance/heartbeat/ns#hbuuid2> hb:timestamp 
?timestamp.\n" +
+                
"FILTER(mvmpart:timeRange(<http://here/2010/tracked-data-provenance/heartbeat/ns#hbuuid2>,
 hb:timestamp, " + START + " , " + END + " , 'TIMESTAMP'))\n" +
+                
"<http://here/2010/tracked-data-provenance/heartbeat/ns#hbuuid2> hb:count 
?count.\n" +
+                "?system hb:heartbeat 
<http://here/2010/tracked-data-provenance/heartbeat/ns#hbuuid2>.\n" +
+                "}";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+
+    public void testGlobalTimeRange() throws Exception {
+        //MMRTS-113
+        String query = "PREFIX hb: 
<http://here/2010/tracked-data-provenance/heartbeat/ns#>\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "SELECT * WHERE\n" +
+                "{\n" +
+                
"<http://here/2010/tracked-data-provenance/heartbeat/ns#hbuuid2> hb:timestamp 
?timestamp.\n" +
+                
"<http://here/2010/tracked-data-provenance/heartbeat/ns#hbuuid2> hb:count 
?count.\n" +
+                "?system hb:heartbeat 
<http://here/2010/tracked-data-provenance/heartbeat/ns#hbuuid2>.\n" +
+                "}";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+        tupleQuery.setBinding(START_BINDING, vf.createLiteral(START));
+        tupleQuery.setBinding(END_BINDING, vf.createLiteral(END));
+        tupleQuery.setBinding(TIME_PREDICATE, vf.createURI(HBNAMESPACE, 
HB_TIMESTAMP));
+        tupleQuery.setBinding(TIME_TYPE_PROP, 
vf.createLiteral(TimeType.TIMESTAMP.name()));
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(0, tupleHandler.getCount()); //because system does not 
have a timerange
+    }
+
+    public void testLinkQuery() throws Exception {
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "SELECT * WHERE {\n" +
+                "     <http://here/2010/tracked-data-provenance/ns#uuid1> 
ns:createdItem ?o .\n" +
+                "     ?o ns:name ?n .\n" +
+                "}";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+
+    public void testRangeOverDuplicateItems() throws Exception {
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "SELECT * WHERE {\n" +
+                "     ?subj <urn:pred> \"obj2\" .\n" +
+                "}";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(2, tupleHandler.getCount());
+    }
+
+    public void testMMRTS147SubjectOverMultipleShards() throws Exception {
+        PartitionSail sail = new PartitionSail(connector, TABLE, SHARD_TABLE);
+
+        SailRepository tmpRepo = new SailRepository(sail);
+        tmpRepo.initialize();
+        SailRepositoryConnection tmpConn = tmpRepo.getConnection();
+        String uuid = "mmrts147subj";
+        //add for the current date shard
+        tmpConn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "currentPred1"), vf.createLiteral("currentValue1")));
+
+        //add for the old date shard
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "currentPred2"), vf.createLiteral("currentValue2")));
+
+        tmpConn.commit();
+        connection.commit();
+
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "SELECT * WHERE {\n" +
+                "     ns:mmrts147subj ?p ?o .\n" +
+                "}";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+        tupleQuery.evaluate(new PrintTupleHandler());
+//        CountTupleHandler tupleHandler = new CountTupleHandler();
+//        tupleQuery.evaluate(tupleHandler);
+//        assertEquals(2, tupleHandler.getCount());
+    }
+
+    public void testMMRTS147PredicatesOverMultipleShards() throws Exception {
+        PartitionSail sail = new PartitionSail(connector, TABLE, SHARD_TABLE);
+
+        SailRepository tmpRepo = new SailRepository(sail);
+        tmpRepo.initialize();
+        SailRepositoryConnection tmpConn = tmpRepo.getConnection();
+        String uuid = "mmrts147pred";
+        //add for the current date shard
+        tmpConn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "currentPred1"), vf.createLiteral("currentValue1")));
+
+        //add for the old date shard
+        connection.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "currentPred2"), vf.createLiteral("currentValue2")));
+
+        tmpConn.commit();
+        connection.commit();
+
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "SELECT * WHERE {\n" +
+                "     ?s ns:currentPred1 'currentValue1' .\n" +
+                "     ?s ns:currentPred2 'currentValue2' .\n" +
+                "}";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(0, tupleHandler.getCount());
+        //MMRTS-147, this is a problem. The same subject has been separated 
across shards and
+        // cannot be queried with this join
+    }
+
+    /**
+     * Make sure that the shard does not participate in the time range given
+     *
+     * @throws Exception
+     */
+    public void testMMRTS151ShardDoesNotMatchTimeRange() throws Exception {
+        PartitionSail sail = new PartitionSail(connector, TABLE);
+
+        SailRepository tmpRepo = new SailRepository(sail);
+        tmpRepo.initialize();
+        SailRepositoryConnection tmpConn = tmpRepo.getConnection();
+        String uuid = "mmrts151";
+
+        tmpConn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(RDF_NS, "type"), vf.createURI(NAMESPACE, "Clicked")));
+        tmpConn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "clickedItem"), vf.createURI(NAMESPACE, objectUuid)));
+        tmpConn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "performedBy"), vf.createURI("urn:system:B")));
+        tmpConn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "perfAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 2, 0, 0, 0))));
+        tmpConn.add(new StatementImpl(vf.createURI(NAMESPACE, uuid), 
vf.createURI(NAMESPACE, "repAt"), 
vf.createLiteral(DatatypeFactory.newInstance().newXMLGregorianCalendar(2011, 7, 
12, 6, 3, 0, 0, 0))));
+
+        tmpConn.commit();
+
+        String query = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "select * where {\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:perfAt, " + START + ", " + 
END + ", 'XMLDATETIME'))\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
tmpConn.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+
+        //now add a query with the shardRange function to make sure nothing 
comes back
+        query = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "select * where {\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:perfAt, " + START + ", " + 
END + ", 'XMLDATETIME'))\n" +
+                "   FILTER(mvmpart:shardRange(?s, " + START + ", " + END + 
"))\n" +
+                "}\n";
+        tupleQuery = tmpConn.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(0, tupleHandler.getCount());
+
+        //now make sure the shard range is for the curr shard
+        long curr = System.currentTimeMillis();
+        query = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "select * where {\n" +
+                "   ?s ns:performedBy ?pb.\n" +
+                "   FILTER(mvmpart:timeRange(?s, ns:perfAt, " + START + ", " + 
END + ", 'XMLDATETIME'))\n" +
+                "   FILTER(mvmpart:shardRange(?s, " + (curr - (10000l)/***/) + 
", " + curr + "))\n" +
+                "}\n";
+//        System.out.println(query);
+        tupleQuery = tmpConn.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+    
+    public void testMMRTS150() throws Exception {
+        //MMRTS-150
+        String query = "PREFIX ns:<" + NAMESPACE + ">\n" +
+                "select * where {\n" +
+                "?id <urn:bool> \"true\".\n" +
+                "?id <urn:sentItem> ?item.\n" +
+                "}\n";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+//        tupleQuery.evaluate(new PrintTupleHandler());
+        CountTupleHandler tupleHandler = new CountTupleHandler();
+        tupleQuery.evaluate(tupleHandler);
+        assertEquals(1, tupleHandler.getCount());
+    }
+
+    public void testMikeQuery() throws Exception {
+        String query = "PREFIX mvmpart: 
<urn:mvm.mmrts.partition.rdf/08/2011#>\n" +
+                "PREFIX tdp: <" + NAMESPACE + ">\n" +
+                "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                "SELECT * WHERE{\n" +
+                "?id tdp:performedAt ?timestamp.\n" +
+                "FILTER(mvmpart:timeRange(?id, tdp:performedAt, 132370075535, 
1324060075534, 'XMLDATETIME')).\n" +
+                "?id tdp:performedBy ?sysname.\n" +
+//                "?id tdp:performedBy 'thesystemname'.\n" +
+                "?id rdf:type ?et\n" +
+//                "?id rdf:type tdp:EventType\n" +
+                "}\n" +
+                "Limit 10";
+        TupleQuery tupleQuery = 
connection.prepareTupleQuery(QueryLanguage.SPARQL, query);
+        tupleQuery.evaluate(new PrintTupleHandler());
+    }
+
+    private static class PrintTupleHandler implements TupleQueryResultHandler {
+
+        @Override
+        public void startQueryResult(List<String> strings) throws 
TupleQueryResultHandlerException {
+        }
+
+        @Override
+        public void endQueryResult() throws TupleQueryResultHandlerException {
+
+        }
+
+        @Override
+        public void handleSolution(BindingSet bindingSet) throws 
TupleQueryResultHandlerException {
+            System.out.println(bindingSet);
+        }
+    }
+
+    private static class CountTupleHandler implements TupleQueryResultHandler {
+
+        int count = 0;
+
+        @Override
+        public void startQueryResult(List<String> strings) throws 
TupleQueryResultHandlerException {
+        }
+
+        @Override
+        public void endQueryResult() throws TupleQueryResultHandlerException {
+        }
+
+        @Override
+        public void handleSolution(BindingSet bindingSet) throws 
TupleQueryResultHandlerException {
+            count++;
+        }
+
+        public int getCount() {
+            return count;
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/QueryPartitionData.java
----------------------------------------------------------------------
diff --git 
a/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/QueryPartitionData.java
 
b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/QueryPartitionData.java
new file mode 100644
index 0000000..0f9e7e0
--- /dev/null
+++ 
b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/QueryPartitionData.java
@@ -0,0 +1,675 @@
+package mvm.mmrts.rdf.partition;
+
+import org.openrdf.model.ValueFactory;
+import org.openrdf.model.impl.ValueFactoryImpl;
+import org.openrdf.query.*;
+import org.openrdf.query.resultio.sparqlxml.SPARQLResultsXMLWriter;
+import org.openrdf.repository.Repository;
+import org.openrdf.repository.RepositoryConnection;
+import org.openrdf.repository.sail.SailRepository;
+
+import java.util.Calendar;
+import java.util.List;
+
+public class QueryPartitionData {
+
+    public void run() throws Exception {
+        try {
+            // if (args.length == 0) {
+            // throw new IllegalArgumentException("Specify query file");
+            // }
+            // String fileLoc = args[0];
+            // File queryFile = new File(fileLoc);
+            // final ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            // ByteStreams.copy(new FileInputStream(queryFile), baos);
+            // String query = new String(baos.toByteArray());
+
+            final PartitionSail store = new PartitionSail("stratus", 
"stratus13:2181", "root", "password",
+                    "partTest", "shardIndexTest");
+//            store.setTablePrefix("str_");
+//            store.getTimeUris().put(new 
URIImpl("http://here/2010/tracked-data-provenance/ns#performedAt";), 
DateTimeTtlValueConverter.class);
+//            store.getTimeUris().add(new 
URIImpl("http://mvm.com/rdf/2011/02/model#timestamp";));
+//            store.setPerformant(true);
+//            store.setUseStatistics(false);
+//            store.setInferencing(false);
+//            store.setDisplayQueryPlan(false);
+
+//            store.setStartTime("1302811169088");
+//            store.setTtl("86400000");
+//            store.setPerformant(false);
+//            store.setInstance("nimbus");
+//            store.setServer("10.40.189.123");
+            Repository myRepository = new SailRepository(store);
+            myRepository.initialize();
+
+//                     BufferedOutputStream os = new BufferedOutputStream(
+//                                     new FileOutputStream("query.out"));
+
+            RepositoryConnection conn = myRepository.getConnection();
+
+            // String query =
+            // "SELECT ?pred ?obj WHERE { 
<http://mvm-model/mvm#mm_7afb494d-dddc-4f1c-8b5b-0413b3ebe783> ?pred ?obj }";
+            // String query =
+            // "SELECT ?pred ?obj WHERE { 
<http://mvm-model/mvm#mm_b10c2c18-80c3-41ef-8069-9df1a6e8879c> ?pred ?obj }";
+            // String query =
+            // "SELECT ?pred ?obj WHERE { 
<http://mvm-model/mvm#mm_001ca4e0-521f-440e-9e72-9b59bb14fd2c> ?pred ?obj }";
+
+            String cimHasInstalledSoftware = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mm: <http://mvm.com/owl/2010/10/mm.owl#>\n" +
+                    "SELECT * WHERE {\n" +
+                    "     ?serv mm:hasRunningOS ?obj .\n" +
+                    "      ?obj mm:name ?name ;\n" +
+//                    "           mm:caption ?caption .\n" +
+                    "}";
+
+            String cimHasRunningSoftware = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mm: <http://mvm.com/owl/mm.owl#>\n" +
+                    "SELECT * WHERE {\n" +
+                    "     
<http://mvm.com/owl/mm.owl#urn:mm:mvm:LTS:root/cimv2:PG_OperatingSystem:CIM_ComputerSystem:stratus06.bullpen.net:Red_Hat_Enterprise_Linux_Server>
 mm:hasRunningOS ?obj .\n" +
+                    "     ?obj mm:name ?name ; \n" +
+                    "          mm:handle ?handle ; \n" +
+                    "          mm:description ?description ; \n" +
+                    "          mm:caption ?caption . \n" +
+                    "}";
+
+            String artistQuery = "SELECT * WHERE { "
+                    + " ?subj ?pred \"Bonnie Tyler\" . "
+                    + "}";
+            String lubm1 = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX ub: <urn:lubm:test#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "     ?x ub:takesCourse 
<http://www.Department0.University0.edu/GraduateCourse0> .\n" +
+                    "     ?x rdf:type ub:GraduateStudent .\n" +
+                    "     ?x ub:name ?name .\n" +
+//                    "     FILTER regex(?name, \"GraduateStudent44\", \"i\") 
.\n" +
+                    " }";
+
+            String gradStudent44 = "SELECT * WHERE { 
<http://www.Department0.University0.edu/GraduateStudent44> ?p ?o.}";
+
+            String lubm4 = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "      { ?pred rdfs:subPropertyOf ub:worksFor . ?y ?pred 
<http://www.Department0.University0.edu> }\n" +
+                    "       UNION " +
+                    "      { ?y ub:worksFor 
<http://www.Department0.University0.edu> }\n" +
+                    "      { ?x rdfs:subClassOf ub:Professor . ?y rdf:type ?x 
}\n" +
+                    "       UNION " +
+                    "      { ?y rdf:type ub:Professor }\n" +
+                    "      ?y ub:name ?y1 .\n" +
+                    "      ?y ub:emailAddress ?y2 .\n" +
+                    "      ?y ub:telephone ?y3 .\n" +
+                    " }";
+
+            String lubm4_clean = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "      ?y ub:worksFor 
<http://www.Department0.University0.edu>.\n" +
+                    "      ?y rdf:type ub:FullProfessor.\n" +
+                    "      ?y ub:name ?y1 .\n" +
+                    " } ORDER BY ?y";
+
+            String cimLatestMeasure = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mm: <http://mvm.com/owl/2010/10/mm.owl#>\n" +
+                    "SELECT ?proc ?val ?time WHERE {\n" +
+                    "     ?proc mm:loadPercentage ?val .\n" +
+                    "     ?subj rdf:subject ?proc .\n" +
+                    "     ?subj rdf:object ?val2 .\n" +
+                    "     ?subj  rdf:type rdf:Statement ;\n" +
+                    "     \t    mm:reportedAt ?time .\n" +
+                    " FILTER (?val2 = ?val) }\n" +
+                    "ORDER BY DESC(?time)\n" +
+                    "LIMIT 25";
+
+            String cimHasFileSystemSpecific = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mm: <http://mvm.com/owl/mm.owl#>\n" +
+                    "SELECT * WHERE {\n" +
+                    "     
<http://mvm.com/owl/mm.owl#urn:mm:mvm:lts:root/cimv2:PG_OperatingSystem.CreationClassName=CIM_OperatingSystem,CSCreationClassName=CIM_UnitaryComputerSystem,CSName=roshan.bullpen.net,Name=Red_Hat_Enterprise_Linux_Server>
 mm:hasFileSystem ?obj ." +
+//                "     ?serv mm:hasFileSystem ?obj ." +
+                    "}";
+
+            String allObjects = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mm: <http://mvm.com/owl/2010/10/mm.owl#>\n" +
+                    "SELECT * WHERE {\n" +
+                    "   {?s 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#object> ?o.} }";
+
+            String deletePkgTrkr = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX mm: <http://mvm.com/owl/2010/10/mm.owl#>\n" +
+                    " PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n" +
+                    "PREFIX prov: 
<http://this.doc/2010/tracked-data-provenance/ns#>\n" +
+                    " SELECT DISTINCT * WHERE\n" +
+                    " {\n" +
+                    "     ?subj rdf:type prov:AggregatePkgInfo.\n" +
+                    "     ?subj ?pred ?obj." +
+                    " }";
+
+            String lubm5 = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "      { ?pred rdfs:subPropertyOf ub:memberOf . ?thing 
?pred <http://www.Department0.University0.edu> }\n" +
+                    "       UNION " +
+                    "      { ?thing ub:memberOf 
<http://www.Department0.University0.edu> }\n" +
+//                    "      { ?type rdfs:subClassOf ub:Person . ?thing 
rdf:type ?type }\n" +
+//                    "       UNION " +
+//                    "      { ?thing rdf:type ub:Person }\n" +
+                    " }";
+
+            String lubm5_clean = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "      ?thing ub:memberOf 
<http://www.Department0.University0.edu>.\n" +
+                    "      ?thing rdf:type ub:Person. \n" +
+                    " }";
+
+            String lubm5_clean2 = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "      ?pred rdfs:subPropertyOf ub:memberOf . ?thing ?pred 
<http://www.Department0.University0.edu> . ?type rdfs:subClassOf ub:Person . 
?thing rdf:type ?type \n" +
+                    " }";
+
+            String lubm3 = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "                 PREFIX ub: <urn:test:onto:univ#>\n" +
+                    "                 SELECT * WHERE\n" +
+                    "                 {\n" +
+                    "                      ?x ub:publicationAuthor 
<http://www.Department0.University0.edu/AssistantProfessor3> .\n" +
+                    "                      ?x rdf:type ub:Publication.\n" +
+                    "                }";
+
+            String lubm2 = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "                 PREFIX ub: <urn:test:onto:univ#>\n" +
+                    "                 SELECT * WHERE\n" +
+                    "                 {\n" +
+                    "                       ?y rdf:type ub:University .\n" +
+                    "                       ?z ub:subOrganizationOf ?y .\n" +
+                    "                       ?z rdf:type ub:Department .\n" +
+                    "                       ?x ub:memberOf ?z .\n" +
+                    "                       ?x ub:undergraduateDegreeFrom ?y 
.\n" +
+                    "                       ?x rdf:type ub:GraduateStudent 
.\n" +
+                    "                }";
+
+            String lubm2_a = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "                 PREFIX ub: <urn:test:onto:univ#>\n" +
+                    "                 SELECT * WHERE\n" +
+                    "                 {\n" +
+//                    "                       ?y rdf:type ub:University .\n" +
+                    "                       ?z ub:subOrganizationOf 
<http://www.University700.edu> .\n" +
+                    "                       ?z rdf:type ub:Department .\n" +
+                    "                       ?x ub:memberOf ?z .\n" +
+                    "                       ?x ub:undergraduateDegreeFrom 
<http://www.University700.edu> .\n" +
+                    "                       ?x rdf:type ub:GraduateStudent 
.\n" +
+                    "                }";
+
+            String hasAlum = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    "PREFIX owl: <http://www.w3.org/2002/07/owl#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    "SELECT * WHERE {\n" +
+                    "        {<http://www.University1.edu> ub:hasAlumnus ?alum 
} \n" +
+                    "        UNION \n" +
+                    "        {ub:hasAlumnus owl:inverseOf ?invProp . \n" +
+                    "      { ?pred rdfs:subPropertyOf ?invProp . ?alum ?pred 
<http://www.University1.edu> }\n" +
+                    "         UNION \n" +
+                    "      { ?alum ?invProp <http://www.University0.edu> }}\n" 
+
+                    "      { ?type rdfs:subClassOf ub:Person . ?alum rdf:type 
?type }\n" +
+                    "       UNION       { ?alum rdf:type ub:Person }\n" +
+                    "}";
+
+            String hasAlum_clean = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    "PREFIX owl: <http://www.w3.org/2002/07/owl#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    "SELECT * WHERE {\n" +
+                    "        <http://www.University1.edu> ub:hasAlumnus ?alum 
.\n" +
+                    "}";
+
+            String lubm7 = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    " SELECT DISTINCT ?course ?student WHERE\n" +
+                    " {\n" +
+                    " 
<http://www.Department0.University0.edu/AssociateProfessor0> ub:teacherOf 
?course .\n" +
+                    " ?student ub:takesCourse ?course .\n" +
+                    "      { ?type rdfs:subClassOf ub:Student . ?student 
rdf:type ?type }\n" +
+                    "       UNION       { ?student rdf:type ub:Student }\n" +
+                    "      { ?type rdfs:subClassOf ub:Course . ?course 
rdf:type ?type }\n" +
+                    "       UNION       { ?course rdf:type ub:Course }\n" +
+                    " }";
+
+            String lubm7_clean = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    " 
<http://www.Department0.University0.edu/AssociateProfessor0> ub:teacherOf 
?course .\n" +
+                    " ?student ub:takesCourse ?course .\n" +
+                    " ?student rdf:type ub:Student .\n" +
+                    " ?course rdf:type ub:Course .\n" +
+                    " }";
+
+            String lubm8_clean = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "      ?suborg ub:subOrganizationOf 
<http://www.University0.edu> .\n" +
+                    "      ?mem ub:memberOf ?suborg .\n" +
+                    "      ?suborg rdf:type ub:Department .\n" +
+                    "        ?mem ub:emailAddress ?email. \n" +
+                    " }";
+
+            String lubm9 = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "       ?teach ub:teacherOf ?course .\n" +
+                    "       ?teach ub:advisor ?student .\n" +
+                    "        ?student ub:takesCourse ?course .\n" +
+                    " }";
+
+            String kolm = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mm: <http://mvm.com/owl/2010/10/mm.owl#>\n" +
+                    "PREFIX kolm: <http://mvm.com/lrn/2010/11/kolm#>\n" +
+                    "SELECT DISTINCT ?srv ?ncd WHERE {\n" +
+                    "     ?pt kolm:serverRef 
<http://mvm.com/owl/2010/10/mm.owl#urn:mm:mvm:root/cimv2:PG_OperatingSystem:CIM_ComputerSystem:cirrus05.bullpen.net:Red_Hat_Enterprise_Linux_Server>
 .\n" +
+                    "     ?cluster kolm:relatesTo ?pt .\n" +
+                    "     ?cluster kolm:relatesTo ?pt2 .\n" +
+                    "     ?pt2 kolm:serverRef ?srv .\n" +
+                    "       ?pt2  kolm:ncd ?ncd .\n" +
+                    "       ?cluster kolm:timestamp ?ts .\n" +
+                    " } \n" +
+                    " ORDER BY ?ncd";
+
+            String kolm_tst = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mm: <http://mvm.com/owl/2010/10/mm.owl#>\n" +
+                    "PREFIX kolm: <http://mvm.com/lrn/2010/11/kolm#>\n" +
+                    "SELECT * WHERE {\n" +
+                    "     ?s <http://mvm.com/lrn/2010/11/kolm#relatesTo> 
<http://mvm.com/lrn/2010/11/kolm#fef60314-78f1-4918-ad03-e1aff835e858>\n" +
+                    " } ";
+
+            String lubm9_tst = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "       ?teach ub:teacherOf ?course .\n" +
+//                    "       ?teach ub:teacherOf 
<http://www.Department0.University0.edu/Course3> .\n" +
+                    "       ?student ub:advisor ?teach .\n" +
+                    "        ?student ub:takesCourse ?course .\n" +
+                    " }";
+
+            String bsbm1 = "PREFIX bsbm-inst: 
<http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/>\n" +
+                    "PREFIX bsbm: 
<http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/vocabulary/>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n" +
+                    "\n" +
+                    "SELECT *\n" +
+                    "WHERE {\n" +
+                    "    ?product a 
<http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ProductType1315> .\n" 
+
+                    "    ?product bsbm:productFeature 
<http://www4.wiwiss.fu-berlin.de/bizer/bsbm/v01/instances/ProductFeature750> 
.\n" +
+                    "    ?product bsbm:productPropertyNumeric1 ?value1 .\n" +
+                    "    ?product rdfs:label ?label .\n" +
+                    "        FILTER (?value1 > 933) .\n" +
+                    "        }" +
+                    "LIMIT 10" +
+                    "";
+
+            String hbs = "PREFIX hb: 
<http://here/2010/tracked-data-provenance/heartbeat/ns#>\n" +
+                    "\n" +
+                    "select * where {\n" +
+                    " hb:f452f776-4994-43fc-ada0-4b60cc979dac ?p ?o .\n" +
+                    "}";
+
+            String hbmodel = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mod: <http://mvm.com/rdf/2011/02/model#>\n" +
+                    "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n" +
+                    "SELECT ?s (SUM(?ts) AS ?sum) WHERE\n" +
+                    "{\n" +
+                    "    ?s mod:key 
\"messageCount/urn:system:LTS-01/A/A_Sports1/ProvenanceAPI/2/12/\";\n" +
+                    "        mod:model ?model;\n" +
+                    "        mod:timestamp ?ts.\n" +
+                    "}\n" +
+                    "GROUP BY ?s\n" +
+                    "ORDER BY DESC(?ts)\n";
+
+            String hbagg = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX hb: 
<http://here/2010/tracked-data-provenance/heartbeat/ns#>\n" +
+                    " PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "     ?systemName hb:reportedBy ?reportedBy;\n" +
+                    "                         hb:systemType ?systemType;\n" +
+                    "                         hb:heartbeat ?hbuuid.\n" +
+                    "     ?hbuuid hb:timestamp ?timestamp;\n" +
+                    "                         hb:messageCount 
?messageCount.\n" +
+                    " }";
+
+            String runningProc = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX mm: <http://mvm.com/owl/2010/10/mm.owl#>\n" +
+                    " PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n" +
+                    " SELECT DISTINCT * WHERE\n" +
+                    " {\n" +
+                    "     
<http://mvm.com/owl/2010/10/mm.owl#urn:mm:mvm:root/cimv2:PG_OperatingSystem:CIM_ComputerSystem:cirrus05.bullpen.net:Red_Hat_Enterprise_Linux_Server>
 mm:hasRunningProcess ?obj .\n" +
+                    "     ?obj mm:parameters ?params .\n" +
+                    "     ?obj mm:name ?name .\n" +
+                    " }";
+
+            String single = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "      
<http://www.Department11.University370.edu/AssociateProfessor9> ?p ?o.\n" +
+                    " }";
+
+            String modelInnerSelect = "PREFIX nh: 
<http://mvm.com/rdf/2011/02/model#>\n" +
+                    "\n" +
+                    "SELECT * WHERE {\n" +
+                    "\n" +
+                    "{\n" +
+                    "SELECT ?key ?modelType (MAX(?timestamp) as ?ts) WHERE 
{\n" +
+                    "     ?modelUuid nh:key ?key;\n" +
+                    "     FILTER regex(?key, \"messageCount(.*)/2/13\").\n" +
+                    "     ?modelUuid nh:modelType ?modelType;\n" +
+                    "                        nh:timestamp ?timestamp\n" +
+                    "}\n" +
+                    "GROUP BY ?key ?modelType\n" +
+                    "}\n" +
+                    "\n" +
+                    "?muuid nh:key ?key;\n" +
+                    "           nh:timestamp ?ts;\n" +
+                    "           nh:modelType ?modelType;\n" +
+                    "           nh:model ?model.\n" +
+                    "\n" +
+                    "}";
+
+            String modelInnerSelect2 = "PREFIX nh: 
<http://mvm.com/rdf/2011/02/model#>\n" +
+                    "\n" +
+                    "SELECT ?key ?modelType (MAX(?timestamp) as ?ts) WHERE 
{\n" +
+                    "     ?modelUuid nh:key ?key;\n" +
+                    "     FILTER regex(?key, \"messageCount(.*)/2/13\").\n" +
+                    "     ?modelUuid nh:modelType ?modelType;\n" +
+                    "                        nh:timestamp ?timestamp\n" +
+                    "}\n" +
+                    "GROUP BY ?key ?modelType\n" +
+                    "";
+
+            String jim_query = "PREFIX tdp: 
<http://here/2010/tracked-data-provenance/ns#>\n" +
+                    "\n" +
+                    "select * where {\n" +
+                    " ?eventUUID ?eventType 
<urn:tdo:88d4f31f-99dc-4527-8cfb-2c93583ad498> .\n" +
+//                    " ?eventUUID tdp:performedBy ?systemName .\n" +
+                    " ?eventUUID tdp:performedAt ?timeStamp .\n" +
+                    "}\n" +
+                    "ORDERBY ?timeStamp";
+
+            String theWoman = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
+                    " PREFIX ub: <urn:test:onto:univ#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    " ub:TheWoman ?p ?o.\n" +
+                    " }";
+
+            String hbtimestamp = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX hb: 
<http://here/2010/tracked-data-provenance/heartbeat/ns#>\n" +
+                    " PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "     ?hbuuid hb:timestamp ?timestamp.\n" +
+                    " }";
+
+            String tde = "PREFIX tdp: 
<http://here/2010/tracked-data-provenance/ns#>\n" +
+                    "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mvm: <urn:mvm.mmrts.rdfcloudstore/06/2011#>\n" +
+                    "SELECT * WHERE\n" +
+                    "{\n" +
+                    "\t?id tdp:performedAt ?ts.\n" +
+                    "\tFILTER(mvm:timeRange(?ts, tdp:performedAt, 
'mvm.mmrts.api.date.DateTimeTtlValueConverter', 7200000, '1303911164088')).\n" +
+                    "\t?id tdp:performedBy ?system;\n" +
+                    "\t    rdf:type ?eventType.\n" +
+                    "}\n";
+
+            String tde_spec = "PREFIX tdp: 
<http://here/2010/tracked-data-provenance/ns#>\n" +
+                    "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "SELECT * WHERE\n" +
+                    "{\n" +
+                    "\t<urn:tde:0b19e224-7524-4ba0-880b-16d9ec735303> ?p 
?o.\n" +
+                    "}";
+
+            String cimLatestMeasure_timeindex = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mm: <http://mvm.com/owl/2010/10/mm.owl#>\n" +
+                    "PREFIX mvm: <urn:mvm.mmrts.rdfcloudstore/06/2011#>\n" +
+                    "SELECT ?proc ?val ?time WHERE {\n" +
+                    "     ?proc mm:loadPercentage ?val .\n" +
+                    "     ?subj rdf:subject ?proc .\n" +
+                    "     ?subj rdf:object ?val2 .\n" +
+                    "     ?subj  rdf:type rdf:Statement ;\n" +
+                    "     \t    mm:reportedAt ?time .\n" +
+                    "\tFILTER (mvm:timeRange(?time, mm:reportedAt, 
'mvm.mmrts.api.date.DateTimeTtlValueConverter', '86400000', '1295725236000')). 
" +
+                    "}\n" +
+//                    "ORDER BY DESC(?time)\n" +
+//                    "LIMIT 25" +
+                    "";
+
+            String hbs_ti = "PREFIX hb: 
<http://here/2010/tracked-data-provenance/heartbeat/ns#>\n" +
+                    "\n" +
+                    "select * where {\n" +
+                    " ?s ?p hb:f452f776-4994-43fc-ada0-4b60cc979dac .\n" +
+                    "}";
+
+            String hbtimestamp_ti = "PREFIX hb: 
<http://here/2010/tracked-data-provenance/heartbeat/ns#>\n" +
+                    "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>\n" +
+                    "PREFIX mvm: <urn:mvm.mmrts.rdfcloudstore/06/2011#>\n" +
+                    "SELECT * WHERE\n" +
+                    "{\n" +
+                    "\t?id hb:timestamp ?timestamp.\n" +
+                    "\tFILTER(mvm:timeRange(?timestamp, hb:timestamp, 
'mvm.mmrts.api.date.TimestampTtlStrValueConverter', '72000000')).\n" +
+                    "\t?id hb:systemName ?system;\n" +
+                    "\t     hb:count ?count;\n" +
+                    "}";
+
+            String tst_qu = "select * where {\n" +
+                    "\n" +
+                    " ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<urn:test2:lubm#GraduateStudent>.\n" +
+                    " ?s <urn:test2:lubm#advisor> 
<http://www.Department4.University5155.edu/AssociateProfessor3>.\n" +
+//                    " ?s ?p ?o.\n" +
+                    "\n" +
+                    "}";
+
+            String tst_qu2 = "select * where {\n" +
+                    "\n" +
+                    "?s <urn:test2:lubm#takesCourse> 
<http://www.Department6.University4518.edu/GraduateCourse3>.\n" +
+                    "?s <urn:test2:lubm#takesCourse> 
<http://www.Department6.University4518.edu/GraduateCourse28>.\n" +
+                    "\n" +
+                    "}";
+
+            String timeQueryMike = "PREFIX tdp: 
<http://here/2010/tracked-data-provenance/ns#>\n" +
+                    "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mvm: <urn:mvm.mmrts.rdfcloudstore/06/2011#>\n" +
+                    "SELECT * WHERE\n" +
+                    "{\n" +
+                    "?id tdp:reportedAt ?timestamp. \n" +
+                    "FILTER(mvm:timeRange(?timestamp, tdp:reportedAt, 
'mvm.mmrts.api.date.DateTimeTtlValueConverter', '14400000')).\n" +
+                    "?id tdp:performedBy ?system;\n" +
+                    "    rdf:type ?eventType.\n" +
+                    "} ";
+
+            String eventQ = "PREFIX tdp: 
<http://here/2010/tracked-data-provenance/ns#>\n" +
+                    "select * where {\n" +
+                    "?eventUUID tdp:performedBy ?systemName .\n" +
+                    "} LIMIT 100";
+
+            String allFullProf0 = "select * where {\n" +
+                    "<http://www.Department0.University0.edu/FullProfessor0> 
?p ?o.\n" +
+                    "\n}";
+
+            // Provenance Queries
+            String prov_eventInfo = "select * where {\n" +
+                    "<urn:tdo:7202e20d-d66c-469c-8a10-62e36e21d820> ?p ?o.\n" +
+                    "}";
+
+            String prov_objectInfo = "PREFIX 
ns:<http://here/2010/tracked-data-provenance/ns#>\n" +
+                    "select * where {\n" +
+                    "{" +
+                    "   ?s ns:createdItem 
<urn:tdc:01a49336-d0e0-3cd6-9ddb-0e6b14369876>.\n" +
+                    "   ?s ns:performedBy ?pb.\n" +
+                    "   ?s ns:performedAt ?pa.\n" +
+                    "}\n" +
+                    "UNION {" +
+                    "   ?s ns:clickedItem 
<urn:tdc:01a49336-d0e0-3cd6-9ddb-0e6b14369876>.\n" +
+                    "   ?s ns:performedBy ?pb.\n" +
+                    "   ?s ns:performedAt ?pa.\n" +
+                    "}\n" +
+                    "UNION {" +
+                    "   ?s ns:deletedItem 
<urn:tdc:01a49336-d0e0-3cd6-9ddb-0e6b14369876>.\n" +
+                    "   ?s ns:performedBy ?pb.\n" +
+                    "   ?s ns:performedAt ?pa.\n" +
+                    "}\n" +
+                    "UNION {" +
+                    "   ?s ns:droppedItem 
<urn:tdc:01a49336-d0e0-3cd6-9ddb-0e6b14369876>.\n" +
+                    "   ?s ns:performedBy ?pb.\n" +
+                    "   ?s ns:performedAt ?pa.\n" +
+                    "}\n" +
+                    "UNION {" +
+                    "   ?s ns:receivedItem 
<urn:tdc:01a49336-d0e0-3cd6-9ddb-0e6b14369876>.\n" +
+                    "   ?s ns:performedBy ?pb.\n" +
+                    "   ?s ns:performedAt ?pa.\n" +
+                    "}\n" +
+                    "UNION {" +
+                    "   ?s ns:storedItem 
<urn:tdc:01a49336-d0e0-3cd6-9ddb-0e6b14369876>.\n" +
+                    "   ?s ns:performedBy ?pb.\n" +
+                    "   ?s ns:performedAt ?pa.\n" +
+                    "}\n" +
+                    "UNION {" +
+                    "   ?s ns:sentItem 
<urn:tdc:01a49336-d0e0-3cd6-9ddb-0e6b14369876>.\n" +
+                    "   ?s ns:performedBy ?pb.\n" +
+                    "   ?s ns:performedAt ?pa.\n" +
+                    "}\n" +
+                    "}\n";
+
+            String prov_createdItems = "PREFIX ns: 
<http://here/2010/tracked-data-provenance/ns#>\n" +
+                    "\n" +
+                    "select * where {\n" +
+                    "\n" +
+                    "  ?s ns:createdItem ?i\n" +
+                    " \n" +
+                    "} limit 10";
+            ////////////////////
+
+            String rangeQuery = "PREFIX tdp: 
<http://here/2010/tracked-data-provenance/ns#>\n" +
+                    "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    "PREFIX mvmpart: <urn:mvm.mmrts.partition.rdf/08/2011#>\n" 
+
+                    "SELECT * WHERE\n" +
+                    "{\n" +
+                    "?id tdp:reportedAt ?timestamp.\n" +
+                    "FILTER(mvmpart:timeRange(?id, tdp:reportedAt, 
1314849589999 , 1314849599999 , 'XMLDATETIME')).\n" +
+                    "?id tdp:performedBy ?system.\n" +
+                    "?id rdf:type ?type.\n" +
+                    "}";
+
+            String issueMMRTS127 = "select * where \n" +
+                    "{ \n" +
+                    "<urn:system:null> ?p ?o. \n" +
+                    "?o ?p2 ?o2. \n" +
+                    "} ";
+
+            String uuid1 = "select * where { " +
+                    "?u 
<http://here/2010/tracked-data-provenance/ns#performedAt> ?pa; " +
+                    "   
<http://here/2010/tracked-data-provenance/ns#reportedAt> ?ra; " +
+                    "   <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?t. 
" +
+                    "}";
+
+            String uuidAuth1 = "select * where { " +
+                    "<http://here/2010/tracked-data-provenance/ns#uuidAuth1> 
?p ?o. " +
+                    "}";
+
+            String selectAll = "PREFIX rdf: 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" +
+                    " PREFIX ub: <urn:lubm:test#>\n" +
+                    " SELECT * WHERE\n" +
+                    " {\n" +
+                    "     ?x ub:takesCourse ?c .\n" +
+                    "     ?x rdf:type ?gs .\n" +
+                    "     ?x ub:name 'UndergraduateStudent139'.\n" +
+                    " }";
+
+            String query = uuidAuth1;
+
+            Calendar start_cal = Calendar.getInstance();
+            start_cal.set(Calendar.MONTH, 7);
+            start_cal.set(Calendar.DAY_OF_MONTH, 13);
+
+            Calendar end_cal = Calendar.getInstance();
+            end_cal.set(Calendar.MONTH, 7);
+            end_cal.set(Calendar.DAY_OF_MONTH, 14);
+
+            System.out.println(query);
+            long start = System.currentTimeMillis();
+            TupleQuery tupleQuery = conn.prepareTupleQuery(
+                    QueryLanguage.SPARQL, query);
+            ValueFactory vf = ValueFactoryImpl.getInstance();
+//            tupleQuery.setBinding(NUMTHREADS_PROP, vf.createLiteral(10));
+//            tupleQuery.setBinding(AUTHORIZATION_PROP, vf.createLiteral("C"));
+//            tupleQuery.setBinding(START_BINDING, 
vf.createLiteral(start_cal.getTimeInMillis()));
+//            tupleQuery.setBinding(END_BINDING, 
vf.createLiteral(end_cal.getTimeInMillis()));
+//            tupleQuery.setBinding(START_BINDING, 
vf.createLiteral(1313779878435l));
+//            tupleQuery.setBinding(END_BINDING, 
vf.createLiteral(1313779978435l));
+
+//            TupleQueryResultHandler writer = new SPARQLResultsXMLWriter(new 
NullOutputStream());
+            TupleQueryResultHandler writer = new 
SPARQLResultsXMLWriter(System.out);
+//            tupleQuery.evaluate(writer);
+            tupleQuery.evaluate(new TupleQueryResultHandler() {
+
+                int count = 0;
+
+                @Override
+                public void startQueryResult(List<String> strings) throws 
TupleQueryResultHandlerException {
+                }
+
+                @Override
+                public void endQueryResult() throws 
TupleQueryResultHandlerException {
+                    System.out.println(count);
+                }
+
+                @Override
+                public void handleSolution(BindingSet bindingSet) throws 
TupleQueryResultHandlerException {
+                    count++;
+                    System.out.println(bindingSet);
+                }
+            });
+            System.out.println("Total query time: "
+                    + (System.currentTimeMillis() - start));
+
+            conn.close();
+//                     os.close();
+
+            // for (String string : urls) {
+            // ByteStreams
+            // }
+            myRepository.shutDown();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    public static void main(String[] args) {
+        try {
+            new QueryPartitionData().run();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        System.exit(0);
+    }
+}

Reply via email to