-1
我正在使用neo4j版本3.1.0。我創建了2000萬圖。每個圖包含9個節點及其各自的屬性。我正在使用嵌入模式(api 3.1.0)。我試圖更改節點的屬性。在運行時,我更改了節點的屬性但它不反映在數據庫中,當我試圖使用neo4j外殼獲取節點屬性。圖表數據庫未更新Neo4j
數據庫大小差不多是20GB。我正在服務器上運行它。我猜這些更改是在緩存中發生的,但它並不反映在圖形數據庫中。我應該在圖形數據庫中更新哪些更改?試圖通過按CNTRL + C.Hence來處理這種情況下,該段添加到您的代碼停止代碼時
try(Transaction tx=GraphCreation.getInstance().dbService.beginTx()){
Node n= GraphCreation.getInstance().dbService.findNode(MyLabels.IMSI,"IMSI" ,"A"+0);
n.setProperty("MSISDN", "Z"+0);
tx.success(); // commit
} catch(Exception e)
{
e.printStackTrace();
}
try(Transaction tx=GraphCreation.getInstance().dbService.beginTx())
{
String cql ="match(a:IMSI{IMSI : 'A0'}) return a.MSISDN";
Result result= GraphCreation.getInstance().dbService.execute(cql);
while (result.hasNext())
{
Map<String, Object> row = result.next();
for (String key : result.columns())
{
System.out.printf("%s = %s%n", key, row.get(key));
}
}
tx.success();
timerContext.close();
} catch(Exception e)
{
e.printStackTrace();
}
我已經使用了tx.success()也 – vinay
你可以分享相關的代碼片段(你在做更新)嗎?當你說neo4j shell ...你的意思是你在服務器模式下啓動嵌入式數據庫並連接到它?你確定(只是檢查)你連接到同一個數據庫嗎? –
我相信3.1.0版本也具有嵌入式Cypher功能。您可以在第二個事務中的嵌入式數據庫上運行graphdb.execute(cypherquery)以驗證您的更改是否已經過? –