0

给定一个图表,其中关系上的属性是节点的键,我如何返回关系属性引用的节点?

所以,给定图表:

Node(user1 { type: "user", uid: "u1", name: "test user" })
Node(user2 { type: "user", uid: "u2", name: "test user 2})
Node(cat1 { type: "category", cid: "c1", name: "Nice person"})

Rel( (user1)-[:SAYS { cid: "c1" }]->(user2) )

如何返回 cat1 节点以及给定 user1 的 user2 节点?

(例如,返回值将包括 cat1 以及 user1 和 user2 的定义)。

逻辑起点是:

START user1 = node:auto_node_index(uid = "u1")
MATCH (user1)-[cat:SAYS]->(user2)
RETURN user1, cat, user2;

但我不知道从这里去哪里。

如果这变得太复杂,我总是可以将类别的属性放入关系中(显然),但这往往会促使我使用辅助存储介质来存放类别定义(因为它们将是图中的孤立节点) .

谢谢!r/史蒂夫

4

1 回答 1

0

嗯。实际上相当容易。输入问题让我更清楚地思考这个问题。这有效:

START user1 = node:node_auto_index(uid = "u1"), c = node:node_auto_index(type = "category")
MATCH (user1)<-[cat:SAYS]-(user2)
WHERE c.cid = cred.cid
RETURN user1, cat, user2, c;
于 2013-05-19T20:40:28.540 回答