【发布时间】:2018-02-17 07:23:52
【问题描述】:
假设我有这样的数据。
(id:1)->(id:2)->(id:3)->(id:4)->(id:5)->(id:6)->(id:9)->(id:10)
(id:5)->(id:7)->(id:8)->(id:6)
需要明确的是,Id 5 是具有 2 条边的同一节点。
这是一个代码示例:
g.addV('person').property('id',1).as('1').
addV('person').property('id',2).as('2').
addV('person').property('id',3).as('3').
addV('person').property('id',4).as('4').
addV('person').property('id',5).as('5').
addV('person').property('id',6).as('6').
addV('person').property('id',7).as('7').
addV('person').property('id',8).as('8').
addV('person').property('id',9).as('9').
addV('person').property('id',10).as('10').
addE('connection').from('1').to('2').
addE('connection').from('2').to('3').
addE('connection').from('3').to('4').
addE('connection').from('4').to('5').
addE('connection').from('5').to('6').
addE('connection').from('6').to('9').
addE('connection').from('9').to('10').
addE('connection').from('5').to('7').
addE('connection').from('7').to('8').
addE('connection').from('8').to('6').iterate()
我需要遍历图,并排除任何与 6 有连接的节点,在任何方向上,到 5。所以我会回来:
(id:1)->(id:2)->(id:3)->(id:4)->(id:5)->(id:6)
(id:1)->(id:2)->(id:3)->(id:4)->(id:5)->(id:7)->(id:8)->(id:6)
【问题讨论】:
-
建议您将示例数据编写为可以在 Gremlin 控制台中运行的 gremlin 脚本,而不是以这种方式呈现图形数据。以这种方式更容易传达您的示例,并节省可能回答该额外任务的人,使他们能够专注于您的解决方案。
标签: gremlin tinkerpop janusgraph