drools の外部にあるオントロジーを使用して、巨大なファクト モデルを生成する必要があります。これで、これを実現するためのスクリプト/プログラムを確実に作成できます。私のアプローチは、オントロジーの関係 (おそらくマップ内) に基づいて、適切なフィールド、メソッド、および他の Java オブジェクトへの参照を含むオントロジー クラスごとに Java Bean を生成することです。私の質問は、よだれがこの問題にアプローチするためのよりエレガントな方法があるかどうかです。ファクト モデルが drools の外部で利用可能なリソースから派生可能であることはよくある問題だと思います。したがって、drools(または guvnor) には、構造化された入力が与えられたファクト モデルを生成する組み込みの方法があるのではないかと考えています。
次のスレッドでいくつかの議論を見つけました: http://drools.46999.n3.nabble.com/rules-users-Using-an-OWL-Ontology-in-drools-advice-td3724566.html
残念ながら、私はこの会話をあまり理解できませんでした。
アップデート:
@alikok によってリンクされた特性の記事は非常に役に立ちます。少なくとも、オントロジーが適合するフレームワークを提供します。要約すると、オントロジーを Java Bean クラス モデルに適合させる際の大きな問題の 1 つは、Java が多重継承を行わないことです。ほとんどすべてのオントロジーがこれを必要とし、私のものも例外ではありません。トレイトはこれをプロキシ クラスで解決しますが、drl ファイルで新しい「トレイト」を定義できるようにすることで、すべてバックグラウンドで実行します。
オントロジーをファクト モデルに変換するという問題がまだ残っています。これがこの投稿の主な問題 (ファクト モデルをプログラムで生成する) であるため、まだ回答済みであることを確認したくありません。上記のようなカスタム プログラムを使用してコンパイル時に実行できます。実行時に行うこともできますが、私のユースケースではコンパイル時間の方がはるかに優れています。ただし、誰かがすでにこの問題に取り組んでおり、彼らが使用したアプローチについていくつかの洞察を提供できることを願っています.