Skip to content

More Tutorial Info Needed #90

@Enhitech

Description

@Enhitech

Hi. I'm using JPL to operate a knowledge base dynamically. However I cannot find any resources that tells me how to do that.

For example, I can use the following code to create a new fact and append it to KB:

Atom a = new Atom("a");
Atom b = new Atom("b");
Compound p = new Compound("parent", new Term[]{a, b});
Query q = new Query(new Compound("assertz", new Term[]{p}));
q.hasSolution();q1.close();

which is the Java version of the following command in swipl:

assertz(parent(a, b)).

But I cannot find a way to add the following rules to KB:

assertz((ancestor(X, Y) :- parent(X, Y))).
assertz((ancestor(X, Y) :- parent(X, Z), ancestor(Z, Y))).

Moreover, I cannot create the following query:

?- parent(X, Y), parent(Y, Z).

which is simply answered in the terminal version of swipl.

Is there any way to achieve these purposes? If so, please add such methods in tutorial pages. 👍

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions