过滤与某个节点没有关系的Neo4j节点
Filter Neo4j nodes that have no relationship with a certain node
我想找到所有尚未与我的酒吧相关联的 Foos。
我使用 neo4j.rb (4.1.2) 和 Rails (4.2)。我现在使用的代码产生了正确的输出但感觉不是最佳的是:
@foos = Foo.all.find_all do |foo|
foo.bars.rels_to(current_bar).count == 0
end
使用 Cypher 有更好的方法吗?
这是在 Cypher 中执行此操作的一种方法。我假设您只对直接关系感兴趣,并且 Bar
节点由 id
属性.
标识
MATCH (b:Bar), (f:Foo)
WHERE b.id = 123 AND NOT (b)--(f)
RETURN b, COLLECT(f);
我想找到所有尚未与我的酒吧相关联的 Foos。 我使用 neo4j.rb (4.1.2) 和 Rails (4.2)。我现在使用的代码产生了正确的输出但感觉不是最佳的是:
@foos = Foo.all.find_all do |foo|
foo.bars.rels_to(current_bar).count == 0
end
使用 Cypher 有更好的方法吗?
这是在 Cypher 中执行此操作的一种方法。我假设您只对直接关系感兴趣,并且 Bar
节点由 id
属性.
MATCH (b:Bar), (f:Foo)
WHERE b.id = 123 AND NOT (b)--(f)
RETURN b, COLLECT(f);