2017-01-07 4 views
1

Я использую neo4j во встроенном режиме. Поэтому для некоторых операций в базе данных на сервере я привязываюсь к выполнению groovy-скрипта. Скрипт Groovy работает без ошибок, но он не создает новую запись, когда я проверяю инструмент neo4j-communinty.Neo4j: скрипт Groovy не вставляет ничего

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() 
    } 

Пожалуйста, помогите, что я делаю неправильно здесь, я проверил мое дб местоположение, но это так же, как я использую в сценарии и инструмента.

Благодаря

ответ

2

Вы забыли tx.close(), который совершает сделки

Sucess только помечает его как успешный

+0

Thanku он работает нормально. Но я беспокоюсь о одном вопросе, должен ли я закрыть приложение, если я хочу что-то изменить в базе данных, я думаю, что это невозможно в производстве, потому что он дает мне ошибку блокировки файла. Итак, можете ли вы предложить мне, как я могу исправить неправильные данные в процессе производства, используя встроенный режим. –

 Смежные вопросы

  • Нет связанных вопросов^_^