TinkerPop 3 - 获取顶点和边缘属性


昵称不能为空
2025-01-18 07:25:20 (1月前)


我想返回所有具有特定边缘的顶点和添加边缘的日期,但我只是没有理解它。

g.V()。out(“likes”)。map {it - > it.dateLiked = it.outE(“…

2 条回复
  1. 0# 诸葛神侯 | 2019-08-31 10-32



    这里有一种方法可以使用“现代”玩具图作为例子:




    1. gremlin> graph = TinkerFactory.createModern()
      ==>tinkergraph[vertices:6 edges:6]
      gremlin> g = graph.traversal()
      ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard]
      gremlin> g.V().outE(‘knows’).as(‘e’).
      inV().as(‘v’).
      select(‘e’,’v’).by(‘weight’).by(valueMap())
      ==>[e:0.5,v:[name:[vadas],age:[27]]]
      ==>[e:1.0,v:[name:[josh],age:[32]]]

    2. </code>


    因此,我不想从“喜欢”边缘和“项目”顶点的属性获得“addedOn”,而是希望从“知道”边缘和“人物”顶点的属性中获得“权重”。在第一行中,我们遍历“知道”边缘并将其标记为“e”,然后我们遍历到相邻

    in

    人顶点并将其标记为’v’。最后,我们选择这两个标签的值并应用

    by

    改变他们。该

    by

    所以第一次以循环方式应用

    by

    应用于’e’,第二个应用于’v’。



    指某东西的用途

    valueMap

    有点方便,但通常你会知道你想要从顶点检索的数据,就像你知道从边缘检索的数据(即“权重”)一样。在没有嵌入所有内容的情况下实现更好的输出

    Map

    然后你可以这样做:




    1. gremlin> g.V().outE(‘knows’).as(‘w’).
      inV().as(‘a’,’n’).
      select(‘w’,’a’,’n’).
      by(‘weight’).by(‘age’).by(‘name’)
      ==>[w:0.5,a:27,n:vadas]
      ==>[w:1.0,a:32,n:josh]

    2. </code>

登录 后才能参与评论