我想使用 gremlin-javascript 遍历远程图并获取顶点列表,其id在预定义ID列表中。
const gremlin = require('gremlin');
const Graph = gremlin.structure.Graph;
const GraphPredicate = gremlin.process.P;
const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection;
const graph = new Graph();
const g = graph.traversal().withRemote(new DriverRemoteConnection('ws://localhost:8182/gremlin'));
g.V()
.has('id', GraphPredicate.within([414, 99999]))
.toList()
.then(function (result) {
console.log(result);
});
以上是我尝试过的代码,但它给了我一个空的顶点列表,而我希望在结果中有一个顶点(414)。
此外,当我使用下面的语句使用gremlin-console进行测试时,它在结果中给了我顶点(414)。
:> g.V().hasId(within(414,99999))
所以我在这里有一些问题:
提前谢谢你,
答案 0 :(得分:3)
id是TinkerPop中的特殊属性,无法使用name属性"id"
检索。
在您的情况下通过ID检索的正确方法应该是:
g.V().hasId(P.within(414, 99999)).toList()
.then(result => console.log(result));
此外,删除within()
电话:
g.V().hasId(414, 99999).toList()
.then(result => console.log(result));
答案 1 :(得分:0)
我无法发表评论,但是要使用id
,您需要使用gremlin.process.t.id
示例:
在Gremlin .by(id)
在JS .by(gremlin.process.t.id)
希望这很有帮助