我有以下示例Edge标记为“ posts”。 “帖子”可以具有多种类型的父顶点(outVLabel),例如“通道”,“发布者”,“用户”等。如何查询所有outVLabel为“通道”的边而不查询标签out()顶点?我要返回一个数组“边”。
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"
}]
答案 0 :(得分:1)
您必须这样做:
g.E().hasLabel('posts').where(outV().hasLabel('channel'))
或者,如有必要,对输出顶点标签进行规范化并将其放置在边缘上作为属性,在这种情况下,您可以执行以下操作:
g.E().has('posts', 'outVLabel', 'channel')