http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstBed.java ---------------------------------------------------------------------- diff --git a/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstBed.java b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstBed.java new file mode 100644 index 0000000..084cd2e --- /dev/null +++ b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstBed.java @@ -0,0 +1,90 @@ +package mvm.mmrts.rdf.partition; + +import cloudbase.core.client.BatchScanner; +import cloudbase.core.client.Connector; +import cloudbase.core.client.ZooKeeperInstance; +import cloudbase.core.data.Key; +import cloudbase.core.data.Range; +import cloudbase.core.data.Value; +import com.google.common.io.ByteStreams; +import mvm.mmrts.rdf.partition.utils.RdfIO; +import ss.cloudbase.core.iterators.CellLevelRecordIterator; +import ss.cloudbase.core.iterators.SortedRangeIterator; +import ss.cloudbase.core.iterators.filter.CBConverter; + +import java.util.Collections; +import java.util.Iterator; +import java.util.Map; + +import static mvm.mmrts.rdf.partition.PartitionConstants.*; + +/** + * Class TstBed + * Date: Aug 2, 2011 + * Time: 9:22:11 AM + */ +public class TstBed { + public static void main(String[] args) { + try { + + String predicate = "http://here/2010/tracked-data-provenance/ns#createdItem"; + + Connector connector = new ZooKeeperInstance("stratus", "stratus13:2181").getConnector("root", "password"); + BatchScanner bs = connector.createBatchScanner("partitionRdf", ALL_AUTHORIZATIONS, 3); + + bs.setScanIterators(21, CellLevelRecordIterator.class.getName(), "ci"); + + bs.setScanIterators(20, SortedRangeIterator.class.getName(), "ri"); + bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_DOC_COLF, DOC.toString()); + bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_COLF, INDEX.toString()); + bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_START_INCLUSIVE, "" + true); + bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_END_INCLUSIVE, "" + true); + bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_MULTI_DOC, "" + true); + + bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_LOWER_BOUND, + "\07http://here/2010/tracked-data-provenance/ns#reportedAt\u0001\u000B2011-08-26T18:01:51.000Z" + ); + bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_UPPER_BOUND, + "\07http://here/2010/tracked-data-provenance/ns#reportedAt\u0001\u000B2011-08-26T18:01:51.400Z" + ); + + Range range = new Range( + new Key("2011-08\0"), + new Key("2011-08\uFFFD") + ); + +// scanner.setRange(range); + bs.setRanges(Collections.singleton(range)); +// bs.fetchColumnFamily(INDEX); +// bs.setColumnFamilyRegex(INDEX.toString()); +// bs.setColumnQualifierRegex(URI_MARKER_STR + predicate + INDEX_DELIM_STR + "(.*)"); + + int count = 0; + Iterator<Map.Entry<Key, Value>> iter = bs.iterator(); + CBConverter converter = new CBConverter(); + while (iter.hasNext()) { + count++; +// iter.next(); + Map.Entry<Key, Value> entry = iter.next(); + Value value = entry.getValue(); +// System.out.println(entry.getKey().getColumnQualifier() + "----" + value); + org.openrdf.model.Value subj = RdfIO.readValue(ByteStreams.newDataInput(entry.getKey().getColumnQualifier().getBytes()), VALUE_FACTORY, FAMILY_DELIM); + Map<String, String> map = converter.toMap(entry.getKey(), value); + for (Map.Entry<String, String> e : map.entrySet()) { + String predObj = e.getKey(); + String[] split = predObj.split("\0"); + byte[] look = split[0].getBytes(); + System.out.println(subj + + " : " + VALUE_FACTORY.createURI(split[0]) + " : " + + RdfIO.readValue(ByteStreams.newDataInput(split[1].getBytes()), VALUE_FACTORY, FAMILY_DELIM)); + } + } + System.out.println(count); + + bs.close(); + + } 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/TstBedGMDen.java ---------------------------------------------------------------------- diff --git a/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstBedGMDen.java b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstBedGMDen.java new file mode 100644 index 0000000..44309e2 --- /dev/null +++ b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstBedGMDen.java @@ -0,0 +1,94 @@ +package mvm.mmrts.rdf.partition; + +import cloudbase.core.client.BatchScanner; +import cloudbase.core.client.Connector; +import cloudbase.core.client.ZooKeeperInstance; +import cloudbase.core.data.Key; +import cloudbase.core.data.Range; +import cloudbase.core.data.Value; +import com.google.common.io.ByteStreams; +import mvm.mmrts.rdf.partition.utils.RdfIO; +import org.apache.hadoop.io.Text; +import org.openrdf.query.algebra.Var; +import ss.cloudbase.core.iterators.CellLevelRecordIterator; +import ss.cloudbase.core.iterators.GMDenIntersectingIterator; +import ss.cloudbase.core.iterators.SortedRangeIterator; +import ss.cloudbase.core.iterators.filter.CBConverter; + +import java.util.Collections; +import java.util.Iterator; +import java.util.Map; + +import static mvm.mmrts.rdf.partition.PartitionConstants.*; + +/** + * Class TstBed + * Date: Aug 2, 2011 + * Time: 9:22:11 AM + */ +public class TstBedGMDen { + public static void main(String[] args) { + try { + + Connector connector = new ZooKeeperInstance("stratus", "stratus13:2181").getConnector("root", "password"); + BatchScanner bs = connector.createBatchScanner("rdfPartition", ALL_AUTHORIZATIONS, 3); + + String[] predicates = {"urn:lubm:test#takesCourse", + "urn:lubm:test#name", + "urn:lubm:test#specific", + "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"}; + + Text[] queries = new Text[predicates.length]; + for (int i = 0; i < predicates.length; i++) { + String predicate = predicates[i]; + queries[i] = new Text(GMDenIntersectingIterator.getRangeTerm(INDEX.toString(), + URI_MARKER_STR + predicate + INDEX_DELIM_STR + "\0" + , true, + URI_MARKER_STR + predicate + INDEX_DELIM_STR + "\uFFFD", + true + )); + System.out.println(queries[i]); + } + + bs.setScanIterators(21, CellLevelRecordIterator.class.getName(), "ci"); + + bs.setScanIterators(20, GMDenIntersectingIterator.class.getName(), "ii"); + bs.setScanIteratorOption("ii", GMDenIntersectingIterator.docFamilyOptionName, DOC.toString()); + bs.setScanIteratorOption("ii", GMDenIntersectingIterator.indexFamilyOptionName, INDEX.toString()); + bs.setScanIteratorOption("ii", GMDenIntersectingIterator.columnFamiliesOptionName, GMDenIntersectingIterator.encodeColumns(queries)); + bs.setScanIteratorOption("ii", GMDenIntersectingIterator.OPTION_MULTI_DOC, "" + true); + + Range range = new Range( + new Key("2011-11\0"), + new Key("2011-11\uFFFD") + ); + + bs.setRanges(Collections.singleton(range)); + + int count = 0; + Iterator<Map.Entry<Key, Value>> iter = bs.iterator(); + CBConverter converter = new CBConverter(); + while (iter.hasNext()) { + count++; + Map.Entry<Key, Value> entry = iter.next(); + Value value = entry.getValue(); + org.openrdf.model.Value subj = RdfIO.readValue(ByteStreams.newDataInput(entry.getKey().getColumnQualifier().getBytes()), VALUE_FACTORY, FAMILY_DELIM); + Map<String, String> map = converter.toMap(entry.getKey(), value); + for (Map.Entry<String, String> e : map.entrySet()) { + String predObj = e.getKey(); + String[] split = predObj.split("\0"); + byte[] look = split[0].getBytes(); + System.out.println(subj + + " : " + VALUE_FACTORY.createURI(split[0]) + " : " + + RdfIO.readValue(ByteStreams.newDataInput(split[1].getBytes()), VALUE_FACTORY, FAMILY_DELIM)); + } + } + System.out.println(count); + + bs.close(); + + } 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/TstDocumentReader.java ---------------------------------------------------------------------- diff --git a/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstDocumentReader.java b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstDocumentReader.java new file mode 100644 index 0000000..7723431 --- /dev/null +++ b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstDocumentReader.java @@ -0,0 +1,217 @@ +//package mvm.mmrts.rdf.partition; +// +//import cloudbase.core.CBConstants; +//import cloudbase.core.client.Connector; +//import cloudbase.core.client.ZooKeeperInstance; +//import cloudbase.core.client.mock.MockInstance; +//import cloudbase.core.data.Key; +//import cloudbase.core.data.Range; +//import cloudbase.core.data.Value; +//import cloudbase.core.util.TextUtil; +//import mvm.mmrts.cloudbase.utils.client.DocumentBatchScanner; +//import mvm.mmrts.cloudbase.utils.client.DocumentConnectorImpl; +//import mvm.mmrts.rdf.partition.shard.DateHashModShardValueGenerator; +//import org.apache.hadoop.io.Text; +//import org.apache.log4j.Level; +//import org.apache.log4j.Logger; +//import org.openrdf.model.ValueFactory; +//import org.openrdf.model.impl.StatementImpl; +//import org.openrdf.model.impl.ValueFactoryImpl; +//import org.openrdf.repository.RepositoryException; +//import org.openrdf.repository.sail.SailRepository; +//import org.openrdf.repository.sail.SailRepositoryConnection; +//import ss.cloudbase.core.iterators.SortedRangeIterator; +// +//import javax.xml.datatype.DatatypeConfigurationException; +//import javax.xml.datatype.DatatypeFactory; +//import java.util.Collections; +//import java.util.Iterator; +//import java.util.List; +//import java.util.Map; +// +//import static mvm.mmrts.rdf.partition.PartitionConstants.*; +// +///** +// * Class TstDocumentReader +// * Date: Sep 8, 2011 +// * Time: 9:11:27 AM +// */ +//public class TstDocumentReader { +// 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 static SailRepository repository; +// private static SailRepositoryConnection connection; +// +// private static ValueFactory vf = ValueFactoryImpl.getInstance(); +// +// private static final String TABLE = "partitionRdf"; +// private static final long START = 1309532965000l; +// private static final long END = 1310566686000l; +// private static String objectUuid = "objectuuid1"; +// +// public static void main(String[] args) { +// try { +//// Logger.getRootLogger().setLevel(Level.TRACE); +// DocumentConnectorImpl connector = new DocumentConnectorImpl(new ZooKeeperInstance("stratus", "stratus13:2181"), "root", "password".getBytes()); +//// DocumentConnectorImpl connector = new DocumentConnectorImpl(new MockInstance(), "", "".getBytes()); +// +//// PartitionSail sail = new PartitionSail(connector, 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(); +// +// DocumentBatchScanner bs = connector.createDocumentBatchScanner(TABLE, CBConstants.NO_AUTHS, 2); +// +// bs.setScanIterators(20, SortedRangeIterator.class.getName(), "ri"); +// bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_DOC_COLF, DOC.toString()); +// bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_COLF, INDEX.toString()); +// bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_START_INCLUSIVE, "" + true); +// bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_END_INCLUSIVE, "" + true); +// bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_MULTI_DOC, "" + true); +// +// bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_LOWER_BOUND, +// "\07http://here/2010/tracked-data-provenance/ns#reportedAt\u0001\u000B2011-08-26T18:01:51Z" +// ); +// bs.setScanIteratorOption("ri", SortedRangeIterator.OPTION_UPPER_BOUND, +// "\07http://here/2010/tracked-data-provenance/ns#reportedAt\u0001\u000B2011-08-26T18:02:00Z" +// ); +// +// Range range = new Range( +// new Key("2011-08\0"), +// new Key("2011-08\uFFFD") +// ); +// +// bs.setRanges(Collections.singleton(range)); +// +// int count = 0; +// int innerCount = 0; +// Iterator<List<? extends Map.Entry<Key, Value>>> iter = bs.documentIterator(); +// while (iter.hasNext()) { +// count++; +// List<? extends Map.Entry<Key, Value>> entries = iter.next(); +// for (Map.Entry<Key, Value> entry : entries) { +// System.out.print(entry.getKey().getColumnQualifier()); +// System.out.println(" "); +// innerCount++; +// } +// System.out.println(); +// } +// System.out.println(count); +// System.out.println(innerCount); +// +// bs.close(); +//// connection.close(); +//// repository.shutDown(); +// +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } +// +// private static 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)))); +// +// //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"))); +// connection.commit(); +// } +// +// +//} http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstScanner.java ---------------------------------------------------------------------- diff --git a/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstScanner.java b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstScanner.java new file mode 100644 index 0000000..6650cf1 --- /dev/null +++ b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/TstScanner.java @@ -0,0 +1,59 @@ +package mvm.mmrts.rdf.partition; + +import cloudbase.core.client.BatchScanner; +import cloudbase.core.client.Connector; +import cloudbase.core.client.ZooKeeperInstance; +import cloudbase.core.data.Key; +import cloudbase.core.data.Range; +import cloudbase.core.data.Value; +import org.apache.hadoop.io.Text; +import ss.cloudbase.core.iterators.SortedRangeIterator; + +import java.util.Collections; +import java.util.Iterator; +import java.util.Map; + +import static mvm.mmrts.rdf.partition.PartitionConstants.*; + +/** + * Class TstBed + * Date: Aug 2, 2011 + * Time: 9:22:11 AM + */ +public class TstScanner { + public static void main(String[] args) { + try { + Connector connector = new ZooKeeperInstance("stratus", "stratus13:2181").getConnector("root", "password"); + BatchScanner bs = connector.createBatchScanner("partitionRdf", ALL_AUTHORIZATIONS, 3); + + Text shard = new Text("2011-08-40"); + String uri = "urn:tde:c5e2f4d8-a5a6-48d8-ba55-1acea969c38d"; + bs.setRanges(Collections.singleton( + new Range( + new Key( + shard, DOC, + new Text(URI_MARKER_STR + uri + FAMILY_DELIM_STR + "\0") + ), + new Key( + shard, DOC, + new Text(URI_MARKER_STR + uri + FAMILY_DELIM_STR + "\uFFFD") + ) + ) + )); + + int count = 0; + Iterator<Map.Entry<Key, Value>> iter = bs.iterator(); + while (iter.hasNext()) { + count++; +// iter.next(); + System.out.println(iter.next().getKey().getColumnQualifier()); + } + System.out.println(count); + + bs.close(); + + } 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/shard/DateHashModShardValueGeneratorTest.java ---------------------------------------------------------------------- diff --git a/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/shard/DateHashModShardValueGeneratorTest.java b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/shard/DateHashModShardValueGeneratorTest.java new file mode 100644 index 0000000..fe27ec7 --- /dev/null +++ b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/shard/DateHashModShardValueGeneratorTest.java @@ -0,0 +1,30 @@ +package mvm.mmrts.rdf.partition.shard; + +import junit.framework.TestCase; + +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +/** + * Class DateHashModShardValueGeneratorTest + * Date: Jul 6, 2011 + * Time: 6:35:32 PM + */ +public class DateHashModShardValueGeneratorTest extends TestCase { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); + Calendar cal = Calendar.getInstance(); + + public void testGenerateShardValue() throws Exception { + + DateHashModShardValueGenerator gen = new DateHashModShardValueGenerator(); + gen.setBaseMod(100); + assertEquals(gen.generateShardValue("subject"), dateFormat.format(cal.getTime()) + "_68"); + } + + public void testGenerateShardValueNullObject() throws Exception { + DateHashModShardValueGenerator gen = new DateHashModShardValueGenerator(); + gen.setBaseMod(100); + assertEquals(gen.generateShardValue(null), dateFormat.format(cal.getTime())); + } +} http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/92ddfa59/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/utils/RdfIOTest.java ---------------------------------------------------------------------- diff --git a/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/utils/RdfIOTest.java b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/utils/RdfIOTest.java new file mode 100644 index 0000000..d251485 --- /dev/null +++ b/partition/partition.rdf/src/test/java/mvm/mmrts/rdf/partition/utils/RdfIOTest.java @@ -0,0 +1,82 @@ +package mvm.mmrts.rdf.partition.utils; + +import com.google.common.io.ByteStreams; +import com.google.common.primitives.Bytes; +import junit.framework.TestCase; +import org.openrdf.model.Statement; +import org.openrdf.model.ValueFactory; +import org.openrdf.model.impl.StatementImpl; +import org.openrdf.model.impl.ValueFactoryImpl; + +import static mvm.mmrts.rdf.partition.utils.RdfIO.*; + +/** + * Class RdfIOTest + * Date: Jul 6, 2011 + * Time: 12:59:25 PM + */ +public class RdfIOTest extends TestCase { + + ValueFactory vf = ValueFactoryImpl.getInstance(); + + public void testWriteStatementEvent() throws Exception { + StatementImpl stmt = new StatementImpl(vf.createURI("urn:namespace#subj"), vf.createURI("urn:namespace#pred"), vf.createLiteral("object")); + byte[] bytes = writeStatement(stmt, true); + } + + public void testWriteStatementIndex() throws Exception { + StatementImpl stmt = new StatementImpl(vf.createURI("urn:namespace#subj"), vf.createURI("urn:namespace#pred"), vf.createLiteral("object")); + byte[] bytes = writeStatement(stmt, false); + } + + public void testExtraInfoInStmtBytes() throws Exception { + StatementImpl stmt = new StatementImpl(vf.createURI("urn:namespace#subj"), vf.createURI("urn:namespace#pred"), vf.createLiteral("object")); + byte[] bytes = writeStatement(stmt, true); + bytes = Bytes.concat(bytes, "extrainformation".getBytes()); + Statement readStmt = readStatement(ByteStreams.newDataInput(bytes), ValueFactoryImpl.getInstance()); + System.out.println(readStmt); + } + + public void testReadStatement() throws Exception { + StatementImpl stmt = new StatementImpl(vf.createURI("urn:namespace#subj"), vf.createURI("urn:namespace#pred"), vf.createLiteral("object")); + byte[] bytes = writeStatement(stmt, true); + + Statement readStmt = readStatement(ByteStreams.newDataInput(bytes), vf); + assertEquals(readStmt, stmt); + + //testing blank node + stmt = new StatementImpl(vf.createBNode("a12345"), vf.createURI("urn:namespace#pred"), vf.createLiteral("object")); + bytes = writeStatement(stmt, true); + + readStmt = readStatement(ByteStreams.newDataInput(bytes), vf); + assertEquals(readStmt, stmt); + + //testing boolean literal datatype + stmt = new StatementImpl(vf.createURI("urn:namespace#subj"), vf.createURI("urn:namespace#pred"), vf.createLiteral(true)); + bytes = writeStatement(stmt, true); + + readStmt = readStatement(ByteStreams.newDataInput(bytes), vf); + assertEquals(readStmt, stmt); + + //testing boolean literal datatype + stmt = new StatementImpl(vf.createURI("urn:namespace#subj"), vf.createURI("urn:namespace#pred"), vf.createLiteral("label", "language")); + bytes = writeStatement(stmt, true); + + readStmt = readStatement(ByteStreams.newDataInput(bytes), vf); + assertEquals(readStmt, stmt); + } + + public void testReadIndexStatement() throws Exception { + StatementImpl stmt = new StatementImpl(vf.createURI("urn:namespace#subj"), vf.createURI("urn:namespace#pred"), vf.createLiteral("object")); + byte[] bytes = writeStatement(stmt, false); + + Statement readStmt = readStatement(ByteStreams.newDataInput(bytes), vf, false); + assertEquals(readStmt, stmt); + + bytes = writeStatement(stmt, true); + + readStmt = readStatement(ByteStreams.newDataInput(bytes), vf, true); + assertEquals(readStmt, stmt); + } + +}
