我正在尝试创建500~600列的节点,因为要求是显示单个数据帧/表中的所有属性。节点的创建是使用java eclipse中的bolt驱动程序api。
此外,如果有来自不同节点并从不同节点中选择的话,手动选择这么多列将是繁琐的,以便将所有属性显示为表格。
如果所有属性都在一个节点中,我很容易返回*属性。
这就是我尝试创建节点的方式。要创建的节点总数约为20K~40K。
示例:
List<String> nodes = {create(s:TEST{a:"", b:"", .... })
create(s:TEST{a:"", b:"", .... })
...
create(s:TEST{a:"", b:"", .... })
};
这是怎样的,我正在创建例如:
try (Session session = driver.session()) {
for (String q : nodes) {
StatementResult st = session.run(q);
}
}
答案 0 :(得分:0)
这种迭代方法,一次创建一个节点,不推荐。
您可能希望查看有关插入数据的更好方法的Michael Hunger's batching tips。
在您的情况下,提供属性映射列表的参数允许您展开地图,创建节点,并直接将属性值添加到节点:
UNWIND $propsList as props
CREATE (n:Test)
SET n = props
如果您在插入时遇到减速或挂起,请查看迈克尔关于使用APOC程序批量插入并定期提交的建议。