問題タブ [nxbre]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
9 に答える
4996 参照

c# - ビジネス検証レイヤーには何を使用しますか?

私のプロジェクトでは、オブジェクトを取得して一連のルールに対して実行し、成功または失敗のいずれかを返し、失敗の理由のリストを返すビジネス オブジェクト検証レイヤーを作成する必要があります。これを達成するためのオプションがかなりあることを私は知っています。

マイクロソフトから:

オープンソース:

これらのテクノロジ (または私が挙げなかったもの) のいずれかで特に大きな成功または失敗を経験した人、またはビジネス ルールの検証に最も適していると思われるものについて意見を持っている人はいますか?

編集:一般的な検証文字列の長さが 200 未満、郵便番号が 5 桁または 5+4 であることについて質問しているだけではありませんが、ルール エンジンが実際に活用されると想定しています。

0 投票する
5 に答える
6306 参照

c# - ルールエンジンはどの程度うまく機能しますか?

私はWFルールエンジンNxBREを調べてきましたが、それは面白そうですが、実際のシナリオでどれだけうまく機能するかはわかりません。

私が念頭に置いているのは、1,000万から1億のファクトとルールを持つファクトベースのようなものです。

Object.Field <5000 AND Object.Field> 1000 AND IsProperty(Object.Field2)

私はC#と.NETを使用しています。

編集:私は自分自身を明確にしていません(完全に私のせいです):)私はRETEアルゴリズム自体を使用する独自のルール評価システムを持っています...それは非常に高速で、約10秒で1000万のファクトシナリオを評価できます。 ..比較における商用ソリューションの速度はどれくらいですか?

0 投票する
1 に答える
3152 参照

workflow - .NETワークフローRuleEngineと他のNxBREなどとの比較はありますか?

私たちのプロジェクトでは、ルールエンジンコンポーネントが必要です。短時間の調査の結果、.NETワークフローにもルールエンジンがあることがわかりました。.NETワークフロールールエンジンと他のエンジン(NxBRE、Drool.NETなど)との完全な比較リストはありますか...どうもありがとうございました。

0 投票する
1 に答える
286 参照

nxbre - NxBRE で静的リストを宣言して使用する正しい方法

NxBRE ルール エンジンを使用しており、リストに値があるかどうかを確認できる必要があります。ここに私が試すものがあります:

リスト要素の定義:

状態の確認:

ObjectLookup正常に動作しますが、セット全体の実行結果からわかるように、条件が真と評価されることはありません。

Inつまり、 ... valueId...idListを単なるEquals... leftId...に変更した場合rightId、チェックする ID を 1 つだけ残して (Element4たとえばValue4、 、これObjectLookupはここで正しく機能することを証明しています。

質問は次のとおりです。

  1. 私が間違っていること、つまり、同じテストで値が等しいことを知っているのに、なぜValue4trueInと評価されないのですか?

  2. もっと簡単な方法でできますか。つまり、要素を1つずつ指定してからリストを構築する代わりに、定数リストを指定して使用しますか?

  3. NxBRE に関する適切なドキュメントはありますか? そのような基本的な質問をする必要はありませんか?

0 投票する
1 に答える
291 参照

c# - NxBRE の実行時に NUnit ディレクトリが見つかりません

私は非常に初心者の開発者であることを最初に認めたいので、この質問に答えられるように、関連するすべての情報を提供するために最善を尽くしています。

そのため、エンジンでさらに作業を開始する前に、NxBRE の単体テストをいくつか実行しようとしています。NxBRE と NUnit (それぞれバージョン 3.2 と 2.6) の両方をダウンロードし、NUnit をテストして、ここに投稿できる簡単な例を使用して適切に動作することを確認しましたが、そうするのは適切ではないようです。重要なのは、この例で nunit.framework.dll を簡単に参照でき、テスト済みの属性がコンパイルされ、GUI がテストを完全に実行したことです。ちなみにSharpDevelopを使っています。

次に、2 つのプロジェクト (NxBRE と NxBRE-UnitTest) を持つ提供された NxBRE ソリューションを開き、Unit-Test プロジェクトの同じ参照を nunit.framework.dll に追加して、ソリューションのビルドを試みました。次のようなコンパイラ エラーが発生しました (関連するエラーのホストと共に)。

CS0246: 型または名前空間名 'nunit' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

まあ、どちらも欠けていないことはかなり確信していたので、参照を再確認しましたが、それは良いようでした(テスト例と同じように再追加したという点で)。アクセスされていたディレクトリに .dll を手動でコピーしました。NUnit 自体の問題ではないと思います。なぜなら、作成した例に戻っても問題なく動作したからです。

試してみるべきトラブルシューティングのアイデアやテクニックについて何か提案はありますか?

0 投票する
1 に答える
237 参照

c# - NxBREの単体テストの構成パスの設定

作業中のルールエンジンプロジェクトでの実装の参照を開始する前に、NxBREの単体テストを実行しようとしています。NxBRE3.2のテストにバージョンNUnit2.6を使用しています。NxBREには、NUnit.Frameworkを利用する独自のフレンドリーなプロジェクトフォルダーに独自の単体テストが付属しているため、ka-pooのすぐ外にあると思いました。すべてがコンパイルされたことを確認した後、私は先に進んでテストを実行しました...そして100万のエラーが発生しました。主に次の線に沿って:

NxBRE.Test.FlowEngine.TestBackwardChainer.CircularityDetection:セットアップ:System.IO.FileNotFoundException:ファイル'C:\car-loan-rules.xbre'が見つかりませんでした。

また:

NxBRE.Test.InferenceEngine.TestEngineCoreFeaturesRuleML091.TestEngineCoreFeaturesRuleML09.NxBREOperators:System.IO.FileNotFoundException:ファイル'C:\test-0_91.ruleml'が見つかりませんでした。

困惑して、私はNxBREのWebサイトにアクセスし、ユニットテストに関する情報を探しました。これが私が見つけたすべてでした:http ://sourceforge.net/apps/trac/nxbre/wiki/UnitTesting

これは、プロセスを具体的に説明していません。パスがテストルールベースの正しい場所を指すようにエンジンを構成するにはどうすればよいですか?これは私がNUnitでしなければならないことですか?または私のIDE(SharpDevelop)で?また、出力フォルダーがどこにあるかはわかっていますが、そこにコピーする必要があるDtdファイルまたはXmlファイルをどのように計算すればよいですか?これはおそらく私の経験不足を明らかにします、それはあなたたちの専門知識が大いに感謝されるところです。

0 投票する
1 に答える
285 参照

data-binding - xml スキーマのインスタンスを BRE にロードしてファクトとして参照する

それで、私は多くのルールエンジンソフトウェアを見てきましたが、私がやりたいことが1つあり、それは本当に不便であるか、ドキュメントを理解していないだけです(おそらく)。

基本的に、xml スキーマのインスタンスが、ファクト ベース、ルール ベース (可能性は低い)、または少なくともルール内の変数の値を置き換えることができる何らかのオブジェクトとして、ルール エンジンにアクセスできるようにしたいと考えています。賢明な比較のためのベース。私は特に NxBRE を検討していますが、どの BRE とも結婚していないので、別のソフトウェアでこれを達成したことがあるなら、それも受け入れます。

私の質問は、これは可能だと思いますか? 私が見たもののほとんどは、エンジンで使用されるルール/ファクト形式で情報をロードする必要があると述べています (この情報を任意の uri からロードできる方法について自慢していることがよくありますが、これは私には関係ありません)。エンジンによって読み取られる形式で、常に一意のスキーマに基づいて xml ファイルを一連の対応するファクトに変換できるソフトウェアはありますか? 私が求めていることが明確でない場合は、明確にすることができます。

0 投票する
1 に答える
223 参照

nxbre - NxBRE-フローエンジンによる日付検証

.xbreルールファイルの日付を比較する方法。

たとえば、次のルールがあります。

渡されたJoinDateに基づいて、日付範囲に基づいた文字列を取得する必要があります。上記のルールを実行すると、に記載されている日付leftIdが使用されrightIdますが、日付範囲は使用されません。

日付範囲/日付間のチェック方法は?

0 投票する
1 に答える
279 参照

nxbre - NxBRE - RULE 内の複数へのアクセス

Employee と Department という 2 つの .NET オブジェクトがあります。.xbre ファイルでは、以下のように条件を設定する必要があります。

Employee.EmpID が X で Department.DeptID が Y の場合、何かを行います。したがって、特定のルールでは、2 つのオブジェクト (従業員と部門) にアクセスし、条件を検証する必要があります。

を使用する<ObjectLookup>と、1 つのオブジェクトとフィールド (Employee.EmployeeIDまたはDepartment.DeptID) を渡すことができることがわかります。両方に一緒にアクセスできますか?