neo4j-查詢示例

  • 查找名為"Cloud Atlas"的電影
match(cloudAtlas {title:"Cloud Atlas"}) return cloudAtlas 
  • 查找1990年-2000年發(fā)行的電影的名稱(chēng)
match(movies:Movie) where movies.released > 1990 and movies.released <2000 return movies.title
  • 查找"Tom"參演過(guò)的電影,返回電影名,tom,關(guān)系
match(ps:Person {name:"Tom"})-[ac:acted_in]->(movie:Movie) return ps,ac,movie.title
  • 查找誰(shuí)導(dǎo)演了電影"Cloud Atlas"
match(ps:Person)-[:directed]->(movie:Movie {title:"Cloud Atlas"}) return ps.name
  • 查找與"tom"同出演過(guò)電影的人
match(tom:Person {name:"Tom"}) -[:acted_in]->(m:Movie)<-[:acted_in]-[other:Person] return other.name
  • 查找與電影"Cloud Atlas"相關(guān)的所有人
match (people:Person) -[relatedTo]-(:Movie {title:"Cloud Atlas"})
return people.name,  Type(relatedTo),relatedTo

Type 返回關(guān)系的標(biāo)簽,比如是參演了電影還是導(dǎo)演了電影還是監(jiān)制.而 relatedTo 返回的是關(guān)系的屬性
這里所說(shuō)的標(biāo)簽,就是書(shū)里所說(shuō)的類(lèi)型
執(zhí)行過(guò)程:
首先匹配節(jié)點(diǎn)類(lèi)型為Person類(lèi)型的節(jié)點(diǎn),然后再匹配節(jié)點(diǎn)類(lèi)型為Movie類(lèi)型,且節(jié)點(diǎn)屬性title為Cloud Atlas的電影節(jié)點(diǎn)
最后匹配他們之間的所有關(guān)系,返回的結(jié)果是三列,對(duì)應(yīng)返回的字段
╒══════════════════╤═════════════════╤══════════════════════════════════════════════════════════════════════╕
│"people.name"     │"Type(relatedTo)"│"relatedTo"                                                           │
╞══════════════════╪═════════════════╪══════════════════════════════════════════════════════════════════════╡
│"Jessica Thompson"│"REVIEWED"       │{"summary":"An amazing journey","rating":95}                          │
├──────────────────┼─────────────────┼──────────────────────────────────────────────────────────────────────┤
│"Jim Broadbent"   │"ACTED_IN"       │{"roles":["Vyvyan Ayrs","Captain Molyneux","Timothy Cavendish"]}      │
├──────────────────┼─────────────────┼──────────────────────────────────────────────────────────────────────┤
│"Halle Berry"     │"ACTED_IN"       │{"roles":["Luisa Rey","Jocasta Ayrs","Ovid","Meronym"]}               │
├──────────────────┼─────────────────┼──────────────────────────────────────────────────────────────────────┤
│"Lilly Wachowski" │"DIRECTED"       │{}                                                                    │
├──────────────────┼─────────────────┼──────────────────────────────────────────────────────────────────────┤
│"Tom Tykwer"      │"DIRECTED"       │{}                                                                    │
├──────────────────┼─────────────────┼──────────────────────────────────────────────────────────────────────┤
│"Hugo Weaving"    │"ACTED_IN"       │{"roles":["Bill Smoke","Haskell Moore","Tadeusz Kesselring","Nurse Noa│
│                  │                 │kes","Boardman Mephi","Old Georgie"]}                                 │
├──────────────────┼─────────────────┼──────────────────────────────────────────────────────────────────────┤
│"Tom Hanks"       │"ACTED_IN"       │{"roles":["Zachry","Dr. Henry Goose","Isaac Sachs","Dermot Hoggins"]} │
├──────────────────┼─────────────────┼──────────────────────────────────────────────────────────────────────┤
│"David Mitchell"  │"WROTE"          │{}                                                                    │
├──────────────────┼─────────────────┼──────────────────────────────────────────────────────────────────────┤
│"Lana Wachowski"  │"DIRECTED"       │{}                                                                    │
├──────────────────┼─────────────────┼──────────────────────────────────────────────────────────────────────┤
│"Stefan Arndt"    │"PRODUCED"       │{}                                                                    │
└──────────────────┴─────────────────┴──────────────────────────────────────────────────────────────────────┘
  • 查找與演員"Kevin Bacon" 存在4條及以內(nèi)關(guān)系的任何演員和電影
match(people:People {name:"Kevin Bacon"}) - [*1..4] - (something) 
return distinct something

執(zhí)行過(guò)程:
首先匹配節(jié)點(diǎn)類(lèi)型為People,屬性name為Kevin Bacon的節(jié)點(diǎn),然后將關(guān)系深度限制為從1到4再進(jìn)行遍歷,最后返回匹配的所有節(jié)點(diǎn)(去重)
  • 查找與演員Kevin Bacon與Meg Ryan之間的最短路徑
match p= shortestPath((:Person {name:"Kevin Bacon"}) -[*]- (:Person {name:"Meg Ryan"}))  return p

shortestPath 方法是返回找出返回的所有路徑中最短的一條

關(guān)系推薦小案例

比如要為T(mén)om推薦新的合作伙伴,一個(gè)比較好的辦法就是通過(guò)認(rèn)識(shí)Tom的人的人脈來(lái)尋找新的合作伙伴
分析:

  1. 先找到Tom還沒(méi)有合作過(guò)的演員,但Tom的合作伙伴曾經(jīng)與其合作過(guò)
  2. 找到一個(gè)可以向Tom介紹新合作伙伴的人 或者說(shuō) 找到一個(gè)可以向新合作伙伴介紹Tom的人
  • 查找沒(méi)有與Tom合作過(guò)的演員
match(tom:Person {name:"Tom Hanks"}) -[:ACTED_IN]->(m:Movie) <-[:ACTED_IN]-(middleman:Person),
(middleman:Person)-[:ACTED_IN]->(n:Movie)<-[:ACTED_IN]-(new_friend:Person)
where not (tom) -[:acted_in]->(n)
return new_friend as new , count(*) as Strength
order by Strength desc

╒═════════════════════════════════════════════╤══════════╕
│"new"                                        │"Strength"│
╞═════════════════════════════════════════════╪══════════╡
│{"name":"Tom Hanks","born":1956}             │12        │
├─────────────────────────────────────────────┼──────────┤
│{"name":"Zach Grenier","born":1954}          │5         │
├─────────────────────────────────────────────┼──────────┤
├─────────────────────────────────────────────┼──────────┤
│{"name":"Jack","born":1962}                  │5         │
├─────────────────────────────────────────────┼──────────┤

分析:
count(*) 是新伙伴與中間人合作的次數(shù)
然后根據(jù)合作的次數(shù)進(jìn)行排序
  • 找人將Tom介紹給Jack
match(tom:Person {name:"Tom"}) -[:ACTED_IN] -> (m:Movie) <-[:ACTED_IN] - (middleman:Person),
(middleman:Person) -[:ACTED_IN] -> (n:Movie) <-[:ACTED_IN] - (jack:Person {name:"Jack"})
return tom,m,middleman,n,jack

清空數(shù)據(jù)庫(kù)

注意有關(guān)系存在的節(jié)點(diǎn),必須要清除關(guān)系后才能清除節(jié)點(diǎn),或者同時(shí)清除都可以,這就相當(dāng)于mysql中的外鍵聯(lián)系,必須要?jiǎng)h除外鍵后才能刪除數(shù)據(jù)
下面演示刪除所有Person,Movie節(jié)點(diǎn)及其所有關(guān)系

match(a:Person),(m:Movie) optional match (a)-[r1]-(), (m) - [r2] - () delete r1,r2,a,m

節(jié)點(diǎn)寫(xiě)(),代表任何類(lèi)型的節(jié)點(diǎn).
關(guān)系沒(méi)有箭頭,代表任何方向的關(guān)系.
關(guān)系沒(méi)有寫(xiě)類(lèi)型,代表存在的任何關(guān)系

清空數(shù)據(jù)之后,如果想要確認(rèn)是否都刪除完畢,可以使用全量查詢檢測(cè)一下
match(n) return (n)   返回所有類(lèi)型的所有節(jié)點(diǎn)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末默辨,一起剝皮案震驚了整個(gè)濱河市蜂大,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌闰集,老刑警劉巖俗壹,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件科汗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡绷雏,警方通過(guò)查閱死者的電腦和手機(jī)头滔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)涎显,“玉大人坤检,你說(shuō)我怎么就攤上這事∑谙牛” “怎么了早歇?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我缺前,道長(zhǎng)蛀醉,這世上最難降的妖魔是什么悬襟? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任衅码,我火速辦了婚禮,結(jié)果婚禮上脊岳,老公的妹妹穿的比我還像新娘逝段。我一直安慰自己,他們只是感情好割捅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布奶躯。 她就那樣靜靜地躺著,像睡著了一般亿驾。 火紅的嫁衣襯著肌膚如雪嘹黔。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天莫瞬,我揣著相機(jī)與錄音儡蔓,去河邊找鬼。 笑死疼邀,一個(gè)胖子當(dāng)著我的面吹牛喂江,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播旁振,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼获询,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拐袜?” 一聲冷哼從身側(cè)響起吉嚣,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蹬铺,沒(méi)想到半個(gè)月后瓦戚,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丛塌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年较解,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赴邻。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡印衔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出姥敛,到底是詐尸還是另有隱情奸焙,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站与帆,受9級(jí)特大地震影響了赌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜玄糟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一勿她、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧阵翎,春花似錦逢并、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至贰军,卻和暖如春玻蝌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背词疼。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工俯树, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人寒跳。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓聘萨,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親童太。 傳聞我的和親對(duì)象是個(gè)殘疾皇子米辐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)书释,斷路器翘贮,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 序 本文主要研究一下servicecomb-saga的alpha-server 啟動(dòng)alpha-server al...
    go4it閱讀 1,382評(píng)論 0 0
  • 大學(xué)到底該不該談戀愛(ài)狸页?這個(gè)問(wèn)題想必困擾著很多人,有些人說(shuō)畢業(yè)就面臨著分手扯再,有什么好談的芍耘,也有人說(shuō)大學(xué)還不趁著年輕瘋...
    紐扣米醋閱讀 278評(píng)論 0 1
  • 一、讀書(shū)筆記 第十一章 現(xiàn)實(shí)扭曲力場(chǎng) 喬布斯的現(xiàn)實(shí)扭曲力場(chǎng)是幾種因素的混合物熄阻,其中包含了極富魅力的措辭風(fēng)格斋竞、不屈的...
    思哲即思哲閱讀 299評(píng)論 0 0
  • 60俯臥,30仰臥秃殉,20深蹲坝初,20拉伸
    駱駝隊(duì)長(zhǎng)閱讀 132評(píng)論 0 0