イベント中に販売されるいくつかの製品があるシナリオがあります。これらの製品は一度構成すれば、いつでも使用できます。現在、次のノード/関係があります。
event-[:HAS_CURRENT_INVENTORY]->inventory-[:OF_PRODUCT]->product
こちらの在庫は一点物ですので、イベントごとに数点ございます。トランザクションが発生したら、イベントで販売するすべての製品の在庫のスナップショットを維持したいと考えています。私は現在、このようにすることを考えています:
- 新しいトランザクション ノードを作成する
- このトランザクションに含まれるすべての在庫品目に対して、新しい在庫数で新しい「在庫」ノードを作成します
- 新しいトランザクション ノードをすべての「現在の」インベントリ ノード (トランザクション内のものだけでなく、それらすべて) にリンクします。
- 「HAS_CURRENT_INVENTORY」関係を影響を受ける在庫ノードに置き換え、それらに「アーカイブ済み」関係を与えます。同時に、新しいインベントリ ノードへの「HAS_CURRENT_INVENTORY」リンクを作成します。
これを実装するためのより最適な方法はありますか? 単一のトランザクションが発生したとき、または任意の時点で、イベント全体の在庫レベルのスナップショットを取得することが重要です。ただし、イベントでのトランザクションごとに大量のものを作成しています。情報を照会するより良い方法はありますか?