Graph 用Neo4J存储图形的正确方法

Graph 用Neo4J存储图形的正确方法,graph,neo4j,couchdb,Graph,Neo4j,Couchdb,我正在构建一个系统,允许用户通过API调用N个不同的图形。目前我有一个从CouchDB中提取图形的工作原型。然而,出于明显的原因,我想转到graph DB。我的理解是,Neo4J一次只能处理一个图形,或者需要某种标记系统来避免混合图形。这两种方法似乎都不是最优的。这方面的最佳实践方法是什么 还有几件事需要注意:我将调用这些图,并使用networkx之类的工具对它们进行操作,我考虑将这些图存储在“常规”数据库中,然后在收到请求时将它们移动到Neo4J,这似乎相当激烈。Neo4j没有多数据库的概念,

我正在构建一个系统,允许用户通过API调用N个不同的图形。目前我有一个从CouchDB中提取图形的工作原型。然而,出于明显的原因,我想转到graph DB。我的理解是,Neo4J一次只能处理一个图形,或者需要某种标记系统来避免混合图形。这两种方法似乎都不是最优的。这方面的最佳实践方法是什么


还有几件事需要注意:我将调用这些图,并使用networkx之类的工具对它们进行操作,我考虑将这些图存储在“常规”数据库中,然后在收到请求时将它们移动到Neo4J,这似乎相当激烈。

Neo4j没有多数据库的概念,就像大多数关系数据库使用
创建数据库一样。在Neo4j中,有一个图形空间可以使用

因此,您有两种选择:

  • 对每个图形使用单独的Neo4j实例(单个或集群),在嵌入式模式下使用Neo4j可能会有所帮助
  • 使用一个Neo4j实例(单个或集群)并将数据存储在不同的子图中。如果子图需要一些互连,可以使用标签来标识某个节点属于哪个子图

  • 如果你的图是断开连接的,你就不会通过遍历来接触其他的图。这样我就可以在同一个实例中存储几十个图,而不会影响性能?