我正在尝试从下面的Neo4j中显示的graphUnioned.csv中导入一个加权图:
在上图中,只有我的p加权了,并表示边缘权重(例如1.361、3.76等)。 s和o表示节点名称,即:431、9812、18558、75、10122、10144、10289、10304。
用于加载我正在使用的csv文件:
LOAD CSV WITH HEADERS FROM "file:\\graphUnioned.csv" AS csvLine
MERGE (s:Node {value:csvLine.s})
MERGE (o:Node {value:csvLine.o})
MERGE (s)-[:REL {weight: csvLine.p}]->(o)
RETURN *;
然后我使用以下命令对页面进行排名:
CALL algo.pageRank.stream('node', 'REL', {iterations:20, dampingFactor:0.85, weightProperty: "weight"})
YIELD node, score;
但是,加载的图和页面排名算法似乎都没有在加权图上运行。有人可以帮我找出我要去哪里哪里
答案 0 :(得分:2)
节点标签区分大小写。您的节点具有标签Node
。因此,您必须将Node
(而不是node
)作为algo.pageRank.stream()
的第一个参数。
答案 1 :(得分:1)
尝试将重量作为浮点值导入。
LOAD CSV WITH HEADERS FROM "file:\\graphUnioned.csv" AS csvLine
MERGE (s:Node {value:csvLine.s})
MERGE (o:Node {value:csvLine.o})
MERGE (s)-[:REL {weight: toFloat(csvLine.p)}]->(o);