0

对于给定的索引和键,我可以使用 (Cypher) 查找节点:

START n=node:index('key:*')
RETURN n

或使用(嵌入式 Java):

Index<Node> index = .....
IndexHits<Node> hits = index.query(key, query);
Iterator<Node> itr = hits.iterator();

我正在寻找的是一种反向执行此操作的方法;查找已为其索引给定节点的键/值对。就像是:

Map<String, Object> pairs = index.getKeyValuePairs(node);

我能找到的唯一工具是Luke,但这是一个桌面 Java 应用程序,因此很难在服务器上的索引上使用。

我对此感兴趣的原因是因为我有一个大型 neo4j 数据集,其中我错误地索引了一些节点。IndexHits现在,如果不使用通配符索引查询太不精确并且需要对返回的 进行迭代,或者使用WHERE太慢的 Cypher 查询子句,我就找不到它们。

4

1 回答 1

0

在 Neo4j 1.9 中你不能。在 Neo4j 2.0 中,您可以获取节点上的标签和索引,例如

CREATE n:Person{name:'Jim'}

做一个索引

CREATE INDEX on :Person(name)

列出标签

MATCH n
RETURN LABELS(n)
于 2013-06-30T09:14:01.670 回答