Create and access nodes and relationships.
To begin with, we define the relationship types we want to use:
private static enum ExampleRelationshipTypes implements RelationshipType { EXAMPLE }
The next step is to start the database server:
GraphDatabaseService graphDb = new EmbeddedGraphDatabase( DB_PATH ); registerShutdownHook( graphDb );
As seen, we register a shutdown hook that will make sure the database shuts down when the JVM exits. Now it’s time to interact with the database:
// Encapsulate operations in a transaction Transaction tx = graphDb.beginTx(); try { Node firstNode = graphDb.createNode(); firstNode.setProperty( NAME_KEY, "Hello" ); Node secondNode = graphDb.createNode(); secondNode.setProperty( NAME_KEY, "World" ); firstNode.createRelationshipTo( secondNode, ExampleRelationshipTypes.EXAMPLE ); String greeting = firstNode.getProperty( NAME_KEY ) + " " + secondNode.getProperty( NAME_KEY ); System.out.println( greeting );
At this point this is how the database looks:
In this case we’ll remove the data before committing:
// let's remove the data before committing firstNode.getSingleRelationship( ExampleRelationshipTypes.EXAMPLE, Direction.OUTGOING ).delete(); firstNode.delete(); secondNode.delete(); tx.success(); } finally { tx.finish(); }
Finally, shut down the database server when the application finishes:
graphDb.shutdown();
Full source code: EmbeddedNeo4j.java
Copyright © 2011 Neo Technology