您的位置:首页 > 其它

CYPHER 语句(Neo4j)

2017-12-18 19:39 281 查看
CYPHER语句(Neo4j)

创建电影关系图

新增

查找

修改

删除

导入

格式转换

创建电影关系图

CREATE(TheMatrix:Movie{title:'TheMatrix',released:1999,tagline:'WelcometotheRealWorld'}) CREATE(Keanu:Person{name:'KeanuReeves',born:1964}) CREATE(Carrie:Person{name:'Carrie-AnneMoss',born:1967}) CREATE(Laurence:Person{name:'LaurenceFishburne',born:1961}) CREATE(Hugo:Person{name:'HugoWeaving',born:1960}) CREATE(LillyW:Person{name:'LillyWachowski',born:1967}) CREATE(LanaW:Person{name:'LanaWachowski',born:1965}) CREATE(JoelS:Person{name:'JoelSilver',born:1952}) CREATE (Keanu)-[:ACTED_IN{roles:['Neo']}]->(TheMatrix), (Carrie)-[:ACTED_IN{roles:['Trinity']}]->(TheMatrix), (Laurence)-[:ACTED_IN{roles:['Morpheus']}]->(TheMatrix), (Hugo)-[:ACTED_IN{roles:['AgentSmith']}]->(TheMatrix), (LillyW)-[:DIRECTED]->(TheMatrix), (LanaW)-[:DIRECTED]->(TheMatrix), (JoelS)-[:PRODUCED]->(TheMatrix) CREATE(Emil:Person{name:"EmilEifrem",born:1978}) CREATE(Emil)-[:ACTED_IN{roles:["Emil"]}]->(TheMatrix) CREATE(TheMatrixReloaded:Movie{title:'TheMatrixReloaded',released:2003,tagline:'Freeyourmind'}) CREATE (Keanu)-[:ACTED_IN{roles:['Neo']}]->(TheMatrixReloaded), (Carrie)-[:ACTED_IN{roles:['Trinity']}]->(TheMatrixReloaded), (Laurence)-[:ACTED_IN{roles:['Morpheus']}]->(TheMatrixReloaded), (Hugo)-[:ACTED_IN{roles:['AgentSmith']}]->(TheMatrixReloaded), (LillyW)-[:DIRECTED]->(TheMatrixReloaded), (LanaW)-[:DIRECTED]->(TheMatrixReloaded), (JoelS)-[:PRODUCED]->(TheMatrixReloaded) (Keanu)-[:ACTED_IN{roles:['JulianMercer']}]->(SomethingsGottaGive), (NancyM)-[:DIRECTED]->(SomethingsGottaGive), (NancyM)-[:PRODUCED]->(SomethingsGottaGive), (NancyM)-[:WROTE]->(SomethingsGottaGive)

查找

属性查找

#查找无age属性的节点
match(n:Person)WHEREn.ageisnotnullRETURNn
#查找有age属性的节点
match(n:Person)WHEREn.ageisnullRETURNn


模糊查找

#查找name中以"J"开头的内容
match(n:Person)wheren.NAME=~'J.*'returnn


新增

新增节点

#新增JackT和TomT两个人
create(:Person{name:'JackT'}),(:Person{name:'TomT'})
match(m:Person{name:'JackT'}),(n:Person{name:'TomT'})returnn,m




新增边

#JackT是TomT的朋友
match(m:Person{name:'JackT'}),(n:Person{name:'TomT'})create(m)-[r:friend_to]->(n)returnn,r,m




新增属性

match(n:Person)wheren.name='JackT'setn+={age:15}returnn




修改

修改属性

#单个节点
match(n:Person)wheren.name='KeanuReeves'setn.age=16returnn

#批量节点如果没有改属性,则会新增
match(n:Person)setn.age=16returnn


复制属性

match(m{name:'KeanuReeves'}),(n{name:'HugoWeaving'})setn=mreturnn,m



删除

删除属性

#单个节点删除属性
match(n:Person)wheren.age=17removen.age


#批量删除属性
match(n:Person)removen.age


导入

CSV文件

#import文件夹下
loadcsvwithheadersfrom'file:///fileName.csv'asnewLables
create(n:LableNewName)setLable=newLables


格式转换

LOADCSVFROM'https://neo4j.com/docs/developer-manual/3.3/csv/artists.csv'ASline
#字符串转换成整型toInteger
CREATE(:Artist{name:line[1],year:toInteger(line[2])})


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: