Path neo4j减去路径的元素

Path neo4j减去路径的元素,path,neo4j,cypher,Path,Neo4j,Cypher,我正在尝试在Cypher(Neo4)中使用此查询: 也就是说,我想排除路径(p)中具有属性“Jac_AGM”和“Jac_SM”的一些节点。我使用的是Neo4j版本2.1.3 谢谢! 最美好的祝福, R.根据您的查询,您已经提到了n和e节点的NameExp attrib值。因此,很明显,您希望不包含的具有给定名称的节点属于g:MOL标记的节点集,您可以简单地将其删除,如下所示 MATCH p=(n:BP)-[:Selected]-(g:MOL)-[:Selected]-(e:BP) WHERE

我正在尝试在Cypher(Neo4)中使用此查询:

也就是说,我想排除路径(p)中具有属性“Jac_AGM”和“Jac_SM”的一些节点。我使用的是Neo4j版本2.1.3

谢谢! 最美好的祝福,
R.

根据您的查询,您已经提到了n和e节点的NameExp attrib值。因此,很明显,您希望不包含的具有给定名称的节点属于g:MOL标记的节点集,您可以简单地将其删除,如下所示

MATCH p=(n:BP)-[:Selected]-(g:MOL)-[:Selected]-(e:BP) 
WHERE n.NameExp='Bos_RM' AND e.NameExp='Jac_RM' 
AND NOT g.NameExp IN ['Jac_AGM','Jac_SM']
RETURN n,e,g limit 100

在集合
p
中,还有一个明确的
filter
节点选项:

MATCH p=(n:BP)-[:Selected]-(g:MOL)-[:Selected]-(e:BP)
WITH FILTER(x IN nodes(p): x.NameExp NOT IN ['Jac_AGM','Bos_SM']) AS pp, n, e
WHERE n.NameExp='Bos_RM' AND e.NameExp='Jac_RM'
RETURN n,e,g limit 100

谢谢您的关注,但代码不起作用。我是Neo4J的初学者。我想在路径中排除一些具有属性的节点:BP.NameExp='Jac_AGM'和包含BP.NameExp='Bos_SM'的节点。最好的祝愿,是的,我没有时间检查代码,我是凭记忆写的。但是你可以根据自己的文档使用
过滤器
选项。嘿,你找到解决方案了吗?
MATCH p=(n:BP)-[:Selected]-(g:MOL)-[:Selected]-(e:BP)
WITH FILTER(x IN nodes(p): x.NameExp NOT IN ['Jac_AGM','Bos_SM']) AS pp, n, e
WHERE n.NameExp='Bos_RM' AND e.NameExp='Jac_RM'
RETURN n,e,g limit 100