如何根据NEO4J中是否存在关系在返回节点上添加属性

时间:2015-08-19 01:30:34

标签: neo4j

在neo4j中我有两个节点标签。用户和组。我想获取所有组,并希望在组中返回属性时,如果该组与我选择的用户有关系。

例如,

MATCH (u:User)
WHERE ID(u) = 81
WITH u
MATCH (g:Groups)
WITH g
OPTIONAL MATCH (u)-[c:CREATED]-(g)
return g,ID(c)

以上查询的输出为

g
name    vishal
image   ca1f4ed2658a1855cebe21c006291e78.jpg
description vishal

ID(c)
339

如果关系存在,我想在g中添加属性g.create = true else g.create = false。我不想在数据库中设置此属性。我只想返回附加属性。我该怎么办?

1 个答案:

答案 0 :(得分:2)

这对你有用吗?

MATCH (u:User), (g:Groups)
WHERE ID(u) = 81
OPTIONAL MATCH (u)-[c:CREATED]-(g)
return {group: g, created: NOT(c IS NULL)} AS result, ID(c);

result对象包含Groups节点和单独的created布尔值。