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
Graph 如何获取开始节点和结束节点之间的关系?_Graph_Neo4j - Fatal编程技术网

Graph 如何获取开始节点和结束节点之间的关系?

Graph 如何获取开始节点和结束节点之间的关系?,graph,neo4j,Graph,Neo4j,我在努力寻找家庭关系 例如,我想知道我和我父亲的妻子之间的关系是什么?应该还给妈妈 我和我母亲的女儿是什么关系?它应该会回来的,姐姐 这就是我的图表。有8个关系和2个标签(男性或女性) 如何在不指定任何节点的情况下实现这一点?例如,如果我想知道我和我父亲的女儿之间的关系 我想做一些类似于匹配()-[:父]->()-[:子]->()以及开始和结束节点之间的关系的事情 我肯定这个问题是绝对错误的,但我希望你能了解我在这里要实现的目标。 首先,您应该始终指定一些节点 让我们创建一些数据: CREAT

我在努力寻找家庭关系

例如,我想知道我和我父亲的妻子之间的关系是什么?应该还给妈妈

我和我母亲的女儿是什么关系?它应该会回来的,姐姐

这就是我的图表。有8个关系和2个标签(男性或女性)

如何在不指定任何节点的情况下实现这一点?例如,如果我想知道我和我父亲的女儿之间的关系

我想做一些类似于
匹配()-[:父]->()-[:子]->()
以及开始和结束节点之间的关系的事情

我肯定这个问题是绝对错误的,但我希望你能了解我在这里要实现的目标。

首先,您应该始终指定一些节点

让我们创建一些数据:

CREATE (me:Person)
CREATE (mother:Person)
CREATE (daughter:Person)
CREATE (me)-[:Son]->(mother)
CREATE (me)<-[:Mother]-(mother)
CREATE (me)-[:Brother]->(daughter)
CREATE (me)<-[:Sister]-(daughter)
CREATE (mother)-[:Mother]->(daughter)
CREATE (mother)<-[:Daughter]-(daughter)
我们所做的:

  • 第一个匹配:指定起始路径
  • 第二个匹配:请求所需的路径
  • 返回:获取路径结果

例如,我想知道我和我父亲的妻子之间的关系是什么?应该还给妈妈

在这里,类似这样的方法应该有效:

MATCH (me)<-[:Father]-()<-[:Wife]-(she)
MATCH (me)<-[r]-(she)
RETURN type(r)
所以

首先,您应该始终指定一些节点

让我们创建一些数据:

CREATE (me:Person)
CREATE (mother:Person)
CREATE (daughter:Person)
CREATE (me)-[:Son]->(mother)
CREATE (me)<-[:Mother]-(mother)
CREATE (me)-[:Brother]->(daughter)
CREATE (me)<-[:Sister]-(daughter)
CREATE (mother)-[:Mother]->(daughter)
CREATE (mother)<-[:Daughter]-(daughter)
我们所做的:

  • 第一个匹配:指定起始路径
  • 第二个匹配:请求所需的路径
  • 返回:获取路径结果

例如,我想知道我和我父亲的妻子之间的关系是什么?应该还给妈妈

在这里,类似这样的方法应该有效:

MATCH (me)<-[:Father]-()<-[:Wife]-(she)
MATCH (me)<-[r]-(she)
RETURN type(r)

如果没有任何节点,你就无法匹配关系,我的意思是,如果你想知道你和你父亲的女儿之间的关系,你必须使用向你(或你父亲的女儿)推荐的节点。否则,您将匹配每个关系的名称“父亲”或“女儿”,但每个关系将返回相同的值,对吗?所以这不是什么问题。我不明白你的问题,所以^^“@Supamiu有没有办法获得所有匹配的
()-[:父]->()-[:子]->()
节点?没有节点你无法匹配关系,我的意思是,如果你想知道你和你父亲的女儿之间的关系,你必须使用推荐给你的节点(或者给你父亲的女儿)。否则你会匹配每个关系的名称“父亲”或“女儿”,但每个关系都会返回相同的值,对吗?所以这不是真的问题。我不理解你的问题,所以^^“@Supamiu有没有办法获得所有匹配的
-[:父亲]->()-[:女儿]->()
节点?非常感谢:)不过只有一个问题。为什么它返回它
n次?其中
n
是关系数。当您指定
匹配(我)时,哦,没关系。我的数据库中有重复的数据。这就是为什么它不止返回一个。谢谢。非常感谢:)不过只有一个问题。为什么它返回它
n次?其中
n
是关系数。当您指定
匹配(我)时,哦,没关系。我的数据库中有重复的数据。这就是为什么它不止返回一个。谢谢
Mother