当前位置: 首页 > 知识库问答 >
问题:

未知数gremlin查询的多个属性

东方英豪
2023-03-14

我正在尝试向gremlin顶点添加多个属性。每次我都有不同数量的属性和不同的属性,所以我需要根据Map使查询动态以创建或更新属性。我发现了这个gremlin python-将多个但未知数量的属性添加到顶点,并尝试做同样的事情,但我实例化了一个jansugraph,但我得到了一个错误。任何想法都将非常受欢迎。

下面是直接用gremlin控制台写的,然后我会翻译成java代码

graph =JanusGraphFactory.open("conf/test.properties")
g = graph.traversal()
test = [["testKey":"testValue"]]
g.inject(test).unfold().as("test")
 .V(20704).as("v").sideEffect(select("test"))
 .unfold().as("kv").select("v")
.property(select("kv").by(Column.keys),select("kv").by(Column.values)).iterate()

而我得到的错误是

The provided object does not have accessible keys: class org.janusgraph.graphdb.vertices.CacheVertex
Type ':help' or ':h' for help.
Display stack trace? [yN]y
java.lang.IllegalArgumentException: The provided object does not have accessible keys: class org.janusgraph.graphdb.vertices.CacheVertex

任何想法我做错了什么,我找不到关于骏利的键和值使用什么

共有1个答案

拓拔玺
2023-03-14

查询的主要部分需要在sideEffect步骤内。比如说。。。

g.inject(test).unfold().as("test").
  V(20704).as("v").
  sideEffect(select("test").
     unfold().as("kv").
     select("v").
     property(select("kv").by(Column.keys),
              select("kv").by(Column.values))).
  iterate()
 类似资料:
  • 我有一个titan图,有两组顶点,一个用于用户ID,另一个用于产品。用户ID和产品顶点之间的边缘包含购买产品的“日期”。我正在寻找一个小精灵查询,它可以根据上次购买的产品为我提供用户ID的groupcount 例如,如果有如下数据 我正在寻找如下输出 会感谢任何帮助。

  • 我的场景是在单个查询中在顶点之间添加多条边: 假设下面的节点:这些是我拥有的标签和ID 用户: 4100 歌曲: 4200 4355 4676 我必须在这些顶点之间建立边 我们通常可以通过在节点之间创建单条边来实现。如果我们想一次在50多个顶点之间创建边,这不是一种有效的方法。我正在使用Tinkerpop 3.0.1。

  • 我有一个基本的rest控制器,可以获取参数。 如果查询字符串包含我没有定义的参数,我如何拒绝连接? 当前,在调用此url时,只使用id执行该方法,而忽略未知的参数。一般来说,这很好,但我如何验证它们,以防返回HTTP状态码?

  • 我正在使用Gremlin/Tinkerpop 3查询存储在TitanDB中的图形。 该图包含具有属性(例如“描述”)的用户顶点和表示用户之间关系的边。 我想使用Gremlin按属性获取1)用户和2)与其他用户(例如,id=123)的关系数(在这种情况下为任何类型)。为了实现这一点,我使用Gremlin 3中的操作,如下所示: 除非返回多个用户顶点,否则此查询工作正常,例如,因为多个用户的描述中有“

  • 我查阅了许多创建索引的文档,但所使用的API是用于Azure cosmos的SQL API,而没有Gremlin API的示例。如有任何帮助,我们将不胜感激。谢谢!!

  • myBatis查询多个id(我居然回答用对象来传递...) Page<UserPoJo> getUserListByIds(@Param("ids") List<Integer> ids); <!--根据id列表批量查询user--> <select id="getUserListByIds" resultType="com.guor.UserPoJo"> select * from s