【问题标题】:Get a vertex with its label, properties and in/out vertices and their properties?获取带有标签、属性和输入/输出顶点及其属性的顶点?
【发布时间】:2020-09-28 06:17:09
【问题描述】:

如何通过name属性找到顶点并获取:
1. 入射到这个顶点的边上的顶点(带有标签和属性)?
2. 顶点(带有标签和属性)入射到该顶点的出边?
在单个查询中。

我知道.both().otherV() 这样做,我可以使用.valueMap().label() 来获取元数据和属性,但是.both() 或@ 的结果(从服务器收到的响应) 987654327@ 没有明确指出和识别传入顶点和传出顶点是什么。

为了能够区分这两者,我打电话给:
* g.V().has('name', 'abcd').in().values('name') 表示入度
* g.V().has('name', 'abcd').out().values('name') 表示出度

* g.V().has('name', 'abcd').union(label(),valueMap()) 用于元数据

清楚地知道什么响应属于什么集合,特别是在入度和出度的情况下。但这效率低下,会导致对服务器的 3 次单独调用。

【问题讨论】:

    标签: graph gremlin tinkerpop3 amazon-neptune


    【解决方案1】:

    在这种情况下你应该使用project:

    g.V().has('name', 'josh').
      project('properties', 'out', 'in').
        by(valueMap().
            with(WithOptions.tokens)).
        by(out().values('name').fold()).
        by(__.in().values('name').fold())
    

    示例:https://gremlify.com/c8nm1j16033g

    【讨论】:

    • 感谢@noam621。 .with(WithOptions.tokens) 是做什么的?我的客户出错了:SCRIPT EVALUATION ERROR - Response Message: No such property: WithOptions for class: Script112885)
    • 返回 idlabel 而不仅仅是属性。您也可以改用已弃用的valueMap(true)
    猜你喜欢
    • 2017-12-19
    • 2021-12-24
    • 2023-03-16
    • 2016-05-28
    • 1970-01-01
    • 2023-01-15
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多