如何解决Neo4j中用于GDS计算的图形生成
我正在处理结构类似于以下内容的CSV文件:
aId,Amount,bId
int,float,int
此处aId和bId分别对节点A和B具有约束。 在加载节点和关系时,
LOAD CSV with headers FROM 'file:///abc.csv' as row
MERGE (a: A {aid: toInteger(row.aID)})
MERGE (b: B {bid: toInteger(row.bID)})
CREATE (a)-[:HAS_SENT {amt: toFloat(row.Amount)}]->(b)
有1490个标签和1299个关系。
现在,我希望使用不同的Graph Data Science库对文件执行各种计算。为了为此绘制图形,我使用CALL gds.graph.create.estimate(['A'],['HAS_SENT'])
估计了相同的图形,该图形返回了851个节点和1299个关系。
但是,当我尝试创建图CALL gds.graph.create('mySampleGraph',['A'],['HAS_SENT'])
时,它返回了相同数量的节点,但关系为0。
我错过了什么?我如何才能正确映射?
解决方法
根据导入查询判断,您的关系仅存在于节点A和B之间。标记为A的节点之间不存在任何关系。通常,只有同时具有节点投影部分中描述的源节点和目标节点的关系才是已加载。对于您而言,不存在带有标签A的源节点和目标节点的关系。如果同时加载标签A和B,则GDS应该加载所有关系。
CALL gds.graph.create('mySampleGraph',['A','B'],['HAS_SENT'])
顺便说一句...是否有特定原因要使用两个标签而不是一个?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。