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

时间:2015-03-28 23:11:21

标签: cypher r-neo4j

我想为顶点添加重量。

我迈出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)

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为您尝试做的是将权重添加到边缘(或关系)而不是节点(或顶点)。

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

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。关系可以像节点一样具有属性,所以其余的都很简单。