neo4j:如何有效地搜索列表中的值?

时间:2014-09-20 10:42:15

标签: neo4j cypher

我需要构建一个包含大量节点和关系的图形数据库。每个节点都应该包含一个字符串值列表,我需要能够查询连接到起始节点的所有节点,这些节点在列表中具有给定值。

例如,我可能有一个带有[“dog”,“cat”,“bird”]列表的节点,我可能需要查询列表中值为“dog”的所有节点。

现在我的问题是这个 - 在neo4j中该列表会有什么更有效的解决方案?

  1. 将值保存为实际列表,并在查询期间在该列表中搜索值? 或...
  2. 使用list属性,将列表实现为单独的属性,并使用HAS(n.property)查找具有属性的所有节点?
  3. 其他解决方案?
  4. 什么是最有效的方式(对于大量查询)?

    谢谢!

1 个答案:

答案 0 :(得分:0)

将列表实现为单独的属性,这是处理大量数据的有效方法。

然后你可以访问数据,例如

MATCH (n:node) where n.property = {SearchValue} return n;

实施清单并不是一个好主意。