This class allows queries to prolog.
A query can be created by a string or by constructing compound terms see Constructors for details.
All resources an terms created by a query are reclaimed by Dispose()()()(). It is recommended to build a query in a using scope.
There are four possible opportunities to query Prolog
Query type | Description |
---|---|
A static call |
To ask prolog for a proof. Return only true or false. |
A PlCallQuery(String) |
To get the first result of a goal |
Construct a PlQuery object by a string. |
The most convenient way. |
Construct a PlQuery object by compound terms. |
The most flexible and fast (runtime) way. |
For examples see PlQuery(String) and PlQuery(String, PlTermV)

C# | Visual Basic | Visual C++ |
public class PlQuery : IDisposable
Public Class PlQuery _ Implements IDisposable
public ref class PlQuery : IDisposable

All Members | Constructors | Methods | Properties | ||
|
|
|
Icon | Member | Description |
---|---|---|
![]() |
PlQuery(String) |
With this constructor a query is created from a string. Uppercase parameters are interpreted a variables but can't be nested in sub terms. If you need a variable in a nested term use PlQuery(String, PlTermV). See the examples for details. |
![]() |
PlQuery(String, String) |
locating the predicate in the named module.
|
![]() |
PlQuery(String, PlTermV) |
Create a query where name defines the name of the predicate and av the argument vector.
The arity is deduced from av. The predicate is located in the Prolog module user.
|
![]() |
PlQuery(String, String, PlTermV) |
locating the predicate in the named module.
|
![]() |
Args |
Provide access to the Argument vector for the query
|
![]() |
Dispose()()()() |
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
|
![]() |
Dispose(Boolean) |
Release all resources from the query
|
![]() |
Equals(Object) | (Inherited from Object.) |
![]() |
Finalize()()()() |
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
(Overrides Object.Finalize()()()().) |
![]() |
GetHashCode()()()() |
Serves as a hash function for a particular type.
(Inherited from Object.) |
![]() |
GetType()()()() |
Gets the Type of the current instance.
(Inherited from Object.) |
![]() |
MemberwiseClone()()()() |
Creates a shallow copy of the current Object.
(Inherited from Object.) |
![]() |
NextSolution()()()() |
Provide the next solution to the query. Prolog exceptions are mapped to C# exceptions.
|
![]() ![]() |
PlCall(String, PlTermV) |
Create a query where name defines the name of the predicate and av the argument vector.
The arity is deduced from av. The predicate is located in the Prolog module user.
|
![]() ![]() |
PlCall(String, String, PlTermV) |
As PlCall(String, PlTermV) but locating the predicate in the named module.
|
![]() ![]() |
PlCall(String) |
Call a goal once.
|
![]() ![]() |
PlCallQuery(String) |
NOTE:will be changed in the near future. return the solution of a query which is called once by call Throw an ArgumentException if there is no or more than one variable in the goal |
![]() ![]() |
PlCallQuery(String, String) |
As PlCallQuery(String) but executed in the named module.
|
![]() ![]() |
Query(PlQuerySwitch) |
Obtain status information on the Prolog system. The actual argument type depends on the information required. The parameter queryType describes what information is wanted. Returning pointers and integers as a long is bad style. The signature of this function should be changed. PlQuerySwitch |
![]() |
Solutions |
Enumerate the solutions. For examples see PlQuery(String) |
![]() |
SolutionVariables |
Enumerate the PlQueryVariables of one solution. |
![]() |
ToList()()()() |
Create a ReadOnlyCollection<(Of <(<'T>)>)> of PlQueryVariables. If calling ToList() all solutions of the query are generated and stored in the Collection. |
![]() |
ToString()()()() | (Inherited from Object.) |
![]() |
VariableNames |
Gets a Collection<(Of <(<'T>)>)> of the variable names if the query was built by a string.
|
![]() |
Variables |
The List of PlQueryVariables of this PlQuery.
|

The query will be opened by NextSolution()()()() and will be closed if NextSolution() return false.

Object | |
![]() |
PlQuery |