Sophie Mack
Sophie Mack

Reputation: 21

neo4j embeded in java

i tried to execute the tutoriel but this error message is keeping to be appears

Exception in thread "main" org.neo4j.graphdb.NotInTransactionException
    at org.neo4j.kernel.impl.persistence.PersistenceManager.getResource(PersistenceManager.java:228)    at org.neo4j.kernel.impl.persistence.PersistenceManager.getResource(PersistenceManager.java:228)
    at org.neo4j.kernel.impl.persistence.PersistenceManager.nodeCreate(PersistenceManager.java:155)
    at org.neo4j.kernel.impl.core.NodeManager.createNode(NodeManager.java:254)
    at org.neo4j.kernel.EmbeddedGraphDbImpl.createNode(EmbeddedGraphDbImpl.java:305)
    at org.neo4j.kernel.EmbeddedGraphDatabase.createNode(EmbeddedGraphDatabase.java:105)
    at twiapp.embeded.main(embeded.java:37)
Java Result: 1

Upvotes: 0

Views: 82

Answers (1)

František Hartman
František Hartman

Reputation: 15086

Your code modifying the database needs to run within the transaction:

public static void main(String args[]) {
        graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(path);
        registerShutdownHook(graphDb);
        Transaction tx = graphDb.beginTx();
        try {


        firstNode = graphDb.createNode();
        firstNode.setProperty("message", "Hello, ");
        secondNode = graphDb.createNode();
        secondNode.setProperty("message", "World!");
        relationship = firstNode.createRelationshipTo(secondNode, RelTypes.KNOWS);
        relationship.setProperty("message", "brave Neo4j ");

            tx.success();
        } finally {
            tx.finish();
        }
    }

Also you should create the embedded database using the provided factory. See tutorial for version 2.1.7 http://neo4j.com/docs/2.1.7/tutorials-java-embedded-hello-world.html

Upvotes: 1

Related Questions