neo4j使用-case查找

1.生成如图所示的图数据:

节点标签为Person,节点具有五类属性分别为:name,eye,age,array,对应上节所说的类型

关系存在两类:KNOWS和MARRIED

生成语句:

-----------1.创建节点

CREATE(alice:Person{name:'Alice',eyes:'brown',age:38})

CREATE(charlie:Person{name:'Charlie',eyes:'green',age:53})

CREATE(bob:Person{name:'Bob',eyes:'blue',age:25})

CREATE(daniel:Person{name:'Daniel',eyes:'brown'})

CREATE(eskil:Person{name:'Eskil',eyes:'blue',age:41,array:['one','two','three']})

-----------2.创建关系

CREATE(alice)-[:KNOWS]->(daniel)-[:KNOWS]->(daniel)

CREATE(alice)-[:KNOWS]->(bob)-[:KNOWS]->(daniel)

CREATE(bob)-[:MARRIED]->(eskil)

查询三类case查询语句:

#case查询1

MATCH(n:Person)

RETURN 

CASE n.eyes

WHEN 'blue'

THEN 1

WHEN 'brown'

THEN 2

ELSE 3 END AS result

#case查询2

MATCH(n:Person)

RETURN 

CASE 

WHEN n.eyes ='blue'

THEN 1

WHEN n.age <40

THEN 2

ELSE 3 END AS result

#case查询2

MATCH(n:Person)

RETURN n.name,

CASE n.age

WHEN n.age IS NULL THEN -1

ELSE n.age -10 END AS age_10_years_ago

结果展示:

neo4j使用-case查找

neo4j使用-case查找

相关文章: