首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >V(select("id"))可能吗?

V(select("id"))可能吗?
EN

Stack Overflow用户
提问于 2019-06-18 22:04:03
回答 1查看 61关注 0票数 0

我想在不使用长遍历的情况下修改多个顶点的属性(参见http://tinkerpop.apache.org/docs/current/recipes/#long-traversals)。出于性能原因,我有一个顶点ID的本地缓存。

我想做一个类似(在Tinkerpop3.3.3上)的代码:

代码语言:javascript
复制
var list = [ ["id": 123, "prop": "foo"], ["id": 456, "prop": "bar"] ];
g.inject(list)
    .unfold()
    .as("map")
    .V(__.select("id"))
    .property("prop", __.select("map").select("prop"))
    .iterate();

但我得到了以下异常:

代码语言:javascript
复制
java.lang.IllegalArgumentException: Expected an id that is convertible to Long but received class com.dcbrain.flowengine.dsl.DefaultFlowEngineTraversal
    at org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph$DefaultIdManager$1.convert(TinkerGraph.java:587)
    at org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph.lambda$createElementIterator$4(TinkerGraph.java:316)

有什么变通的方法吗?或者有没有别的Tinkerpop版本支持?

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 22:36:48

我找到了另一种创建查询的方法:

代码语言:javascript
复制
var map= [ 123 : "foo"], [456 : "bar"];
g.withSideEffect("map", map)
    .V(map.keySet().toArray())
    .as("id")
    .property("prop", __.select("map").select(__.select("id").by(T.id)))
    .iterate();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56650987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档