Neo4J:基于节点键的部分值的查询[已解决]
我有一个csv数据集,其中包含一列时间和一列天数 示例数据如下所示: 第一排Neo4J:基于节点键的部分值的查询[已解决],neo4j,cypher,Neo4j,Cypher,我有一个csv数据集,其中包含一列时间和一列天数 示例数据如下所示: 第一排 “9:00-15:00”、“周一、周二” 第二排 “10:00-14:00”、“周六” 第三排 “10:00-14:00”、“周六” 存在多个重复数据,因此,日期和时间一起创建一个唯一的id,因此只有这些唯一的值才会出现在节点中 我在此创建一个约束,如下所示: CREATE CONSTRAINT ON (o:OpeningHours) ASSERT (o.openingTimes, o.openingDays) IS
“9:00-15:00”、“周一、周二”
第二排
“10:00-14:00”、“周六”
第三排
“10:00-14:00”、“周六”
存在多个重复数据,因此,日期和时间一起创建一个唯一的id,因此只有这些唯一的值才会出现在节点中
我在此创建一个约束,如下所示:
CREATE CONSTRAINT ON (o:OpeningHours) ASSERT (o.openingTimes, o.openingDays) IS NODE KEY
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
我加载csv文件并按如下方式创建节点:
CREATE CONSTRAINT ON (o:OpeningHours) ASSERT (o.openingTimes, o.openingDays) IS NODE KEY
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
我得到以下结果:
第一排
“星期一、星期二、星期三”
第二排
“星期六”
第三排
“星期日”
编辑2:
我已经解决了这个问题,这是一个我没有注意到的打字错误 这里
MERGE (o:Opening {openingTimes: openingTimes, openingDays: openingDays})
您使用标签
Opening
创建节点,而不是OpeningHours
抱歉,这是我在写问题时犯的错误。查询仍然没有给出任何输出。当uou删除WHERE子句时,您的查询是否返回预期结果?当我删除WHERE子句并将查询设置为匹配(o:OpeningHours)时,返回o
我将显示所有节点及其属性您可以显示一些实际数据吗?你从这个查询中得到了什么:MATCH(o:OpeningHours)RETURN o.openingDays LIMIT 3
。我已经编辑了我的问题,以包含该查询的结果。如果它只是一个打字错误,那么你可能应该关闭这个问题。