1
私はneo4jを組み込みモードで使用しています。だからサーバー上のデータベースのいくつかの操作については、私はgroovyスクリプトを実行するつもりです。 Groovyスクリプトはエラーなく正常に実行されていますが、neo4j-communintyツールをチェックしているときに新しいレコードが作成されていません。Neo4j:Groovyスクリプトに何も挿入されていません
スクリプト
/**
* 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()
}
私はここで間違ってやっている何を助けてください、私は私のデシベルの場所を確認しますが、私は、スクリプトやツールに使っていたものと同じであるしています。トランザクションをコミットあなたはtx.closeを忘れてしまった
おかげ
として成功し、それをマークします。しかし、私は1つの質問について心配しています。アプリケーションをシャットダウンするとデータベース内の何かを変更したいのですが、プロダクションでは不可能だと思います。ですから、埋め込みモードを使用している間に私が誤ったデータを生産中に修正する方法を教えてください。 –