在neo4j中,我想获取与某种关系相关的所有名词或专有名词。我有这样的查询
match (n)-[r]->(n1) where n:NOUN and n1:NOUN or n:NOUN and n1:PROPN or n:PROPN and n1:NOUN or n1:PROPN and n:PROPN return r
有更紧凑的东西吗?像:
match (n:[NOUN, PROPN])-[r]->(n1:[NOUN, PROPN]) return r
答案 0 :(得分:2)
节点标签没有这样的语法,它只适用于关系类型。
相反,为什么不改进你的模型?
您可以使用第二个常用标签:常用名词和专有名词都是名词,所以为什么不为每个人使用NOUN
标签,使用PROPN
或{{{{}}等附加标签对其进行专门化处理1}}。
将所有(当前)名词标记为常用名词:
COMMN
将所有专有名词标记为名词:
MATCH (n:NOUN) SET n:COMMN
您的查询就是:
MATCH (n:PROPN) SET n:NOUN