【问题标题】:Gremlin Tinkerpop get vertex with partial IDGremlin Tinkerpop 获取具有部分 ID 的顶点
【发布时间】:2023-01-15 08:01:52
【问题描述】:

有没有办法获得只有部分 ID 的顶点?例如,假设我有两个唯一值构成 ID 的一部分,例如:employeeName/{employeeName}/dob/{employeeDoB}

如果我只有其中一个值,比如employeeName,我是否仍然可以通过知道那部分来获得顶点?

我在想我可以使用 Tinkerpop Text enum 并做类似的事情:

g.V("employeeName/" + id, Text.startingWith);

但是我得到了一个序列化错误:

- it could not be sent to the server - Reason: org.apache.tinkerpop.gremlin.driver.ser.SerializationException: java.io.IOException: Serializer for type org.apache.tinkerpop.gremlin.process.traversal.Text$3 not found

将 Tinkerpop 3.5.1 与 Amazon Neptune 结合使用。

【问题讨论】:

    标签: java gremlin tinkerpop amazon-neptune tinkerpop3


    【解决方案1】:

    您需要使用TextP而不是Text,您还需要添加一个过滤步骤。所以它变成了:

    g.V().hasId(TextP.startingWith("employeeName/" + name));
    

    这假定您从 Java 发送请求。在大图中,这可能效率不高,您可能需要考虑查看 OpenSearch/ElasticSearch 全文搜索 (FTS) 集成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-20
      • 1970-01-01
      • 2011-11-13
      • 1970-01-01
      • 2019-06-24
      • 2019-05-14
      • 1970-01-01
      相关资源
      最近更新 更多