Neo4j:使用关系过滤器查询

时间:2015-07-16 05:23:56

标签: neo4j cypher graph-databases

我为一个模式编写了一个密码,其中所有节点之间都有多个关系。 所以我想过滤节点让我们说,首先搜索主题之间有关系HELPSin的节点。然后检查这些节点是否在它们之间也有KNOWSrelation,然后返回所有其他关系的节点(包括HELPS& KNOWS)。现在使用下面的密码来过滤我的关系:



MATCH (a)-[r:HELPS]->(b)
WITH distinct a,b
MATCH (a)-[rs:KNOWS]-(b)
RETURN a,b LIMIT 25



 是否有任何规定可以这样做



MATCH (a)-[r:HELPS AND KNOWS]->(b)
WITH DISTINCT a,b
path = (a)-[*]-(b) //To get all other relations in between filtered nodes.
RETURN rels(path),nodes(path)




感谢。

2 个答案:

答案 0 :(得分:2)

我认为此类查询没有任何AND操作

你可以使用

MATCH (a)-[:HELPS]->(b)-[:KNOWS]-(a)
WITH  DISTINCT a , b 
MATCH a-[r]-b
WHERE NOT type(r) IN ['HELPS', 'KNOWS']
RETURN r

答案 1 :(得分:2)

以下内容将获得a和b之间的所有其他关系,0helps除外。

knows