我正在尝试自己学习neo4j,我遇到了一些困难。我们假设我们有一个图表,在关系中有关系:DIRECTED
和:ACTED_IN
。
Q值。如何将具有两者这些关系的所有节点作为传出关系返回(我希望答案更为通用,可以扩展到k
固定关系,而不仅仅是{{ 1}}如例子?)?
答案 0 :(得分:0)
您可以使用size
运算符并匹配我认为的返回数字:
MATCH (a:Label) where size((a)--()) = 2
请注意,您还可以指定关系的方向:
MATCH (a:Label) where size((a)-->()) = 2 //For outgoing relationships.
答案 1 :(得分:0)
1)第一个选项(至少包含two relations的节点):
MATCH ()<-[:DIRECTED]-(I)-[:ACTED_IN]->()
RETURN distinct I
2)如果要检查关系类型集:
// Declare an array of type
WITH ['DIRECTED','ACTED_IN'] as rtypes
// Select connected nodes
MATCH (I)-[r]->()
WITH I,
rtypes,
// Filter the types of relationships for this node on the basis of a given array types
FILTER(rt in collect( distinct type(r) ) WHERE rt IN rtypes) as types
// The resulting array size must match the specified array
WHERE size(types) = size(rtypes)
RETURN I