通过一组 id 向 Titan 查询一组顶点的最佳方法是什么?
假设我有一些以 UUID 作为属性的节点,我想通过一组 ID 获取这些顶点 - 什么是最好的查询方法?
我可以遍历 id 集合并使用此 API 逐个顶点获取所需的顶点(在此示例中,userId 是我在 id 集合上循环的对象):
for(String userId: usersList) {
tg.getVertices("UUID", userId).iterator();
}
或者这个:
for(String userId: usersList) {
tg.query().has("UUID", userId).vercities().iterator();
}
但我找不到一种方法可以将列表提供给 Titan 并在一次通话中接通, 在 Java 中执行此操作的最佳方法是什么?
编辑
换句话说,我正在寻找 SQL IN
运算符的等效方法 - 但在 titan 语法中:
SELECT *
FROM Users
WHERE City IN ('fe4e2e2c-8638-4081-b6de-e10252e638e7', 'fess2c-8638-4rgf-b6de-e102sdf3447');
最佳答案
如果您使用的是 Titan 1.0(因此是 TinkerPop 3.x),您可以使用 Gremlin 更直接地执行此操作:
gremlin> g.V().has('name', within('marko','josh'))
==>v[1]
==>v[4]
关于java - 泰坦多ID查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33727055/