如何解决Neo4J:基于节点键的部分值查询[已解决]
我有一个csv数据集,其中包含一列时间和一列天。
样本数据如下:
第一行
"9:00 - 15:00","Monday,Tuesday"
第二行
"10:00 - 14:00","Saturday"
第三行
"10:00 - 14:00","Saturday"
有多个重复数据,因此,这一天和时间共同创建了一个唯一的ID,因此只有这些唯一的值才会在节点中。
我为此创建了一个约束,如下所示:
CREATE CONSTRAINT ON (o:OpeningHours) ASSERT (o.openingTimes,o.openingDays) IS NODE KEY
我加载csv文件并创建节点,如下所示:
LOAD CSV WITH HEADERS FROM 'file:///OpeningHours.csv' AS row
WITH row.times AS openingTimes,row.days AS openingDays
MERGE (o:OpeningHours {openingTimes: openingTimes,openingDays: openingDays})
SET o.openingTimes = openingTimes,o.openingDays = openingDays
现在,我想返回星期六所有开放时间的节点,所以我这样做:
MATCH(o:OpeningHours)
WHERE o.openingDays CONTAINS 'Saturday'
RETURN o
但是,此查询不返回任何内容。有没有一种方法可以基于部分节点密钥进行查询,还是我完全无法使用?
谢谢大家。
编辑:
当我运行以下查询时
MATCH (o:OpeningHours)
RETURN o.openingDays
LIMIT 3
我得到以下结果:
第一行
"Monday,Tuesday,Wednesday"
第二行
"Saturday"
第三行
"Sunday"
编辑2:
我已经解决了这个问题,这是我没接错的错字!
解决方法
这里
MERGE (o:Opening {openingTimes: openingTimes,openingDays: openingDays})
您创建的标签为Opening
而不是OpeningHours
的节点
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。