graph - 如何返回与另一个节点同名但具有特定标签的节点?Neo4J
问题描述
我正在处理财务数据,我想在作为行项目同义词的名称与另一个与该同义词同名但位于与同义词图无关的单独节点中的节点之间找到名称匹配,并且具有需要定义的指定属性类型。
这是一些数据:
CREATE (n:Test1 {name: "x"})-[r:syn_of]->(s:Test2 {name: "y"})
CREATE (n:Test3 {value: "x"})
所以Test3和Test1的属性格式存储的值是一样的,只是属性标签不同。如何通过使用 Test1 和/或 Test2 进行查询,从 Test3 的 value 属性返回“x”?我知道这是一个奇怪的问题,由于保密原因,我无法具体说明我为什么要这样做,但如果有人能提供任何帮助,这将是最重要的。提前致谢。
解决方案
您可以使用 EXISTS。在返回 Test3 的值之前,它将检查 Test1 和 Test2 之间是否存在连接。然后,您可以在查询中设置一个条件,即 Test3.value = 'x'。根据您的输入值,您的查询将如下所示;
给定 Test1.name ='x' 和 Test2.name ='y'
MATCH (n:Test3 {value: 'x'})
WHERE EXISTS ( (:Test1 {name: "x"})-[:syn_of]->(:Test2 {name: "y"}) )
RETURN n
使用 WITH 子句,您有一个变量 nameTest1 并将其分配给 Test3.value
给定 Test2.name = 'y'
MATCH (n:Test1)-[:syn_of]->(:Test2 {name: "y"})
WITH n.name as nameTest1
MATCH (n3:Test3 {value: nameTest1 })
RETURN n3
推荐阅读
- windows - 批处理,处理路径中的空格
- r - 如何从对回归模型有很大影响的数据集中删除两个数据点
- python - 如何指定要分配给 hive 中的查询的最大 vcores?
- javascript - JQuery手风琴没有在循环中初始化
- python - 具有 __name__ 属性的 Pickle Mock/MagicMock 对象
- asp.net - Telerik 的 RadClientDataSource 控件发送哪些参数
- javascript - 我如何正确输出网格中仅使用 javascript 中的 x 和 y 位置以读取顺序传递的条目数?
- joomla - 大家好,我是 joomla 的新手,我想使用代码在标题中显示搜索模块
- flutter - 如何在颤动中为标签栏的活动和非活动状态设置不同的图标并保持指示器动画
- vb.net - 如何使用 SQL 到 VB.net 在 Chart1 中获取 X 和 Y