【问题标题】:gremlin request小鬼请求
【发布时间】:2012-10-28 15:10:09
【问题描述】:

如何向 gremlin 请求具有我选择的属性的有限节点列表?

类似:

g.V. 10 nodes with nodeType=="User", return only id, name and email.

【问题讨论】:

    标签: neo4j gremlin


    【解决方案1】:

    为了速度,请过滤{it.getProperty('nodeType').equals('User')}...

    【讨论】:

      【解决方案2】:

      使用 TinkerPop 3+,那就是:

      g.V().hasLabel('user').limit(10).valueMap(true, 'name', 'email')
      

      调用valueMap(true) 会返回遍历的图形元素的idlabel

      为了提高性能,现在建议避免使用 lambda 并使用 Gremlin 步骤。

      【讨论】:

        【解决方案3】:

        如果您使用的是 Tinkerpop 3,并且您正在搜索的“类型”定义为节点标签,那么您可以执行以下操作:

        g.V.hasLabel('User')[0..10].valueMap.select('id','name','e-mail')

        还请注意,如果您想要 10 个节点而不是 [0..9],我认为您需要指定 [0..10]

        但是,我完全听从 Marko 对性能的回答,因为他了解内部结构。我只是喜欢 hasLabel() 的干净感觉。

        【讨论】:

          【解决方案4】:
          g.V.filter{it.nodeType=='User'}[0..9].transform(){it.id +  ' ' + it.name + ' ' + it.email}
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-11-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-09
            • 1970-01-01
            相关资源
            最近更新 更多