【发布时间】:2018-06-22 22:34:45
【问题描述】:
我正在尝试编写一个查询来获取所有传入和传出的顶点,包括它们的边和方向,但是这也会返回那些没有边的顶点。
我现在可以通过强制所有内容至少有一个优势来解决这个问题,但这是我想避免的。
也许值得注意的是,我使用了 Azure CosmosDB 的 Graph API:https://docs.microsoft.com/en-us/azure/cosmos-db/gremlin-support
这是我用来返回所有顶点及其边和相关顶点的查询:
g.V().hasLabel('User').as('User').bothE().as('Edge').otherV().as('RelatedObject').path()
我来自:Gremlin get all incoming and outgoing vertex, including their edges and directions
此查询产生的结果我稍后可以在 C# 应用程序中轻松解析,但是此查询不返回没有边的顶点。
有什么想法吗?
编辑
我得到的最接近的是:
g.V().hasLabel("User").as("User").map(bothE().otherV().fold()).as("RelatedObjects").select("User", "RelatedObjects")
但是,这种方法不会显示User 和RelatedObjects 之间的边缘。我还需要边缘能够正确地将这些相关对象映射到父对象。
【问题讨论】:
标签: azure-cosmosdb graph-databases gremlin tinkerpop3