Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j Cypher按关系获取根节点筛选器_Neo4j - Fatal编程技术网

Neo4j Cypher按关系获取根节点筛选器

Neo4j Cypher按关系获取根节点筛选器,neo4j,Neo4j,我正在尝试创建一个cypher语句,用于从分层图结构中的给定节点n中查找根节点a,其中一些节点被“停用”,这意味着节点本身和所有连接的关系都有一个属性停用,并以日期作为值 在遍历停用的节点时,我能够找到根节点: MATCH (a)-[rs:child*]->(n) WHERE NOT ()-[:child]->(a) AND id(n) = $n_id RETURN DISTINCT a 我想我必须以某种方式解除关系rs,然后过滤存在(r.deprecated) 另一个解决方案类似

我正在尝试创建一个cypher语句,用于从分层图结构中的给定节点
n
中查找根节点
a
,其中一些节点被“停用”,这意味着节点本身和所有连接的关系都有一个属性
停用
,并以日期作为值

在遍历停用的节点时,我能够找到根节点:

MATCH (a)-[rs:child*]->(n)
WHERE NOT ()-[:child]->(a) AND id(n) = $n_id
RETURN DISTINCT a
我想我必须以某种方式解除关系
rs
,然后过滤
存在(r.deprecated)

另一个解决方案类似于(v3.4)中“7.1.4.深度关系-与可变长度路径上的属性匹配”下的内容:

我希望找到一种解决方案,它不必为所有未停用的关系显式定义属性
停用:false
,而是忽略具有非零
停用的
属性的关系


这些解决方案中有任何一个是可能的吗?

我想我找到了一个可能的解决方案,方法是存储路径并删除关系中属性
已停用的路径:

MATCH p = (a)-[:child*]->(n)
WHERE NOT ()-[:child]->(a) 
  AND id(n) = $n_id 
  AND NONE (r in relationships(p) WHERE exists(r.deactivated))
RETURN DISTINCT a
MATCH p = (a)-[:child*]->(n)
WHERE NOT ()-[:child]->(a) 
  AND id(n) = $n_id 
  AND NONE (r in relationships(p) WHERE exists(r.deactivated))
RETURN DISTINCT a