Swi-cs-pl - A CSharp class library to connect .NET languages with SWI-Prolog
PlQuery Constructor (module, name, termV)
SwiPlCs interface ► SbsSW.SwiPlCs ► PlQuery ► PlQuery(String, String, PlTermV)
locating the predicate in the named module.


This sample shows a query with a compound term as an argument.

public void PlCallQueryCompound_termv() { string[] mm = { "aa1", "aa2", "aa3" }; build_pred(); // create: test(comp(X,Y)) :- member(Z,[1,2,3]), atomic_list_concat([X,Z],Y). PlTerm var1 = PlTerm.PlVar(); PlTerm comp = PlTerm.PlCompound("comp", new PlTerm("aa"), var1); using (PlQuery q = new PlQuery("test", new PlTermV(comp))) { int i = 0; foreach (PlTermV s in q.Solutions) { Assert.AreEqual(mm[i++].ToString(), var1.ToString()); Assert.AreEqual(comp.ToString(), s[0].ToString()); } } }