Cypher語句介紹:
Cypher是一種聲明式圖查詢語言,表達高效查詢和更新圖資料庫。
例子:聲明式程式設計是一種程式設計範式,即建構計算機程式的結構和元素的一種風格,它表達了計算的邏輯而沒有描述其控制流程。常用的聲明性語言包括資料庫查詢語言(例如SQL,XQuery),正規表達式,邏輯程式設計,函數式程式設計和配置管理系統。指令式程式設計以明确的步驟實作算法。match 相當于SQL select
cypher查詢語言的基本介紹:
match
(node) - [relationship] ->(node)
where
(node | relationship)
return
(node | relationship)
一,基礎查詢
1,match基礎查詢
match(n:Person) return n limit 10

2,帶有關系的查詢
match(n:Person) -[:HAS_PHONE]->(p:Phone) return n,p limit 10
3,帶條件的關系查詢
match(n:Person) -[:HAS_PHONE]->(p:Phone) where n.name = “姓名6” return n,p limit 10
二,多元度關系查詢
1,多度關聯查詢
match(n:Person) -[:HAS_PHONE]->(p:Phone)-[:CALL]->(p1:Phone) where n.name = “姓名6” return n,p,p1 limit 10
2,沒有限制實體的關系查詢
match n=()-[:HAS_PHONE]-() return n limit 10
3,正則查詢
match (n:Person) where n.name=~“J.*” return n limit 10
4,包含查詢
match (n:Person) where n.name contains “J” return n limit 10
create 建立
create (n:Loc{name:“湖北”})-[:FOOD{level:1}]->(L:Longxia{type:“小龍蝦”})
三,實戰
姓名12,他的三度的朋友又那些
MATCH (p:Person)-[:FRIEND_OF]-(p1:Person)-[:FRIEND_OF]-(p2:Person) where p.name=“姓名12” return p,p1,p2
姓名12,他的三度内有關聯的人有那些
MATCH (p:Person)-[]-(p1:Person)-[]-(p2:Person) where p.name=“姓名12” return p,p1,p2
姓名12 的通話記錄中的電話又那些以及這些電話對應的是那些人
MATCH (p:Person)-[:HAS_PHONE]->(p1:Phone)-[:CALL]->(p2:Phone)<-[:HAS_PHONE]-(p3:Person) where p.name=“姓名11” return p,p1,p2,p3
最短路徑查詢
MATCH (p1:Person{name:“姓名2”}),(p2:Person{name:“姓名10”}),p=shortestpath((p1)-[*…10]-(p2)) RETURN p
所有的最短路徑查詢
MATCH (p1:Person{name:“姓名2”}),(p2:Person{name:“姓名10”}),p=allshortestpaths((p1)-[*…10]-(p2)) RETURN p
AI人工智能知識圖譜node2vec論文解讀,人工智能知識圖譜圖計算
neo4j實體對齊知識圖譜實體對齊和實體關系的屬性補全
neo4j知識圖譜實體的屬性補全
Neo4j 圖資料庫的知識圖譜的關聯對齊(實體對齊)——上篇
Neo4j 圖資料庫的知識圖譜的關聯對齊(實體對齊)——下篇
三元組資料到neo4j
知識圖譜節點相似度計算比對
neo4j python 驅動開發入門