Java Neo4j提取子图的交互式查询

Java Neo4j提取子图的交互式查询,java,neo4j,Java,Neo4j,我需要根据用户定义的条件(如属性值和标签)提取子图(节点和边的子集)。 使用诸如cypher或gremlin之类的查询语言,或者简单地使用java方法进行编码,这已经是可行的 但是,由于我处理的是大型图,因此我希望保留提取的子图以供进一步查询,甚至迭代子提取查询过程 我看过这些讨论:。然而,我无法为我的案件找到答案 我在考虑一些替代方案: 每次需要提取子图时,都要构建一个新索引 使用缓存存储节点/边,这些节点/边可能对算术计算(如平均值等)有用 创建一个新的嵌入式ne4j实例,但是这确实很昂贵

我需要根据用户定义的条件(如属性值和标签)提取子图(节点和边的子集)。 使用诸如cypher或gremlin之类的查询语言,或者简单地使用java方法进行编码,这已经是可行的

但是,由于我处理的是大型图,因此我希望保留提取的子图以供进一步查询,甚至迭代子提取查询过程

我看过这些讨论:。然而,我无法为我的案件找到答案

我在考虑一些替代方案:

  • 每次需要提取子图时,都要构建一个新索引
  • 使用缓存存储节点/边,这些节点/边可能对算术计算(如平均值等)有用
  • 创建一个新的嵌入式ne4j实例,但是这确实很昂贵
    另一点是,getByID比索引查找便宜。我知道这取决于情况:大型图或小型索引…

    您可以创建一个新的neo4j java嵌入式数据库来保存结果并进一步查询吗?无需启动另一台服务器IMHO


    此外,getByID通常比索引查找便宜,因为可以避免索引往返。索引查找适用于更多的PLUMX查找,如文本匹配等。

    对不起,我没有提到我已经在使用嵌入式数据库创建图形。我没有使用REST,应用程序首先进行ETL,然后对创建的数据库进行交互式查询。您是否认为为每个子图提取创建一个新的嵌入式数据库是最好的选择。