【发布时间】:2020-12-03 12:11:58
【问题描述】:
我想获得一个包含一个用户的对象的 ResultSet 和一个尚未与该用户相关的所有用户的列表。 结果应如下所示:
[[user: [USEROBJECT], usersThatAreNotFriends: [[USEROBJECT]...]]...]
我正在使用 Cosmos DB Gremlin Endpoint,并且难以过滤/组合已经相关的用户和所有用户。
我的想法是:
g.V().hasLabel('user').as('user').flatMap(g.V().hasLabel('user').where(__.eq(select('user').out('isFriend')).fold()).as('usersThatAreNotFriends').select('user', 'usersThatAreNotFriends')
要设置我的示例,请使用:
g.addV('user').property('id','user_1').property('partition_key','1')
g.addV('user').property('id','user_2').property('partition_key','2')
g.addV('user').property('id','user_3').property('partition_key','3')
g.addV('user').property('id','user_4').property('partition_key','4')
g.V('user_1').addE('has_relation').to(g.V('user_2'))
g.V('user_2').addE('has_relation').to(g.V('user_1'))
g.V('user_2').addE('has_relation').to(g.V('user_4'))
g.V('user_4').addE('has_relation').to(g.V('user_2'))
预期的结果应该以简单的方式表示:
[user_1: [user_3, user_4], user_2:[user_3],
user_3:[user_1, user_2, user_3], user_4:[user_1, user_3]]
【问题讨论】:
-
如果您可以添加一小组
addV和addE步骤来构建代表您的数据的示例图,将会很有帮助。
标签: .net gremlin azure-cosmosdb-gremlinapi gremlinnet