データを解釈するためのルールベースのシステムを構築しようとしています。しかし、私はルールの保存と解釈のロジックを構築する方法を決定する際に問題を抱えています。PHP:Outlookスタイルのルールエンジン
現在、かなり複雑なデータベース構造がありますが、ルールデータを格納するすべての面を処理します。アイデアは、システムは、MS Outlookがユーザーにルールを追加させる方法を模倣できるということです。次のように
私の問題は、以下のとおりです。私は、オブジェクトの内部でこれらのルールを保存するために
- 何パターンを使用すべきですか?
- ルールを実行するためにeval()または適切なオブジェクトの向きを使用する必要がありますか?
そして例のルールは次のようになります。
犬エリアで、各要素(犬は、持っている必要がありますエリア内カラー公園
、襟を持っている必要があり、公園)は、解釈されるべき論理の別個の部分である。
上記の質問に対する一般的なアドバイスは大変ありがとうございます。
PrologはPHPから離れすぎている可能性がありますが、これは良い考えです。おそらく、First Order Logicの実装を提案できますか? – tombazza
「FOLの実装」とはどういう意味ですか?私の記事の最後のリンクは、基本的にあなた自身のFOL推論エンジンを実装する方法です。また、Cycプロジェクトをチェックしてみることもできます:http://www.opencyc.org/ – rmeador
はい、おそらく、誰かが既にこの論理プロセスを実装したものを作っていることを期待していました。少なくとも私は彼らがそれのコードベースを構築した方法を見直すことができます! – tombazza