Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4J:基于节点键的部分值的查询[已解决]_Neo4j_Cypher - Fatal编程技术网

Neo4J:基于节点键的部分值的查询[已解决]

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

我有一个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 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
。我已经编辑了我的问题,以包含该查询的结果。如果它只是一个打字错误,那么你可能应该关闭这个问题。