Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Hadoop and Prolog

I had a user recently ask if Prolog can reason over massive Hadoop or similar data stores. The answer is yes, with a little work:

I would prefer to avoid that solution (multiple Prolog engines) for the time being and just see how far I can push driving an enormous backside with a single prolog engine.

This can be played with very easily. I mentioned some internal features of Amzi!, but Amzi! already comes with a very powerful ability to create extended predicates outside of main engine.

One can build, in C++, or Java, or VB, a library of predicates callable from Prolog. They look like built-in predicates to the Prolog system. They are implemented as shared objects or DLLs and are linked with the core system at runtime.

For example, there is one delivered with the software for MySQL. It lets Prolog reason and interact with MySQL databases. It’s not a very big program, simply interfaces between the format required for a Prolog predicate and the MySQL calls that make it happen.

So one could almost copy that module, making changes to call Hadoop or ElasticSearch or whatever. If you know how to call Hadoop or ElasticSearch from Java, you can build this for Amzi! Prolog. (We had one customer doing workflow work that had Java interfaces as extended predicates going against their existing data structures, and reasoning about them going on in Prolog.)

--Dennis
Sign In or Register to comment.