neo4j首次登錄
首次登錄需要先用ie瀏覽器登錄延刘,用ie修改密碼后漫试,可以用chrome登錄
入門操作
●????單行編輯,用于簡短查詢或命令
●????多行編輯碘赖,shift-enter
●????運行查詢驾荣,Ctrl-enter
●????清除流,即清除結(jié)果框普泡,:clear
創(chuàng)建數(shù)據(jù)庫
更改neo4j安裝目錄中播掷,conf文件夾下的neo4j.conf文件,找到dbms.default_database? = neo4j
neo4j是默認(rèn)數(shù)據(jù)庫撼班,將neo4j更改為自己想要創(chuàng)建的數(shù)據(jù)庫名字practice
重啟neo4j服務(wù)歧匈,新數(shù)據(jù)庫即被添加到neo4j中
重新打開neo4j網(wǎng)頁,發(fā)現(xiàn)新數(shù)據(jù)庫被添加進(jìn)neo4j中
如果要更改配置文件neo4j時砰嘁,neo4j服務(wù)正在運行件炉,則按Ctrl+c,停止該服務(wù)
再重新開啟服務(wù)矮湘,刷新網(wǎng)頁即可
清空數(shù)據(jù)庫
Cypher語句入門
創(chuàng)建一個節(jié)點
例斟冕,CREATE (ee:Person { name: "Emil", from: "Sweden", klout: 99})
●????CREATE,創(chuàng)建數(shù)據(jù)庫的子句
●????()缅阳,括號表示節(jié)點
●????ee:Person磕蛇,新節(jié)點的變量“ee”和標(biāo)簽“Person”
●????{},將屬性加到節(jié)點的括號
查詢節(jié)點
例券时,MATCH (ee:Person) WHERE ee.name = "Emil" RETURN ee;
●? ? MATCH孤里,子句以指定節(jié)點和關(guān)系的模式
●? ? (ee:Person)伏伯,具有標(biāo)簽“Person”的單節(jié)點模式橘洞,該模式將匹配項分配給變量“ee”
●? ? WHERE,約束結(jié)果的子句
●? ? ee.name="Emil"说搅,將name屬性與值“Emil”進(jìn)行比較
●? ? RETURN炸枣,用于請求特定結(jié)果的子句
創(chuàng)建多個節(jié)點和關(guān)系
CREATE子句可以一次創(chuàng)建許多節(jié)點和關(guān)系
MATCH (ee:Person) WHERE ee.name = "Emil"
CREATE?
(js:Person { name: "Johan",? from: "Sweden", learn: "surfing" }),
(ir:Person { name: "Ian", from: "England", title: "author" }),
(rvb:Person { name: "Rik", from:"Belgium", pet: "Orval" }),?
(ally:Person { name: "Allision", from:"California", hobby: "surfing" }),?
( ee )-[:KNOWS {since: 2001}]->(js),?
( ee )-[:KNOWS]->(rvb),?
( js )-[:KNOWS]->(js),
( ir )-[:KNOWS]->(ally),
( rvb )-[:KNOWS]->(ally)
模式匹配,描述在圖中找到的內(nèi)容
MATCH (ee.Person)-[:KNOWS]-(friends) WHERE ee.name = "Emil"
RETURN ee,friends
●? ? MATCH弄唧,子句描述從已知節(jié)點到找到的節(jié)點的模式
●? ? (ee)适肠,從一個節(jié)點開始模式(由WHERE限定)
●? ? -[:KNOWS]-,匹配“已知關(guān)系”(任意方向)
●? ? (friends)候引,將綁定到Emil的朋友
推薦侯养,使用模式
MATCH ( js:Person )-[:KNOWS]-()-[:KNOWS]-(surfer)
WHERE js.name = "Johan" AND surfer.hobby = "surfing"
RETURN DISTINCT surfer
●? ? ()空括號以忽略這些節(jié)點
●? ? DISTINCT,因為不止一條路徑與模式相匹配
●? ? surfer澄干,將包含Allison逛揩,一個沖浪的朋友
分析柠傍,使用視覺查詢計劃
通過前綴EXPLAIN,或者PROFILE辩稽,來了解查詢的工作方式
PROFILE MATCH ( js:Person )-[:KNOWS]-()-[:KNOWS]-( surfer )
WHERE js.name = "Johan" AND surfer.hobby = "surfing"
RETURN DISTINCT surfer