use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class TestGraphProperties method firstRecordOtherThanZeroIfNotFirst.
@Test
public void firstRecordOtherThanZeroIfNotFirst() throws Exception {
File storeDir = new File("/store/dir").getAbsoluteFile();
GraphDatabaseAPI db = (GraphDatabaseAPI) factory.newImpermanentDatabase(storeDir);
Transaction tx = db.beginTx();
Node node = db.createNode();
node.setProperty("name", "Yo");
tx.success();
tx.close();
db.shutdown();
db = (GraphDatabaseAPI) factory.newImpermanentDatabase(storeDir);
tx = db.beginTx();
properties(db).setProperty("test", "something");
tx.success();
tx.close();
db.shutdown();
Config config = Config.embeddedDefaults(Collections.emptyMap());
StoreFactory storeFactory = new StoreFactory(storeDir, config, new DefaultIdGeneratorFactory(fs.get()), pageCacheRule.getPageCache(fs.get()), fs.get(), NullLogProvider.getInstance());
NeoStores neoStores = storeFactory.openAllNeoStores();
long prop = neoStores.getMetaDataStore().getGraphNextProp();
assertTrue(prop != 0);
neoStores.close();
}
use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class TestGraphProperties method produceUncleanStore.
private EphemeralFileSystemAbstraction produceUncleanStore(EphemeralFileSystemAbstraction fileSystem, File storeDir) {
GraphDatabaseService db = new TestGraphDatabaseFactory().setFileSystem(fileSystem).newImpermanentDatabase(storeDir);
Transaction tx = db.beginTx();
Node node = db.createNode();
node.setProperty("name", "Something");
properties((GraphDatabaseAPI) db).setProperty("prop", "Some value");
tx.success();
tx.close();
EphemeralFileSystemAbstraction snapshot = fileSystem.snapshot();
db.shutdown();
return snapshot;
}
use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class TestPropertyBlocks method testStringYoYoBase.
private void testStringYoYoBase(boolean withNewTx) {
Node node = getGraphDb().createNode();
long recordsInUseAtStart = propertyRecordsInUse();
long valueRecordsInUseAtStart = dynamicStringRecordsInUse();
String data = "0";
int counter = 1;
while (dynamicStringRecordsInUse() == valueRecordsInUseAtStart) {
data += counter++;
node.setProperty("yoyo", data);
if (withNewTx) {
newTransaction();
assertEquals(recordsInUseAtStart + 1, propertyRecordsInUse());
}
}
data = data.substring(0, data.length() - 2);
node.setProperty("yoyo", data);
newTransaction();
assertEquals(valueRecordsInUseAtStart, dynamicStringRecordsInUse());
assertEquals(recordsInUseAtStart + 1, propertyRecordsInUse());
node.setProperty("fillerBoolean", true);
newTransaction();
assertEquals(recordsInUseAtStart + 2, propertyRecordsInUse());
}
use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class ParallelBatchImporterTest method verifyData.
protected void verifyData(int nodeCount, int relationshipCount, GraphDatabaseService db, IdGroupDistribution groups, long nodeRandomSeed, long relationshipRandomSeed) {
// Read all nodes, relationships and properties ad verify against the input data.
try (InputIterator<InputNode> nodes = nodes(nodeRandomSeed, nodeCount, inputIdGenerator, groups).iterator();
InputIterator<InputRelationship> relationships = relationships(relationshipRandomSeed, relationshipCount, inputIdGenerator, groups).iterator()) {
// Nodes
Map<String, Node> nodeByInputId = new HashMap<>(nodeCount);
Iterator<Node> dbNodes = db.getAllNodes().iterator();
int verifiedNodes = 0;
while (nodes.hasNext()) {
InputNode input = nodes.next();
Node node = dbNodes.next();
assertNodeEquals(input, node);
String inputId = uniqueId(input.group(), node);
assertNull(nodeByInputId.put(inputId, node));
verifiedNodes++;
assertDegrees(node);
}
assertEquals(nodeCount, verifiedNodes);
// Relationships
Map<String, Relationship> relationshipByName = new HashMap<>();
for (Relationship relationship : db.getAllRelationships()) {
relationshipByName.put((String) relationship.getProperty("id"), relationship);
}
int verifiedRelationships = 0;
while (relationships.hasNext()) {
InputRelationship input = relationships.next();
if (!inputIdGenerator.isMiss(input.startNode()) && !inputIdGenerator.isMiss(input.endNode())) {
// A relationship referring to missing nodes. The InputIdGenerator is expected to generate
// some (very few) of those. Skip it.
String name = (String) propertyOf(input, "id");
Relationship relationship = relationshipByName.get(name);
assertNotNull("Expected there to be a relationship with name '" + name + "'", relationship);
assertEquals(nodeByInputId.get(uniqueId(input.startNodeGroup(), input.startNode())), relationship.getStartNode());
assertEquals(nodeByInputId.get(uniqueId(input.endNodeGroup(), input.endNode())), relationship.getEndNode());
assertRelationshipEquals(input, relationship);
}
verifiedRelationships++;
}
assertEquals(relationshipCount, verifiedRelationships);
}
}
use of org.neo4j.graphdb.Node in project neo4j by neo4j.
the class RelationshipChainExplorerTest method createStoreWithOneHighDegreeNodeAndSeveralDegreeTwoNodes.
private StoreAccess createStoreWithOneHighDegreeNodeAndSeveralDegreeTwoNodes(int nDegreeTwoNodes) {
File storeDirectory = storeLocation.graphDbDir();
GraphDatabaseService database = new TestGraphDatabaseFactory().newEmbeddedDatabaseBuilder(storeDirectory).setConfig(GraphDatabaseSettings.record_format, getRecordFormatName()).newGraphDatabase();
try (Transaction transaction = database.beginTx()) {
Node denseNode = database.createNode();
for (int i = 0; i < nDegreeTwoNodes; i++) {
Node degreeTwoNode = database.createNode();
Node leafNode = database.createNode();
if (i % 2 == 0) {
denseNode.createRelationshipTo(degreeTwoNode, TestRelationshipType.CONNECTED);
} else {
degreeTwoNode.createRelationshipTo(denseNode, TestRelationshipType.CONNECTED);
}
degreeTwoNode.createRelationshipTo(leafNode, TestRelationshipType.CONNECTED);
}
transaction.success();
}
database.shutdown();
PageCache pageCache = pageCacheRule.getPageCache(fileSystemRule.get());
StoreAccess storeAccess = new StoreAccess(fileSystemRule.get(), pageCache, storeDirectory, Config.empty());
return storeAccess.initialize();
}
Aggregations