Prabjot Singh
Prabjot Singh

Reputation: 4767

Neo4j:Groovy script is not inserting anything

I am using neo4j in embedded mode. So for some operations in database on server, i am tying to execute groovy script. Groovy script is running successfully without any error,but it is not creating any new record when i am checking neo4j-communinty tool.

Script

/**
 * Created by prabjot on 7/1/17.
 */
@Grab(group="org.neo4j", module="neo4j-kernel", version="2.3.6")
@Grab(group="org.neo4j", module="neo4j-lucene-index", version="2.3.6")
@Grab(group='org.neo4j', module='neo4j-shell', version='2.3.6')
@Grab(group='org.neo4j', module='neo4j-cypher', version='2.3.6')
import org.neo4j.graphdb.factory.GraphDatabaseFactory
import org.neo4j.graphdb.Node
import org.neo4j.graphdb.Result
import org.neo4j.graphdb.Transaction
class Neo4jEmbeddedAccess {

    public static void main(String[] args) {
        def map=[:]
        map.put("allow_store_upgrade","true")
        map.put("remote_shell_enabled","true")
        def db = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder("/opt/neo4j-community-3.0.4/data/databases/graph.db")
                .setConfig(map)
                .newGraphDatabase()
        Transaction tx =db.beginTx()
        Node person = db.createNode();
        person.setProperty("name","prabjot")
    print("id---->" + person.id);
        Result result = db.execute("Match (country:Country) where id(country)=73 SET country.modified=true return country")
        print(result)
        tx.success();

        println """starting embedded graph db
use bin/neo4j-shell from a new distribution to connect
we're keeping the graphdb open for 120 secs"""
        db.shutdown()
    }

Please help what i am doing wrong here, i have checked my db location but is same as i am using in script and tool.

Thanks

Upvotes: 1

Views: 66

Answers (1)

Michael Hunger
Michael Hunger

Reputation: 41706

You forgot tx.close() which commits the Transaction

Sucess only marks it as successful

Upvotes: 2

Related Questions