Neo4jClient处理小数据集时出现内存不足异常
本文关键字:内存不足 异常 处理 小数 数据集 Neo4jClient | 更新日期: 2023-09-27 18:07:23
我使用neo4j社区版来存储从tweeter API获取的数据,到目前为止,我收集了大约200000条tweet并将它们存储在neo4j数据库中(每个作为一个节点)。我使用neo4jclient连接到neo4j在我的c#应用程序。当我运行下面的代码来获得这些节点时,它会导致内存不足异常!!
var client = new GraphClient(new Uri("http://localhost:7474/db/data"));
client.Connect();
var result = client.Cypher.Match("tweet").Return(tweet => tweet.As<Tweets>()).Results;
我搜索了很多,想知道其他人谈论包含5000万个节点和这么多关系的数据集!!但是我的简单的小数据集导致了这种异常。我需要的是如何处理这件事?实际上我想处理每个节点并为每个节点添加更多属性!
我还应该提到,我的neo4j web界面不能处理这些数据,只是显示它限制在小数量!!
您不应该尝试一次返回非常多的tweet,因为这很容易导致程序耗尽内存(即使neo4j没有问题)。而且,由于您只想设置一些属性,因此没有必要返回所有tweet。
下面是一个非常简单的例子,如何将所有tweet的foo
属性设置为相同的值,而不返回任何结果。
var client = new GraphClient(new Uri("http://localhost:7474/db/data"));
client.Connect();
var result = client.Cypher
.Match("tweet")
.Set("tweet.foo = {foo}")
.WithParam("foo", 123)
.ExecuteWithoutResults();