graph - Cypher 显示隐藏节点的关系
问题描述
我是 Cypher 的初学者,我正在努力获得我想要的结果。
所以我的节点都有一个名为“级别”的属性。我只想保持一定的水平,但我想重新创建丢失的链接。
这是我的数据集:
在 CSV 中:
n
"{owner:Team A,name:MySubscription,level:1}"
"{name:Database,level:2}"
"{owner:Team A,name:Service A,level:3}"
"{owner:Team A,name:MyTopic,level:2}"
"{name:Service B,level:3}"
"{name:Service C,level:3}"
"{name:MySecret,level:1}"
我只想保留那些节点,level >= 2
但我想像这样重新创建链接:
您能帮我创建执行此操作的查询吗?
解决方案
不确定这是更好的方法。但我确实找到了答案:
MATCH (a:Asset)-[rel]-(b:Asset) WHERE a.level >= 2 AND b.level >= 2
RETURN a, rel, b
UNION
MATCH (a:Asset) -[:USING]-(:Asset)-[:ATTACHED]-(b:Asset) WHERE a.level >= 2
AND b.level >= 2
CALL apoc.create.vRelationship(a,'USING',{}, b) YIELD rel
RETURN a, rel, b
UNION
MATCH (a) WHERE NOT (a)--()
RETURN a, null as rel, null as b;
推荐阅读
- python - Python:在非结构化 JSON 中将“华盛顿”的所有实例更改为“哥伦比亚特区”
- c# - 您可以将凭据添加到 .Net 中的现有 HttpClient 对象吗
- javascript - 警告:validateDOMNesting(...):
- r - 不同行中匹配配对 id 上的向量
- asp.net-mvc - ADFS 身份验证 MVC Web API
- java - PriorityQueue 和 LinkedList Java
- ms-access - 带有嵌套 IIF 语句的文本框控件源无论如何都返回相同的列
- coldfusion - Coldfusion 2016 API Manager 安装问题 - 无法查看管理员
- algorithm - 将一个数分成不同部分的最小数
- arrays - 我的程序不会打印数组中第一个和最后一个数字的总和