我们公司正在评估Neo4J作为我们社交网络的首选数据库。我们的主要要求是高性能社交活动流(读取eclipse写入)。在我们的数据建模中,我们独立设计了你所谓的Graphity模型,它可以很好地扩展,但受到Neo的最大关系类型(~32,700)的限制。
有没有办法增加关系类型的数量才能大规模使用Graphity?
http://docs.neo4j.org/chunked/milestone/cypher-cookbook-graphity.html http://docs.neo4j.org/chunked/milestone/cypher-cookbook-newsfeed.html
答案 0 :(得分:0)
如果关注类型的数量是一个问题,请记住Neo4j支持关系属性。
所以不是MATCH p=me-[:jane_knows*]->friend ....
而是你可以建模如下:
MATCH me-[jk:who_knows]->friend WHERE jk.who = 'jane'
这可以有效地使所有x_knows关系成为一个属性的关系类型。我不确定这是否会产生与您的用例相同的语义或性能优势,但它可以解决您的问题。