作成したいデータベースを処理するために Neo4j を使用する予定です。
ドメインを表すために使用するデータ モデルはまだ決まっていませんが、評価ノードと状態ノードがあり、それらの間の関係がまだ定義されていないデータベースのモデルを想定してみましょう。データベースに必要なことは次のとおりです...
機能 1 各評価者は、基準範囲の上または下の結果を持つことができます。所与の評価者 (E1) について、結果が基準範囲 (BR) を超える場合、状態 S1 との関係があります。結果が基本範囲 (BR) 内にある場合、どの状態とも関係がありません。結果がベース範囲 (BR) を下回っている場合、状態 S2 との関係があります。したがって、Evaluator には、result と base range という 2 つのプロパティがあります。ベース範囲は、簡単に計算できるように、ベース範囲ハイおよびベース範囲ローとして表すことができます。
ユーザーが特定の評価者の結果を入力するとします。ベース範囲に対する結果の値に依存する自動クエリを呼び出すために、その入力が必要です。そのクエリは、指定された結果値を持つエバリュエーターに関連するすべての状態を返します。ここでの重要なアイデアは、ユーザー入力の値に応じた条件付きの関係です。これを行う方法は他にもあると思いますが (関係プロパティ?)、ユーザー入力に基づく条件付き関係という同じ考え方に興味があります。
機能 1 は実行できますか?
関数 2 次に、2 つの評価者 E1 と E2 があるとします。異なる基本範囲を超えるまたは下回る値を持つ評価子のさまざまな組み合わせが、S1、S2…Sn との条件付き関係を持っているとしましょう。
E1 High, E2 low; relationship with S1
E1 High E2 BR; relationship with S2
E1 High, E2 High; relationship with S3
E1 BR, E2 High; relationship with S4
E1 low, E2 High; relationship with S5
E1 BR, E2 BR; no relationship to a State
ユーザーが E1 と E2 の結果の値を入力するとします。ベース範囲に関連する結果の値にも依存する自動クエリを呼び出すために、その組み合わせが必要です。このクエリは、E1 および E2 に関連するすべての州を特定の結果値とともに返します。ここでの重要なアイデアは、ユーザー入力の値に応じた組み合わせの条件付き関係です。
機能 2 は実行できますか?