neo4j常用cypher語句


1.刪除帶有關系的節點
  a、先刪除關系 match (n:Node)-[r:關系名稱]-() where (n...條件) delete r
  b、刪除節點 match (n:Node) where (n...條件)  delete n

2.批量更新
  :param batch:[{prop1:'property1',prop2:'property2'},{prop1:'property11',prop2:'property22'}]
UNWIND $batch  as data MATCH (c:Label1)-[r:關系]->(d:Label2) where c.prop1= data.prop1 and d.prop2=data.prop2 set r.prop= data.prop

3.更新關系名稱
  .apoc
match (c:DictProduct)-[r:原關系]-(d:DictProduct) with r
call apoc.refactor.setType(r, '新關系') yield input,output return *

4.導出數據
  ./neo4j-admin  dump --database=kg.db --to=../
5.導入數據(dump文件)
  ./neo4j-admin load --from=./graph.db.dump --database=neo4j.db --force=true
  導入數據(csv文件)
    using periodic commit 1000 load csv from  "http://127.0.0.1:8080/data.csv"  as row CREATE (:Node{id:toInt(row[0]),prop1:toInt(row[1]),prop2:row[2],prop3:row[3],prop4:row[4]})

6.刪除重復關系數據
   MATCH (a)-[r:相關公司]->(b) WITH a, b, TAIL (COLLECT (r)) as rr WHERE size(rr)>0
   FOREACH (r IN rr | DELETE r)


7.bolt鏈接報錯的時候
Config noSSL = Config.build().withEncryptionLevel(Config.EncryptionLevel.NONE).toConfig();
Driver driver = GraphDatabase.driver( “bolt://127.0.0.1:7687”, AuthTokens.basic( “neo4j”, “nel4j” ), noSSL );
Session session = driver.session();

8.批量刪除
MATCH (n:Node) where n.prop = 'prop' WITH n LIMIT 10000 DELETE n

9.apoc 路徑搜索(apoc)
match (startNode:Node{id:'00001'}),(endNode:Node2{id:00002}) CALL apoc.algo.dijkstra(startNode,endNode,'','min_travel_time') YIELD path,weight return path,weight
match (startNode:Node{id:'00001'}),(endNode:Node2{id:00002}) CALL apoc.algo.dijkstra(startNode,endNode,'','distance') YIELD path,weight return path,weight

原文地址:https://www.iteye.com/blog/wcq881215-2432800


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM