2013-04-24 50 views
0

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

但是,由于我正在处理大图,我希望保留提取的子图以进一步查询,甚至迭代子提取 - 查询过程。

我见过这些讨论:Extract subgraph in neo4j,Extracting subgraph from neo4j database。但是,我无法弄清楚我的案子的答案。

我在想一些替代品:

  1. 每次我需要提取一个子
  2. 使用缓存来存储节点/边缘,这可能是对的算术计算,如有用建立一个新的索引平均等
  3. 创建一个新的嵌入式ne4j实例,但这是非常昂贵的!

另一点,就是getByID比索引查找便宜。我知道这取决于案例:大图或小索引...

回答

0

你可以创建一个新的neo4j java嵌入式数据库来保存你的结果和进一步查询?无需启动另一台服务器恕我直言。

此外,getByID通常比索引查找便宜,因为您避免了索引往返。索引查找是伟大的更多complax查找类似文本匹配等

+0

对不起,我还没有提到,我已经创建使用嵌入数据库的图形。我没有使用REST,那么应用程序首先执行ETL,交互查询创建的数据库。 您是否认为为每个子图提取创建一个新的嵌入数据库是最佳选择。 – amine 2013-04-26 08:36:21