Graph TinkerPop蓝图和框架-如何将数据视为集合
我发现了这个问题 但这对我来说不是一个明确的答案 例如,我如何查询10篇最近的文章和10位最近注册的用户的api?暂时把图形放在一边,因为这个堆栈必须能够处理集合/文档范例以及图形范例(这些集合类型的元素之间的关系)。我已经读了所有的东西,包括源代码,我正在接近它,但还不太清楚 我读过的最接近的文档是这里的多租户文章: 但它关注于使用gremlin进行图形分离和查询,我希望在需要对图形进行分析之前避免这种情况Graph TinkerPop蓝图和框架-如何将数据视为集合,graph,neo4j,orientdb,titan,Graph,Neo4j,Orientdb,Titan,我发现了这个问题 但这对我来说不是一个明确的答案 例如,我如何查询10篇最近的文章和10位最近注册的用户的api?暂时把图形放在一边,因为这个堆栈必须能够处理集合/文档范例以及图形范例(这些集合类型的元素之间的关系)。我已经读了所有的东西,包括源代码,我正在接近它,但还不太清楚 我读过的最接近的文档是这里的多租户文章: 但它关注于使用gremlin进行图形分离和查询,我希望在需要对图形进行分析之前避免这种情况 现在我正在考虑使用cassandr/hadoop来引用图形id,但我可以看到这一点让我
现在我正在考虑使用cassandr/hadoop来引用图形id,但我可以看到这一点让我很头疼。回答我自己的问题-答案是索引
回答我自己的问题-答案是指数
Tinkerpop/Blueprints中的索引仅支持基于属性键精确匹配的简单查找 如果你想找到10篇最新的文章,或者带有“foobar”短语的文章,你可能需要使用Lucene或elasticsearch维护一个外部索引。这些技术使用反向索引,支持术语/短语查找、范围查询和通配符搜索等。您可以将vertex.getId()存储为索引文档中的字段,以链接回图形数据库中的顶点
我已经为我的应用程序实现了类似的东西,它使用了一个蓝图数据库(Bitsy)和一个奇特的索引(Lucene)。我已经记录了(a)每隔几秒钟使用批更新来保持fancy索引的最新状态,以及(b)确保图形数据库和fancy索引之间的事务一致性。希望这有帮助 Tinkerpop/Blueprints中的索引仅支持基于属性键精确匹配的简单查找 如果你想找到10篇最新的文章,或者带有“foobar”短语的文章,你可能需要使用Lucene或elasticsearch维护一个外部索引。这些技术使用反向索引,支持术语/短语查找、范围查询和通配符搜索等。您可以将vertex.getId()存储为索引文档中的字段,以链接回图形数据库中的顶点
我已经为我的应用程序实现了类似的东西,它使用了一个蓝图数据库(Bitsy)和一个奇特的索引(Lucene)。我已经记录了(a)每隔几秒钟使用批更新来保持fancy索引的最新状态,以及(b)确保图形数据库和fancy索引之间的事务一致性。希望这有帮助 我将添加redis比mongo快n/2,因此在需要极端可伸缩性时它可能仍然是一个更好的选择:我将添加redis比mongo快n/2,因此在需要极端可伸缩性时它可能仍然是一个更好的选择:与vertex.getId()链接这是一个坏主意,因为供应商实现的内部ID在服务器重新启动后可能会发生更改。使用vertex.getId()链接回去是一个坏主意,因为供应商实现的内部ID在服务器重新启动后可能会发生更改。