Without any hesitation I would recommend the Ivan Bratko book, it is so densely filled with knowledge. Prolog is vastly different from other programming systems and some of the concepts take a bit of exposition before they sink in, and this book very much strives to explain quite a lot of mysterious things.
Prolog Programming for Artificial Intelligence by Ivan Bratko.
Just want to put a very strong second on this recommendation. Three chapters in I knew enough to prototype something for work that reduced a mess of C++ to a couple pages of rules.
Prolog Programming for Artificial Intelligence by Ivan Bratko.