私は論理プログラミングに慣れていないし、ルールとクエリの違いを理解するのが難しいと思っています。これを明確にするための助けがあれば幸いです。Prologのルールとクエリの違いは何ですか?
3
A
答えて
3
構文上、ほとんど同じです。 「p(1).
」は、どこに配置するかによって、ルールまたはクエリのいずれかになります。
意味的には、そうではありません。
"p(1).
"は原則としてPrologに "p(1)
が本当である"と伝えます。
"p(1).
"クエリとしてプロローグは "p(1)
本当ですか?"
0
クエリは、証明することを求めているステートメントです(これを実行する過程で変数をインスタンス化することができます。これはサーバーを "出力"として使用できます)。その証拠を開発するために使用される「プログラム」がルールで構成されています。それはPrologのプログラムに表示される
2
ルールは
foo(X) :- bar(X), baz(X).
などの定義です。
クエリは、上記のような定義の右側にあります。つまり、(bar(X), baz(X))
です。プログラムを実行するにはプロローグインタプリタのプロンプトで入力するものです。
0
あなたの直感は正しいです:彼らはどちらもホーン句のバリエーションです。ホーン句の基本的な構造は次のとおりです:
head(...) :- body.
身体のない頭部がある場合、あなたは事実を持っています。両方をお持ちの場合は、述語があります。あなたが身体だけを持っているなら、あなたには質問があります。
+1
いいえ、両方の場合、ルールがあります。述語定義は一連の規則です。 –
関連する問題
- 1. ルールとWebpackのローダー - 違いは何ですか?いくつかのWebPACK例で
- 2. SSRSではTablixフィルタとクエリ句の違いは何ですか
- 3. MathematicaのルールとGraphEditから返されるオブジェクトの違いは何ですか?
- 4. プロローグは、Prologのルールでは、変数
- 5. GAE Search APIとDatastoreのクエリの違いは何ですか?
- 6. SOLRのフィルタと複雑なクエリの違いは何ですか?
- 7. Elasticsearch GeoShapeクエリでCONTAINSとWITHINの違いは何ですか?
- 8. URLパラメータとクエリ文字列の違いは何ですか?
- 9. Prologとは何が可能ですか?
- 10. Prologのルール依存グラフ
- 11. EclipseのPrologプロジェクトとProlog参照プロジェクトの違い
- 12. Prologのカットとクエリは、プロローグプログラムで
- 13. これらの2つのクエリの違いは何ですか
- 14. このクエリの違いは何ですか?
- 15. 2つのクエリの違いは何ですか?
- 16. これらのクエリの違いは何ですか?
- 17. 2つのSQLクエリの違いは何ですか?
- 18. 2つのSQLクエリの違いは何ですか?
- 19. $と$$の違いは何ですか?
- 20. `##`と `hashCode`の違いは何ですか?
- 21. typedefとの違いは何ですか?
- 22. NodeJS:「./ ..」と「..」の違いは何ですか?
- 23. {}())と{})の違いは何ですか?
- 24. `&`と `ref`の違いは何ですか?
- 25. `==`と `is`の違いは何ですか?
- 26. difftimeと ' - 'の違いは何ですか?
- 27. #{} $ {}と%{}の違いは何ですか?
- 28. ⊕と+の違いは何ですか?
- 29. アペンダーと〜の違いは何ですか?
- 30. "./"と "../"の違いは何ですか?
私たちはインタプリタで同じことを質問していませんか? 'foo(X)'のように? – n00b
これは、相談(つまり、[ユーザ])とプロンプトとの区別です。クエリ・プロンプトは述語の本体と同じように動作します。そのため、ファクトと述語をデータベースに追加するためにファイルを参照する必要があります。 –