記錄一下本人在使用neo4j過程中遇到的一些cql操作,如果對您有幫助,那真是太榮幸了。(●』◡』●)【歡迎指出不當之處】
match (n:old_labels)
remove n:old_labels
set n:new_labels
match (n:node_label)
set n.new_attribute=n.old_attribute
remove n.old_attribule
match (n:expert )-[r:rel]->(m:expert )
create (n)-[r2:newrel]->(m)
// copy properties, if necessary
set r2 = r
with r
delete r
核心思想:新增新的,刪除舊的match (n:node_label) return count(n)
# 查詢節點總數
match (n:person) return count(n)
# 查詢乙個屬性的去重數量
match (n:person) return count(distinct n.name) # 比較總數和去重後總數可判斷是否存在相同name的節點
# 查詢返回name相同但是節點id不同的節點,n與m即為重複節點
match (n:person),(m:person) where n.name=m.name and id(n)<>id(m) return n,id(n),m,id(m);
# 比較重複節點的關係數量可只最先錄入的節點的關係最為完整最多,後面錄入的節點會缺少部分關係
# 以上一查詢中返回的重複節點 id=12 和 id=460964 進行比較
match (n:person)-[:friend]-(m:person) where id(n)=12 rerurn count(m);
match (n:person)-[:friend]-(m:person) where id(n)=46096 rerurn count(m);
match (n:*****)
with n.name as name, collect(n) as nodelist, count(*) as count
where count > 1
call apoc.refactor.mergenodes(nodelist) yield node return node
注1:此處用到apoc外掛程式
將jar包放入neo4j安裝目錄中的plugins資料夾下
修改配置檔案neo4j.conf
3.1 dbms.security.procedures.unrestricted=apoc.*
3.2 dbms.memory.pagecache.size=4g #增大頁面快取至4g,建議為20g
3.3 dbms.memory.heap.initial_size=1g #jvm堆儲存留記憶體從1g起
3.4 dbms.memory.heap.max_size=4g #最大4g
重啟neo4j
在瀏覽器視覺化介面輸入 return apoc.version(),如果出現對應的版本號,證明安裝成功
match (a:expert)-[r]->(b)
with a, b, tail (collect (r)) as rr
where size(rr)>0
foreach (r in rr | delete r)
Neo4j CQL命令大全(一)
neo4j cql建立具有屬性的節點 二 match命令 三 eturn子句 四 match return匹配和返回 create match return命令 neo4j使用cql create 命令 1 建立沒有屬性的節點 2 使用屬性建立節點 3 在沒有屬性的節點之間建立關係 4 使用屬性建立...
Neo4j CQL (6) 關係基礎
neo4j圖資料庫遵循屬性圖模型來儲存和管理其資料。根據屬性圖模型,關係應該是定向的。否則,neo4j將丟擲乙個錯誤訊息。基於方向性,neo4j關係被分為兩種主要型別。在以下場景中,我們可以使用neo4j cql create命令來建立兩個節點之間的關係。這些情況適用於uni和雙向關係。我們將建立客...
Neo4j CQL (21) 關係函式
關係函式列表 現在我們將通過示例詳細討論每個neo4j cql關係函式 函式語法 startnode name 注意 relationship label name 可以是來自neo4j資料庫的節點或關係的屬性名稱。示例 在資料瀏覽器中鍵入以下命令。步驟1 鍵入以下命令,然後單擊執行按鈕。首先,建立...