如何将权重作为标签添加到顶点?

How to add weight as label to vertex?

我想给顶点增加权重。

我在 r-studio 中迈出了第一步。以下代码给出了一个具有权重的数据框:

query = "
MATCH (p)-[:REFERS_TO]->(q)<-[:REFERS_TO]-(r)
WHERE (ID(p) < ID(q))
RETURN q.name, COUNT(q) AS Weight
ORDER BY Weight DESC
"
newvalue = cypher(graph, query)

如何将权重作为标签添加到顶点?以下对我不起作用,因为它将权重添加到节点而不是顶点:

query = "
MATCH (p)-[:REFERS_TO]->(q)<-[:REFERS_TO]-(r)
WITH q.name, COUNT(q) AS Weight
SET q.weight = Weight
"
cypher(graph, query)

谢谢!

我认为你想要做的是将权重添加到 edge(或关系)而不是 node(或顶点)。

为了将权重添加为边的属性,您需要将其绑定到一个变量,然后您可以像以前一样设置属性:

query = "
MATCH (p)-[r1:REFERS_TO]->(q)<-[r2:REFERS_TO]-(r)
WITH q.name, COUNT(q) AS Weight
SET r1.weight = Weight, r2.weight = Weight
"
cypher(graph, query)

请注意,我无法判断您想要对哪些关系施加权重,因此在本例中我同时进行了这两种关系。这里唯一的事情是我将这两个关系绑定到 r1r2。关系可以像节点一样具有属性,所以剩下的就很简单了。