問題タブ [rule-engine]

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 投票する
10 に答える
23960 参照

language-agnostic - どのルール エンジンを使用すればよいですか?

最良または最も人気のあるルール エンジンは? プログラミング言語が決まっていないので、ルール エンジンと、それがサポートするプログラミング言語を教えてください。

0 投票する
4 に答える
8371 参照

.net - ルールを書くためのまともなインターフェースを備えたオープンソースルールエンジン

ルールを構築するための適切なインターフェイスを備えたオープンソースのビジネスルールエンジンを見つけようとしています。

または、.Netプラットフォームで正常に動作し、過去12か月間に更新されたものが少なくとも1つあります。

ありがとう、

0 投票する
7 に答える
21936 参照

c# - C# ベースのルール言語の例?

C# で記述されたルール定義言語の良い例を教えてください。
Java の連中はJESSを持っていますが、C# に適したものはありますか?

0 投票する
7 に答える
31579 参照

c# - ルールエンジンの設計方法

C# で単純なルール エンジンを作成することになっています。私がどのように進めることができるかについての手がかりはありますか?. これは最小限のルール エンジンであり、SQL サーバーをバックエンドとして使用します。ルール エンジンに一般的に適用される一般的な設計図や設計パターンはありますか? 設計に使用できる .Net テクノロジの種類は? どんな指示も役に立ちます。ありがとう。

0 投票する
11 に答える
3567 参照

rule-engine - ルールエンジンを組み込んだシステムが本当に成功したことがありますか?

私たちのシステム (エキゾチックな商品デリバティブ取引のキャプチャとリスク管理) は、まもなく再開発されます。私が聞いた提案の 1 つは、ルール エンジンを組み込んで、エンド ユーザー (非常に洗練されたコモディティ トレーダー) がビジネス ロジックに特定の変更を加えやすくするというものです。

私はルールエンジンに少し懐疑的です。私のアジリストは、プロセスの問題に対する技術的な解決策にすぎないのではないかと考えています... つまり。開発者がビジネスの変化の必要性に対応するには時間がかかりすぎます。この問題の解決策は、開発へのより協調的なアプローチ、より優れたテスト カバレッジ、よりアジャイルなプラクティスである必要があります。

ルール エンジンが真に恩恵をもたらす状況 (特に取引環境で) について聞くことは、確かに役立つでしょう。

0 投票する
15 に答える
49418 参照

c# - 簡単なルールを探しています-.NETのエンジンライブラリ

優れた.NETライブラリルールライブラリ(理想的にはオープンソース)を知っている人はいますか?ネストされた論理式を実行できるものが必要です。たとえば、(A AND B)AND(B OR C OR D)です。オブジェクトのプロパティを比較する必要があります(例:A.P1とB.P1)。(理想的には、任意のプロパティ(A.P1とB.P2)を比較できます)。

ルールをデータベースに保存する必要があります(単純な構成可能なロジックがたくさんあります)。また、ルール作成/管理APIが必要です。管理ツールは、インスタンスを検査して、使用可能なプロパティと存在する制約を判別する必要があります。

ありがとう!


ああ、もう一つ。ルールエンジンとして、アクション(コマンド)の概念を含める必要があります。これらは、式が返されるときに実行されるものです。

したがって、ルールは次のようになります。

0 投票する
4 に答える
2298 参照

c# - ブール論理ルール エバリュエーター

私は本質的に調査を示しています。人々はテストのように質問に答えます。さまざまなパスがあります。これまでのところ非常に簡単ですが、より動的にしたかったので、一般的なルールを持つことができますすべてのパスを使用したテスト用です。評価者が作業しやすくするために、現在は AND のみを許可し、各 OR は基本的にセット内の別のルールになります。

QuestionID の場合、次のように一連の AND ルールを作成します

p>

このルール 1 は、質問 123 と 124 が true で、127 と 128 が false である場合に合格することを示しています。OR (ルール 2) は、123 と 125 が true で 127 が false の場合、それらも合格です。組み合わせが多いと面倒なので、ロジックにORを実装したいのですが、この問題に対する最善のアプローチが何であるかわかりません。

ルール エンジンは複雑すぎると思います。もっと簡単な方法があるはずです。たとえば、LINQ のようにグラフを作成してから、それらが成功するかどうかを評価します。

ありがとう!

-- コンプシ専攻ではありません。

0 投票する
12 に答える
40237 参照

rule-engine - ルールエンジン-長所と短所

ルールエンジンと呼ばれるものを使用するプロジェクトを監査しています。つまり、アプリケーションコードからビジネスロジックを外部化する方法です。

この概念は私にとってまったく新しいものであり、私はそれについてかなり懐疑的です。過去数年間、人々が貧血ドメインモデルについて話しているのを聞いた後、私はルールエンジンアプローチに疑問を投げかけています。私には、それらはドメインモデルを弱めるための素晴らしい方法のように思えます。たとえば、RulesEngineと対話するJavaWebアプリケーションを実行しているとします。次に、同じドメインに基づくAndroidアプリが必要だと判断しました。AndroidアプリがRulesEngineとも相互作用するようにしたい場合を除いて、すでに作成されているビジネスロジックを見逃す必要があります。

私はまだそれらの経験がないので、好奇心だけで、ルールエンジンを使用することの長所と短所について聞いて興味がありましたか?私が考えることができる唯一の利点は、ビジネスルールを変更するためだけにアプリケーション全体を再構築する必要がないということです(しかし、実際には、どれだけのアプリが実際にその数の変更を持っていますか?)。しかし、ルールエンジンを使用してその問題を解決することは、ショットガンの傷にバンドエイドをかけるようなものです。

更新-これを書いた後、神自身、マーティン・ファウラーは、ルールエンジンの使用についてブログに書いています。

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

nlp - 「英語」へのきれいな印刷ルールの良い例を誰かに教えてもらえますか

ユーザーがルール エンジンを使用して構築した AST に相当するものがあります。しかし、ルールのリストを表示するときは、各ルールを見栄えのするものに「きれいに印刷」できるようにしたいと考えています**。内部的には、文字列として表されると、s 式のように見えるので、次のようなものを想像してください。

ルールを読みやすく表示するのに優れたプログラムを誰か教えてもらえますか?

** ローカライズも必要ですが、それは追加の功績のために残しておくことにします。

0 投票する
3 に答える
933 参照

php - 拡張可能なルールベースのアクセスパターン

静的WebリソースへのアクセスをPHPロジックで制御しています。Webサーバーを介したディレクトリベースの認証は適切ではないか、簡単に実行できないためです。

物事の組み合わせにより、アクセスを許可するか拒否するかが決まります。そして、これらのルールは時々変更されます。

最初は、単純な正規表現パスの一致と、1つのセッション変数のチェックでした。関係する変数がさらにいくつかあるため、現在はより複雑になっています。

ルールをすばやく簡単に変更できるように、これをリファクタリングする方法を考えています。それが単純だったとき「これとこれがあれば、それから配達し、そうでなければ403」。ストレートPHPでそれを行うのは問題ありませんでした。現在、条件はより複雑になっており、それぞれに共通しているがわずかに異なる条件が含まれる2つのレベルのネストがあります。これはすべてリファクタリングするのに十分簡単ですが、最も直感的で更新するのは簡単ではありません。

私は2つのことのうちの1つを考えています。

  1. トップレベルの条件ごとにクラスを確立し、ストラテジーファクトリーを使用して適切なものを選択します。共通ビットを含む基本クラスからそれらすべてを導出し、必要なものは何でもオーバーロードします。条件が変わると、これでもシャッフルが発生しやすいと思います。

  2. ファイアウォールルールのような順序付けられたルールの2次元配列を繰り返す単純なエンジンを作成します。何かのようなもの:<allow|deny>, <auth_group>, <path_regex>, <other vars>

これについては十分に考えていませんが、更新したり、人間として読んだりする方が簡単なようです。

あなたならどうしますか?これに使用できる確立されたパターンまたはライブラリはありますか?

私はしばらく前に別のアプリでこの同様の問題に直面しました。いくつかのレベルの条件に基づいて、ルールと結果を連鎖させる簡単な更新方法が必要な場合。これはそのアプリほど複雑ではありませんが、この種の問題を解決するために人々が使用するパターンについて聞いてみたいと思います。