Neo4jClient 处理小数据集内存不足异常
Neo4jClient out of memory exception in processing small dataset
我正在使用 neo4j 社区版来存储我从 tweeter API 获取的数据,直到现在我收集了大约 200000 条推文并将它们存储在 neo4j 数据库中(每个作为一个节点)。我在我的 c# 应用程序中使用 neo4jclient 连接到 neo4j。
当我 运行 下面的代码获取此节点时,它会导致内存不足异常!!!
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 网络界面无法处理这些数据,只能显示它限制为小数字的位置!!!
您不应尝试一次 return 大量推文,因为这很容易导致您的程序 运行 内存不足(即使 neo4j 没有问题)。而且,由于您只想设置一些属性,因此 return 无论如何都没有必要访问所有推文。
以下是一个非常简单的示例,说明如何将所有推文的 foo
属性 设置为相同的值,而不会 returning 任何结果。
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();
我正在使用 neo4j 社区版来存储我从 tweeter API 获取的数据,直到现在我收集了大约 200000 条推文并将它们存储在 neo4j 数据库中(每个作为一个节点)。我在我的 c# 应用程序中使用 neo4jclient 连接到 neo4j。 当我 运行 下面的代码获取此节点时,它会导致内存不足异常!!!
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 网络界面无法处理这些数据,只能显示它限制为小数字的位置!!!
您不应尝试一次 return 大量推文,因为这很容易导致您的程序 运行 内存不足(即使 neo4j 没有问题)。而且,由于您只想设置一些属性,因此 return 无论如何都没有必要访问所有推文。
以下是一个非常简单的示例,说明如何将所有推文的 foo
属性 设置为相同的值,而不会 returning 任何结果。
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();