neo4j关系类型限制?

时间:2012-08-25 18:09:14

标签: neo4j

我创建了包含38,000种关系类型的图表,实际上是将信息从属性转移到关系类型上。我这样做是因为我的查询速度,.getProperties()函数阻止了我。但是现在当我尝试运行我的查询时,我得到了这个:

java.lang.NullPointerException
    at org.neo4j.kernel.impl.core.NodeManager.receiveRelationships(NodeManager.java:658)
    at org.neo4j.kernel.impl.core.NodeManager.getMoreRelationships(NodeManager.java:624)
    at org.neo4j.kernel.impl.core.NodeImpl.getMoreRelationships(NodeImpl.java:400)
    at org.neo4j.kernel.impl.core.NodeImpl.loadInitialRelationships(NodeImpl.java:352)
    at org.neo4j.kernel.impl.core.NodeImpl.ensureRelationshipMapNotNull(NodeImpl.java:338)
    at org.neo4j.kernel.impl.core.NodeImpl.getAllRelationshipsOfType(NodeImpl.java:184)
    at org.neo4j.kernel.impl.core.NodeImpl.getRelationships(NodeImpl.java:269)
    at org.neo4j.kernel.impl.core.NodeProxy.getRelationships(NodeProxy.java:114)

我认为这与我拥有的大量关系类型有关,因为在扩展到38,000之前,我没有任何问题。有什么方法可以解决这个问题吗?有没有可以看到neo4j关系类型限制的地方?

2 个答案:

答案 0 :(得分:1)

是的,这可能是对的,请参阅http://docs.neo4j.org/chunked/snapshot/capabilities-capacity.html#capabilities-data

也许提出一个问题来扩展它和你的用例?你需要多少?

答案 1 :(得分:0)

我认为实际存储的实际限制是2 ^ 15-1(= 32767)类型,而不是2 ^ 16-1(= 65535)。似乎有一些无效的检查,导致从Neo4j抛出一个奇怪的异常。

由于你需要至少100k,你仍然会遇到问题。使用可配置(在商店创建时)最大数量的关系类型会很好,这个设置会影响每个关系在磁盘上占用的空间。