17

あまり考えなくても、Prolog の機能の大部分はリレーショナル計算 (別名 SQL) として実装できるように思えます。

Prolog を SQL に自動的に変換するツールについて聞いたことがありますか?

4

6 に答える 6

34

はい、もちろん。

懐疑論者の前提: データベース理論に関するある程度まともな本は、Datalog (Prolog のようなもの) と、それを関係代数 (RA) との間で (特定の制限の下で) 変換できることを示す定理について言及しています。

SQL は RA や関係計算に忠実ではありませんが、Prolog をサポートするには十分です。

于 2009-11-05T18:12:27.550 に答える
4

推奨:

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の功績

于 2012-07-18T17:47:28.067 に答える
2

マッピングはあまり良くありません。たとえば、SQL は、バックトラック、統合、リスト、またはアドホックなネストされた構造を行いません。

Prolog は、複合オブジェクト、インデックスなどをうまく処理できません。

それは仕方のないことだと思います。

于 2009-04-07T06:56:02.523 に答える
1

プロローグからSQLクエリを実行する方が理にかなっています。これは、プロローグのファクトに変換できます。例: Prolog ODBC ライブラリ

これにより、すべての制限が取り除かれ、2 つの言語が適切な場所に分離されたままになります。

于 2011-06-06T13:13:38.907 に答える