問題タブ [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 に答える
8271 参照

java - Windows で JPL (双方向 Java/Prolog インターフェイス) を使用するには?

Prolog インタープリターを Java に埋め込むことに興味があります。1 つのオプションはJPLを使用することですが、JPL サイトのダウンロード リンクが壊れており、インストール ページに見つからない jpl.zip が記載されています。JPL が含まれていると思われる SWI-Prolog をダウンロードしました (インストール時にコンポーネントとしてリストされます) が、Java と一緒にどのように使用するかはまだわかりません。

WindowsでJPLを使用する方法に関するアイデアはありますか? 同じことを達成するために使用できる別のライブラリはありますか? いくつか出くわしましたが、それらは JPL ほど安定していないようです。

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

java - jplでリスト関数を呼び出す

誰かが「リスト」をなんとか使ったのだろうかと思っていました。Prologナレッジベースの内容を調べるためのJPLのコマンド?JPLでは、クエリを作成する必要があり、クエリで設定した変数に基づいてソリューションが返されます。例(Java):

これがlisting/0、またはインスタンス化された入力を必要とするlisting/1でどのように機能するかわかりません。現在、私はフォームのコードで遊んでいます

これは、ナレッジベースに存在する関数を返します。

答え:

しかし、どのゴールも返されないので、それだけでは十分ではありません。私が必要としているのは(JPLを使用してリスト関数を呼び出せない場合)、満たす必要のある関連する目標のリストとともに述語ヘッドを変数として返す関数だと思います。残念ながら、私はリスト関数の内部に精通していないので、これを行う方法がわかりません。

前もって感謝します

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

java - Java UI を JPL Prolog アプリケーションに接続するにはどうすればよいですか?

SWI-Prologが提供するJPLを使用して Javaから Prolog を呼び出すアプリケーションを Java で作成しています。

IDEとしてEclipseを使用しています。オンラインで見つけたこの例を開始する方法がわかりません:

ここにJavaコード:

Prolog プログラムを Prolog から直接実行すると、問題なく動作し、Java アプリケーションから呼び出す場合も同じです。

出力は Eclipse コンソールにも表示され、質問に答えることができます。

しかし、ユーザーとシステム間の対話用に Java UI を構築したいのですが、Java で Prolog からコードを取得して UI に配置する方法がわかりません。

たとえば、Java UI からの入力をキャプチャして、これを Prolog コードに渡すにはどうすればよいでしょうか?

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

java - JPLを介してJavaアプリ内で実行されるPrologコードでGUIデバッガーを使用するにはどうすればよいですか?

私はJPLブリッジを介してJava+Prologアプリケーションを開発しています。メインアプリケーションはJavaであり、を使用してPrologコードを呼び出しますQuery.oneSolution("doPrologStuff(here)")

を使用してGUIデバッガー/トレーサーを実行しようとしましQuery.hasSolution("gtrace")たが、例外がスローされます。

(「guitracer」も同様です)

Prologコードを直接実行すると、呼び出しgtrace.はうまく機能します。swipl

試しQuery.hasSolution("trace")てみると、テキストコンソールを使用してコードをデバッグできますが、それは私が探しているものではありません。GUIデバッガーを有効にする方法はありますか?

私はUbuntuでEclipseを使用して開発していますが、それが役立つ場合は他のツールを試すことができます:)

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

java - Ubuntu11.04でJPLを使用して「シンボル検索エラー」を解決するには?

Java でプログラムをコーディングしていて、Prolog に接続したいと考えています。したがって、JPLを使用することにしました。Windows Vista で JPL を使用するのは完璧です。その後、OS プラットフォームを Ubuntu 11.04 に変更する必要があります。残念ながら、エラーがあります:

シンボル検索エラー: /usr/lib/swi-prolog/lib/i386/libjpl.so: 未定義のシンボル: PL_is_initialized

環境:

  1. Ubuntu 11.04
  2. Java バージョン 1.6.0_24
  3. Eclipse ガリレオ バージョン: 3.5.2
  4. i386 用の SWI-Prolog バージョン 5.10.1
  5. Jpl (apt-get install swi-prolog-java)
  6. Family.java + family.pl

作業の手順と問題点を以下に説明します。step1: Synaptic Package Manager を使用して swi-prolog + jpl をインストールする Swi-prolog インストール

step2: Family.java を実行し、エラーを発見 JPLが見つかりませんエラー

step3: VMarguments でライブラリ パスを構成するVMarguments の設定 step4: 再度実行すると、エラーが発生します /usr/lib/jvm/java-6-sun-1.6.0.24/bin/java: symbol lookup error: /usr/lib/swi-prolog /lib/i386/libjpl.so: 未定義のシンボル: PL_is_initialized step5: 環境も構成しますが、エラーは同じです。 環境引数を設定する

ステップ3と5のように問題を解決するために使用した方法は、インターネットから検索しました。試してみるべき他の解決策が見つかりません。誰にもアイデアはありますか?
前もって感謝します。

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

java - OS X で JPL および YAP Prolog を使用しようとすると例外がスローされる

Java プログラムと YAP Prolog の相互作用に JPL を使用しようとしています。

私のJavaファイルでは、次の行が例外をスローしています:

Query query = new Query("consult", new Term[] { new Atom("test.pl") });

例外を以下に示します。

YAP で同じ問題を報告している人は見つかりませんでしたが、SWI でこの問題を抱えている人もいました。彼らは、SWI がマルチスレッドをサポートしてコンパイルされていることを確認するように勧められました。念のため、マルチスレッドをサポートする YAP をコンパイルしましたが、役に立ちませんでした。

この問題は OS X でのみ発生しています。Ubuntu で試したところ、すべて正常に動作しました。

OS X でのこの問題の回避策を知っている人はいますか?

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

java - Eclipse と Java (および JUNG) で SWI-Prolog を使用する: ProDT、PDT、またはその両方を使用する必要がありますか?

SWI-Prolog、Eclipse、および Java を一緒に使用したいのですが、相互に関連する 2 つの問題があります。

  1. ProDTPDT、またはその両方を組み合わせて使用​​する必要があるかどうかはわかりません。

  2. PDT は、「Java コードが SWI-Prolog と対話できるようにするサブシステム」が含まれていると述べています。これだけで十分なのか、それともInterPrologJPL、またはこれら 3 つの組み合わせを使用する必要があるのか​​はわかりません。

バックグラウンド

データ型にJUNGを使用する既存の Java コード ベースと対話したいので、Java オブジェクトの階層にきちんと適合することが役立つ場合があります。(ツリーやグラフなどの JUNG オブジェクトを自分のドメインとして制約を適用したいと考えていますが、必要に応じて遠回しに、つまり、JUNG オブジェクトを SWI の利用可能な制約モードでより管理しやすいデータ型にマッピングすることによって、喜んでこれを行います。 )

PC と MAC にデプロイしたいのですが、SWI 用のCHRrp パッケージも試してみたいと思っています。

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

prolog - プロローグ リスト用語へのアクセス

javaからプロローグを呼び出すためにjplを使用しています。プロローグから X の値を取得するために、Java で次のコードを使用しています。

そして私の解決策は--

私が今やりたかったのは、解から値 2 を取得し、その数を 2 倍にすることです。誰かがそれを処理する方法を手伝ってくれますか?

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

java - Javaでプロローグリストを処理する方法

私はjplを使ってjavaとprologを接続しています。Java でプロローグ リストを処理しようとしています。私のプロローグコードを実行すると、次のようなリストが返されます

今、私は次のコードを使用してJavaでこの出力を処理しようとしています

これを実行すると、クエリの最初のソリューションが得られます。

そして、「38」であるリストの最初の要素を出力できます

同じように、リストのすべての要素を処理できません。これを行うのを手伝ってください。

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

java - Eclipse プラグインでのサード・パーティー JNI ライブラリーのコンソール出力の表示

Java から Prolog と対話するための JNI ライブラリーである JPL を使用しています。私のアプリケーションでは、Prolog エンジンが生成する出力を確認することが重要です (たとえば、Prolog ファイルのロード時、単体テストの実行時など)。これは、スタンドアロンの Java アプリケーションでライブラリを使用すると発生します。

しかし、アプリケーションを Eclipse プラグインとしてパックすると、JPL によって生成された出力が表示されなくなります (このような出力は Prolog エンジンからのものです)。

Eclipse コンソールでこの出力を表示する方法があるかどうか誰かが知っていますか?

前もって感謝します。