在我们公司,我们通过web服务向客户返回一个In列表。ID在整个系统中是唯一的。它们调用传递ID的其他web服务。我们并不总是知道我们收到的ID的标签。
这不会执行以下操作:
MATCH(n {id:{my_id}) ...虽然我们在几乎所有的标签类型上都有索引,但这个查询没有标签,因此据我所知,as没有使用索引。
给所有节点添加一个叫做"GLOBAL“(或其他什么)的标签,这样我们就可以对GLOBAL.id施加一个唯一的约束,这是不是一个坏主意?那么上面的查询可以是
MATCH(n: GLOBAL{id:{my_id}})...并且表现得很好。
还有别的办法吗?
发布于 2015-11-15 02:03:06
您可以使用neo4j的内部ID来标识您的资源,但这不是最佳实践,请参阅Should we use the Neo4J internal id?
下面是如何使用他的ne4j的内部id获取一个节点:
START n=node({my_id}) return n它比MATCH子句更快,因为这里的查询直接从一个节点开始,而不必过滤跨越一组节点的属性,因为它是内部id。
如果您能够处理内部id限制,那么这就是您正在寻找的解决方案。
https://stackoverflow.com/questions/33710578
复制相似问题