日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

知识图谱学习笔记-Cypher语句使用

發(fā)布時(shí)間:2025/4/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 知识图谱学习笔记-Cypher语句使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、Cypher Neo4j的SQL

match 相當(dāng)于SQL select

match?

? ? ? ? ?(node)-[relationship]->(node)

where

? ? ? ? ?(node | relationship)

return

? ? ? ? ?(node | relationship)

查詢label:? match (n:Person) return n limit 10? ? n:表示別名 相當(dāng)于SQL里面as

帶有關(guān)系的查詢:match (n:Person)-[:HAS_PHONE]->(p:Phone) return n,p limit 10

帶有where條件的查詢:match (n:Person)-[:HAS_PHONE]->(p:Phone) where n.name='name6' return n,p limit 10

二、多維度關(guān)系查詢

match (n:Person)-[:HAS_PHONE]->(p:Phone)-[:CALL]->(p1:Phone) where n.name='name6' return n,p,p1 limit 10

利用非關(guān)系去查詢:

match p=()-[c:CALL]-() return p limit 10

利用正則表達(dá)式查詢:

match (n:USERS) where n.name=~'Jack.*' return n limit 10

包含查詢:

match (n:USERS) where n.name contains 'J' return n limit 10

創(chuàng)建實(shí)體關(guān)系:

create (n:Person)-[:LOVES]->(m:mm)

創(chuàng)建帶有屬性的實(shí)體關(guān)系:

create (n:Person{name:"李四"})-[:FEAR{level:1}]->(m:mm{name:"潑婦"})

三、創(chuàng)建實(shí)體關(guān)系

創(chuàng)建兩個(gè)孤立的實(shí)體:

create (n:Person{name:"王五"})

create (n:Person{name:"趙六"})

填個(gè)孤立的實(shí)體添加關(guān)系

match (n:Person{name:"王五"}),(m:Person{name:"趙六"}) ?create (n)-[k:KNOW]->(m) return k

merge: 有則返回 ;沒(méi)有則創(chuàng)建? create:不管有沒(méi)有都會(huì)創(chuàng)建

match (n:Person{name:"王五"}),(m:Person{name:"趙六"}) merge (n)-[l:FEAR]->(m) return l

四:刪除兩個(gè)實(shí)體之間的關(guān)系

?

刪法一:先刪關(guān)系,后刪實(shí)體

刪除一個(gè)關(guān)系

match (n:Person{name:"李四"})-[f:FEAR]->(m:mm) delete f

刪除實(shí)體

match (n:Person{name:"李四"}) delete n

?

刪法2:同時(shí)刪除實(shí)體和關(guān)系

match (n:Person)-[l:LOVES]->(d:Dog) delete n,l,d

更新實(shí)體標(biāo)簽:

match (t:Tiger) where id(t)=111 set t:M return t

修改實(shí)體一個(gè)屬性

match (a:A) where id(a)=111 set a.age=8 return a

給關(guān)系增加一個(gè)屬性

match (n:Person)-[l:FEAR{}]-(:Person) set l.date="2000" return n,l

?

五:Neo4j的索引

索引:能夠提高查詢速度

語(yǔ)法: create index on :<標(biāo)簽名稱>(屬性名稱)

刪除索引

添加和刪除唯一索引

六:Cypher的復(fù)雜查詢

姓名12的三度內(nèi)的朋友有哪些

match (p:Person)-[:Friend_of]-(p1:Person)-[:Friend_of]-(p2:Person) where p.name="姓名12" return p,p1,p2

姓名12的三度內(nèi)的有關(guān)系有哪些

match (p:Person)-[]-(p1:Person)-[]-(p2:Person) where p.name="姓名12" return p,p1,p2

姓名11的通話記錄中的電話有哪些

match (p:Person)-[:HAS_PHONE]->(p2:phone)-[:CALL]-(h:Phone) where p.name="姓名11" return p,p2,h

?

七:Cypher的最短路徑索引

查詢姓名2到姓名10的最短路徑(限制10度關(guān)系以內(nèi))

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

?

總結(jié)

以上是生活随笔為你收集整理的知识图谱学习笔记-Cypher语句使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。