問題タブ [jpl]

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

prolog - 「構成: エラー: Java インクルード ファイルが見つかりません」を修正するには?

jpl (A Java Interface to Prolog) をインストールするには、「make」と入力すると表示されます

修正方法は?

ありがとう〜

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

ubuntu - Ubuntu 11.10 64 ビットで Prolog-JPL をコンパイルしますか?

ここで説明されているように、prolog-JPL をコンパイルしようとしています: https://code.google.com/p/javanaproche/wiki/HowToJPL

残念ながら、エラーで終了します:

Prolog コードの問題について不平を言っているようですが、64 ビットではなく 32 ビットの別のマシンで問題なくコンパイルできました。

更新: フォルダーを削除し、再ダウンロードしてコンパイルしようとすると、別のエラーが発生します。ライブラリがインストールされているかどうかを確認せず、それが原因で失敗した場合でしょうか?

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

java - JPLを使用してJavaからPrologエンジンを再起動する

JPL を使用して Prolog と対話する 1 つの Java アプリケーションで、異なる設定で Prolog エンジンを再起動できるようにしたいと考えています。例として、SWI から YAP に変更したいと思います (使用するJPL.setNativeLibraryDir必要がある適切なネイティブ ライブラリのパスを持つメソッドで、これを使用するエンジンを構成します)。

そのため、JPL 構成を変更した後、既に実行中のプロローグ エンジンを停止して、後で再起動しようとしましたJPL.init()

最初に を調べましJPL.halt()たが、ドキュメントには非推奨であり、メソッドのソース コードのコメントにはノーオペレーションであると記載されています。

その後、'halt' でクエリを起動しようとしましたが、コンソールに "YAP の実行が停止しました" と表示されますが、Java アプリケーションも停止しています (!)。

Java アプリケーションを強制終了せずに JPL を使用してロジック エンジンを再起動する方法はありますか?

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

java - Java EE Web アプリケーションでの JPL (Java + Prolog) の使用

特定の検索関連タスクのために、JPL を介して Prolog を必要とする Java EE Web アプリケーションを開発したいと考えています。Web アプリケーションは JBoss アプリケーション サーバーにデプロイされます。Prolog エンジンは、YAP または SWI のいずれかです (現時点で JPL と互換性のある唯一の Prolog エンジンです)。Prolog クエリは、(潜在的に大規模な) データベースに格納されている情報に依存します。

誰かがこれまたは似たようなことを試した場合、次の質問についてフィードバックをいただけますか?:

  • Prolog エンジンへのアクセスを必要とする同時 http セッションを管理する最良の方法は何ですか? 個別のセッションごとに独自の Prolog エンジンを割り当てることは可能ですか? このソリューションが機能する場合、「プロローグ エンジン プーリング」に似たものを実装して、プロローグ エンジンを新しいセッションにすばやく割り当てることは可能ですか? . または、すべてのクエリ要求を同期的に管理する単一の Prolog エンジンを用意するのが最善の解決策でしょうか? (そしてゆっくり)。
  • Prolog とデータベースの相互作用をどのように管理できますか? データベース内のデータが頻繁に変更され、Prolog がクエリを解決するためにこのデータを必要とする場合、Prolog エンジン内のファクトをデータベース内のデータと同期させるための最良の戦略は何ですか? データベースが大きくなると、新しいセッションごとにゼロから開始するという便利なオプション (たとえば、データベースからすべてのデータを Prolog ファクトとして再ロードする) は良い考えではないようです。
  • 実装中に java-prolog-database の相互作用に関連して予想されるその他の問題/問題はありますか?

前もって感謝します!

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

sql - JPL: javax.persistence.Query.setParameter sql-injection は安全ですか?

setParameterによって設定されたjplパラメータをsql-injectできますか? つまり、次のようなものがあればできることはわかっています。

このようなもので同様のことを行うことはできますか?:

0 投票する
2 に答える
4257 参照

java - JPL を使用した Prolog 変数のクエリ

JPL を介して Java で Prolog を使用するためのクエリを作成したいので、ドキュメントを読みます (http://www.swi-prolog.org/packages/jpl/java_api/getting_started.html)。プロローグの述語は次のとおりです。

私のコードは次のようになります

プロローグの述語によると、私の Java コードは「mary」と「steve」を取得する必要がありますが、次のようになります。

私が間違っていることは何ですか?前もって感謝します

編集:これは私のテスト全体です

そして、これが結果として私のJavaコンソールに表示されるものです

0 投票する
0 に答える
586 参照

java - Prolog と Java での述語のクエリ

JPL を介して Java で Prolog を使用するためのクエリを作成したい、Java で次のような述語を呼び出したい:

次のように「predicate_test」を呼び出すクエリをJavaで作成します。

このメッセージは catch ブロックから取得します

私のアプローチの何が問題になっていますか?

前もって感謝します

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

java - JPLを介したSWI-PrologからのERRORおよびWARNINGメッセージの取得

JPLを使用しているときに、エラーメッセージと警告メッセージを取得するのに問題があります。たとえば、存在しないファイルをSWI-Prologから直接参照しようとすると、次の出力が生成されます。

ただし、JPLを介してこのクエリを実行すると、例外はスローされず、QueryクラスのhasMoreSolutions()メソッドはtrueを返します。

エラーが発生し、NonExistingFile.plの参照が実際に失敗したことをどのように検出できますか?同じ質問が、述語の実行が失敗する原因とならない警告メッセージの取得にも当てはまります。

編集:説明されている状況は、6.0.2までのSWI-PrologバージョンでJPLを使用している場合に発生します

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

java - JPL 出力を Java の文字列に取得する

私は JPL を介して Java で Prolog を使用しています。フォーマット述語を持ついくつかの述語があります。

Java で JPL を使用すると、フォーマットの出力が Java のコンソール出力に送られます。この結果を Java の文字列変数に取得するにはどうすればよいですか?

前もって感謝します

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

java - JPL/SWIプロローグ構成の失敗

私は今JPLを設定していて、Javaを使用してswi-prologを操作したいと思っています。

SWI-Prologの最新の安定バージョンである6.2.0をダウンロードし、D:\swiplにインストールしました。

まず、次のパスをPATH virableに追加しました:D:\ swipl \ bin。これには、必要なすべてのdllファイルが含まれている必要があります。

次に、次のパスをCLASSPATH virableに追加しました:D:swipl \ lib\jpl.jar。これは必要なjarファイルである必要があります。

提供されているバージョンの例を実行しようとすると、次のエラーが発生しました。

オンラインで検索したところ、ここで発生するエラーではなくjava.lang.UnsatisfiedLinkError: no jpl in java.library.path、変数の設定が原因で多くの人が取得していることがわかりました(はい、行の最後に「I」があります)。PATHjava.lang.UnsatisfiedLinkError: jpl.fli.Prolog.thread_self()I

誰かが以前にこのエラーを受け取ったことがありますか?以前のバージョンのSWI-Prologをいくつか試しましたが、他の種類のエラーも発生しました。Java開発にEclipseIDEを使用しています-何か見逃したことはありますか?