繁体   English   中英

NEO4j cypher查询匹配相同的单词

[英]NEO4j cypher query to match same words

我有两个字BANGALURU和BENGALURU。

现在我必须在neo4j中创建节点,这样我只需要创建一个节点,这意味着BANGALURU和BENGALURU应该被视为一个并且只创建一个节点

请告诉我如何为此创建neo4j cypher查询。

对于支持使用索引快速查找的同一属性,没有一种方法可以使节点具有两个值。

我建议创建一个:具有该名称的位置节点,该节点与另一个节点具有:ALIAS关系。 也许还为节点添加:别名标签。 就像是:

(:Location:Alias{Type:'Place', name:'BENGALORE'})<-[:ALIAS]-(:Location{Type:'Place', name:'BANGALORE'})

您可以使用:Location节点,而不使用:Alias作为任何其他连接的根节点。

但是,匹配会稍微复杂一些。 查询查询可能如下所示:

MATCH (a:Location)<-[:ALIAS*0..1]-(l:Location)
WHERE a.name = {nameLookup} AND NOT l:Alias

这将适用于别名和非别名节点,因为关系模式0的最小边界将匹配:Location节点与其自身( al将是同一节点)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM