あまり考えなくても、Prolog の機能の大部分はリレーショナル計算 (別名 SQL) として実装できるように思えます。
Prolog を SQL に自動的に変換するツールについて聞いたことがありますか?
あまり考えなくても、Prolog の機能の大部分はリレーショナル計算 (別名 SQL) として実装できるように思えます。
Prolog を SQL に自動的に変換するツールについて聞いたことがありますか?
はい、もちろん。
懐疑論者の前提: データベース理論に関するある程度まともな本は、Datalog (Prolog のようなもの) と、それを関係代数 (RA) との間で (特定の制限の下で) 変換できることを示す定理について言及しています。
SQL は RA や関係計算に忠実ではありませんが、Prolog をサポートするには十分です。
推奨:
https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/code/io/pl2sql/0.html
私のアドバイス - Eclipse プロローグ (http://www.eclipseclp.org/) を使用してください ((ここでは) Eclipse IDE のプロローグと混同しないでください)。
コードを他の 4 つのプロローグ (!) でコンパイルするのに何時間も費やし、Eclipse でコンパイルするのに 4 分かかりました。
それが機能するとき、それは美しいものです。
もちろんHerr Draxlerの功績
マッピングはあまり良くありません。たとえば、SQL は、バックトラック、統合、リスト、またはアドホックなネストされた構造を行いません。
Prolog は、複合オブジェクト、インデックスなどをうまく処理できません。
それは仕方のないことだと思います。
プロローグからSQLクエリを実行する方が理にかなっています。これは、プロローグのファクトに変換できます。例: Prolog ODBC ライブラリ
これにより、すべての制限が取り除かれ、2 つの言語が適切な場所に分離されたままになります。