I’m using: SWI-Prolog version 8.0.2
I have Pengines up and running successfully. If I point to the Pengines URL in my browser, the main page loads fine. I can then link to the Genealogist app and successfully run queries there.
However, if I try to execute a call from an SWI-Prolog interpreter window, it tells me that it can’t find the genealogist app:
pengine_rpc('http://localhost:3030', ancestor_descendant(X, Y), [ application(genealogist) ]).
I also tried prepending the app name to the query:
pengine_rpc('http://localhost:3030', genealogist:ancestor_descendant(X, Y), [ application(genealogist) ]).
But I still get an existence error.
Can anyone tell me why it works from the browser but not from the interpreter?
NOTE: I tried the test again on my Linux box where things seem to work better but in this case they did not. When I execute a ancestor_descendant(X, Y)
call on that box, the same call that works from a browser, I get the following error:
?- pengine_rpc('http://localhost:3030', ancestor_descendant(X, Y), [
| application(genealogist)
| ]).
ERROR: procedure `'c3e42777-26f7-4dcf-b9a2-4276f540f998':ancestor_descendant(A,B)' does not exist
^ Exception: (9) setup_call_catcher_cleanup('<garbage_collected>', pengines:wait_event(v(_6, _8), destroy(true), [listen('c3e42777-26f7-4dcf-b9a2-4276f540f998'), timeout(300), application(genealogist)]), _138, pengines:pengine_destroy_and_wait(destroy(true), 'c3e42777-26f7-4dcf-b9a2-4276f540f998', _138)) ?