【问题标题】:How to find a particular node with neo4j/Java如何使用 neo4j/Java 查找特定节点
【发布时间】:2015-02-26 07:53:06
【问题描述】:

我想通过 neo4j 的嵌入式 java 框架检索具有特定标签(或标签集)或属性(或属性集)的节点或节点列表。

看这个问题:Select a node by name in NEO4J in Java

如果您想搜索具有特定属性或标签的节点,您似乎必须创建索引。但是,如果我编写自己的密码命令来做同样的事情,我不必创建索引,我只需执行一个简单的查询:

Match (n:Entity:Person) return n;

我将简单地获取具有该标签组合的节点列表。如果不每次都创建索引,在嵌入式 Java 中是不是很容易做到这一点?

【问题讨论】:

    标签: java neo4j


    【解决方案1】:

    如果您的节点上有您的查询建议的标签,那么有一个简单的方法可以GraphDatabaseService#getNodesByLabelAndProperty(Label label, String key, Object value)

    是的,你可以做到。

    但仍建议使用索引。问问自己,如果没有索引,数据库将如何执行此操作?好吧,很可能它会拉出以您指定的方式标记的所有节点的列表,然后它会遍历每个节点,直到找到正确的节点。这将非常缓慢且效率低下。因此,如果您通常必须通过某个属性键/值来查找节点,那么您将需要一个索引。首先不是让查找成为可能,而是让它变得高效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      相关资源
      最近更新 更多