我正在使用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网络界面无法处理这些数据,只是显示它限制在少数位置!!!
答案 0 :(得分:2)
你不应该一次尝试返回大量的推文,因为这很容易导致程序内存不足(即使neo4j没有问题)。而且,由于您只想设置一些属性,因此无需返回所有推文。
以下是一个非常简单的示例,说明如何将所有推文的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();