Gremlin查询Edge inVLabel,outVLabel

问题描述 投票:0回答:1

我有以下示例Edge标记为“posts”。 “posts”可以有多种类型的父Vertice(outVLabel),例如“频道”,“发布者”,“用户”等。如何在不查询标签的情况下查询所有具有“频道”outVLabel的边缘out()顶点?我想要一系列“帖子”Edges返回。

Query:
g.E().hasLabel('posts').has(???, 'channel')

Edge object:
[{
"id": "83c972b0-315d-49fe-a735-882c4dcbdaa2",
"label": "posts",
"type": "edge",
"inVLabel": "article",
"outVLabel": "channel",
"inV": "7410b6c8-ed70-4a00-800c-489d596907da",
"outV": "c8c5f45d-0195-49c5-b7ae-9eda1d441bc9",
"properties": {
  "service": "rss"
 }]
azure-cosmosdb gremlin
1个回答
1
投票

你必须这样做:

g.E().hasLabel('posts').where(outV().hasLabel('channel'))

或者,如果需要,将外化顶点标签作为属性进行非规范化并将其放置在边缘上,在这种情况下,您可以执行以下操作:

g.E().has('posts', 'outVLabel', 'channel')
© www.soinside.com 2019 - 2024. All rights reserved.