我需要根据用户定义的条件(例如属性值和标签)提取子图(节点和边的子集)。使用 cypher 或 gremlin 之类的查询语言,或者简单地使用 java 方法编码,这已经是可行的。
但是,由于我正在处理大图,我希望保留提取的子图以供进一步查询,甚至迭代子提取查询过程。
我看过这些讨论:在 neo4j中提取子图,从 neo4j 数据库中提取子图。但是,我无法弄清楚我的情况的答案。
我正在考虑一些替代方案:
- 每次我需要提取子图时都建立一个新索引
- 使用缓存来存储可能对算术计算有用的节点/边,例如平均值等。
- 创建一个嵌入式 ne4j 的新实例,但这真的很昂贵!
还有一点,getByID 比索引查找便宜。我知道这取决于具体情况:大图或小索引...