格莱姆林关系建议

4
我将尝试识别图形中缺失的关系并提供建议,以便将用户添加到组,因为他的同行都在同一组中。 例如: IT经理Dave的成员与组有关系。我想找到所有共享同一组织或经理但不在该组的顶点。
脚本示例:
 g.addV('person').property('name','dave').as('d').
 addV('person').property('name','rick').as('r').
 addV('person').property('name','mavis').as('m').
 addV('person').property('name','larry').as('l').
 addE('manages').from('d').to('r').
 addE('manages').from('d').to('m').
 addE('manages').from('d').to('l').
 addV('group').property('name','IT').as('IT').
 addE('isIn').from('d').to('IT').
 addE('isIn').from('r').to('IT').iterate()

如何正确完成这个任务?


2
关闭“调试详细信息”对于熟悉图形和Gremlin的人来说并不合理,问题非常直接。 - stephen mallette
1个回答

1
如果您想确定缺失的关系,可以尝试以下方法:
g.V().hasLabel('group').as('group').
  in('isIn').where(outE('manages')).
  project('group name', 'manager', 'not in group').
    by(select('group').
      values('name')).by('name').
    by(out('manages').not(where(out('isIn').
          where(eq('group')))).
      values('name').fold())

我假设每个组都有一个经理。
例子:https://gremlify.com/7i

如果我理解你的问题...根据这些数据的敏感程度。如果不是太敏感,我会在先识别它们之前修复缺失的关系。 - noam621
我只需要最后一个示例来帮助我。你会如何查找人们所在的组,但不包括他们的直接经理(类似于偏差/差异)。例如,如果 Dave 是 IT 部门的经理,而他的一个直接下属在 HR 部门,那么这将被显示出来。 - Jautomator
如果错误地将组添加到Gremlify中,是否有任何方法可以添加组名?我已经添加了HR组。 - Jautomator
抱歉,如果我的问题不清楚,我指的是,根据我对https://tinkerpop.apache.org/docs/current/recipes/#recommendation的理解,我能够显示常见组和不同组。 - Jautomator
是的,这正是我所需要的。我在想大数据处理的执行时间如何? - Jautomator
显示剩余7条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接