How to implement propagation algorithms in Neptune

0

I need to implement a custom propagation algorithm that starts from a given node and visits its neighbors and update their properties accordingly based on the previous node properties. Example use case is, a quality flag that changed in a given node from good to bad and I need to make all the subsequent nodes become bad.

What is the recommend way of implement this efficiently in Neptune? (I'm trying to avoid to have client code to have this graph traversal one hop at a time)

質問済み 2年前256ビュー
1回答
1

So something like the following?

Sample graph:

g.addV('Product').property(id,'prod1').property('name','widget').property('quality','good').as('p1').
addV('Product').property(id,'prod2').property('name','sproket').property('quality','good').as('p2').
addV('Product').property(id,'prod3').property('name','screw').property('quality','good').as('p3').
addV('Product').property(id,'prod4').property('name','bolt').property('quality','good').as('p4').
addE('connectedTo').from('p1').to('p2').
addE('connectedTo').from('p1').to('p3').
addE('connectedTo').from('p1').to('p4')

Sample query:

g.V('prod1').as('p1').property(single,'quality','bad').
    out('connectedTo').
    property(single,'quality',select('p1').values('quality'))

This query would alter the property on the "root" vertex and apply the same property value to the children vertices.

UPDATE: If wanting to propagate this down an entire tree, you could use a repeat() step:

g.V('prod1').as('p1').property(single,'quality','bad').
    repeat(
        out('connectedTo').
        property(single,'quality',select('p1').values('quality'))
    )
profile pictureAWS
回答済み 2年前
  • interesting so I can make search query and then basically call property on the traversal to set the value of the property!

  • Is this recursing or it will just propagate to direct children of p1, I see you only use out not sure if this will grab all subsequent nodes (i.e. children of children)

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ