带有匹配项的NEO4J查询,其中,不';行不通
我想做一个请求,它不起作用: 以下是代码(在NEO4J沙盒中,csv文件位于google sheets中,可公开访问): 这里是我的请求(我想要一条街道的居民姓名(adr_l1_name,变量:name)(rao_libelle_voie,变量:voie)) 以下是SQL请求(来自其他来源): 结果是有效的 在NEO4J沙盒中,我提出以下请求:带有匹配项的NEO4J查询,其中,不';行不通,neo4j,where-clause,sql-like,Neo4j,Where Clause,Sql Like,我想做一个请求,它不起作用: 以下是代码(在NEO4J沙盒中,csv文件位于google sheets中,可公开访问): 这里是我的请求(我想要一条街道的居民姓名(adr_l1_name,变量:name)(rao_libelle_voie,变量:voie)) 以下是SQL请求(来自其他来源): 结果是有效的 在NEO4J沙盒中,我提出以下请求: MATCH (n:name) WHERE (n:voie) = 'RUE DE GLAIRE' RETURN (n:name) 没有错误消息,但没有显
MATCH (n:name)
WHERE (n:voie) = 'RUE DE GLAIRE'
RETURN (n:name)
没有错误消息,但没有显示结果;更新了op实际需要的内容
// match all of the name on a particular voie
MATCH (v:voie)--(:adr)--(n:name)
WHERE (v.Name) = 'RUE DE GLAIRE'
// return voie and the collection of names
RETURN v, collect(n) as names
旧答案
这只是加载数据的方式与之后请求数据的方式不匹配。Neo4j中的标签和属性区分大小写
您使用小写标签(cp、commune、voi、addr、name)加载了所有数据,并使标识属性propercasename
在您的查询中,您实际上查找的是标签:name
,而不是:voie
如果您将查询更改为如下所示
// match "voie" nodes identified by "n"
MATCH (n:voie)
// where the "Name" is "RUE DE GLAIRE"
WHERE (n.Name) = 'RUE DE GLAIRE'
// return just the name
RETURN n.Name
MATCH (n:voie)
WHERE (n.Name) CONTAINS 'RUE DE GLAIRE'
RETURN n.Name
为了使它更等同于您的SQL查询,您可以这样编写它
// match "voie" nodes identified by "n"
MATCH (n:voie)
// where the "Name" is "RUE DE GLAIRE"
WHERE (n.Name) = 'RUE DE GLAIRE'
// return just the name
RETURN n.Name
MATCH (n:voie)
WHERE (n.Name) CONTAINS 'RUE DE GLAIRE'
RETURN n.Name
更新了op的实际需求
// match all of the name on a particular voie
MATCH (v:voie)--(:adr)--(n:name)
WHERE (v.Name) = 'RUE DE GLAIRE'
// return voie and the collection of names
RETURN v, collect(n) as names
旧答案
这只是加载数据的方式与之后请求数据的方式不匹配。Neo4j中的标签和属性区分大小写
您使用小写标签(cp、commune、voi、addr、name)加载了所有数据,并使标识属性propercasename
在您的查询中,您实际上查找的是标签:name
,而不是:voie
如果您将查询更改为如下所示
// match "voie" nodes identified by "n"
MATCH (n:voie)
// where the "Name" is "RUE DE GLAIRE"
WHERE (n.Name) = 'RUE DE GLAIRE'
// return just the name
RETURN n.Name
MATCH (n:voie)
WHERE (n.Name) CONTAINS 'RUE DE GLAIRE'
RETURN n.Name
为了使它更等同于您的SQL查询,您可以这样编写它
// match "voie" nodes identified by "n"
MATCH (n:voie)
// where the "Name" is "RUE DE GLAIRE"
WHERE (n.Name) = 'RUE DE GLAIRE'
// return just the name
RETURN n.Name
MATCH (n:voie)
WHERE (n.Name) CONTAINS 'RUE DE GLAIRE'
RETURN n.Name
谢谢你的回复,我尝试了上面的问题,我得到了这样的回答:
n.Name“RUE DE GLAIRE”
但我想要这条街上居民的名字(例如,在“RUE DE GLAIRE”,Dupond先生,Martin女士,等等);啊,对不起,我不是很明白。我想我用你真正想要的更新了答案。谢谢你的回答,我尝试了上面的问题,我得到了这样的回答:n.Name“RUE DE GLAIRE”
但我想要这条街上居民的名字(例如,在“RUE DE GLAIRE”,Dupond先生,Martin女士,等等);啊,对不起,我不是很明白。我想我已经用你真正想要的更新了答案。