如何解决在Node中找不到值时的回退遍历方法
我对Neo4J很陌生,请原谅我的问题很愚蠢,但是我想知道如果在原始查询中未找到任何值(空),是否可以进行后备匹配。 图是这样的:
User1 - linked -> Channel 1
User1 - linked -> Channel 2
Channel1 - has -> property1_channel_1,null,property3_channel_1
Channel2 - has -> property1_channel_2,property2_channel_2,property3_channel_2
在此示例中,我希望在查询数据User1 Channel1时返回此响应:
property1_channel_1,property2_channel_2,property3_channel_1
有可能吗?
编辑:
如何构造查询,以便如果缺少属性(比如说数量),则无法从BASE的同一产品中获取其默认值。那可能吗?在该示例中,BASE中的裤子是完整的实体,而EN通道中的裤子是不完整的。
解决方法
我猜是这样的
// get all the channels the user is linked to
MATCH (u:User)-[:LINK]->(c:Channel)
WHERE u.name='User1'
// put them in the right order
WITH c ORDER BY c.name
// merge the property maps using apoc.map.mergeList()
RETURN apoc.map.mergeList(COLLECT(properties(c)) AS properties
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。