Another way of getting stuff done would be to use another programming language with its standard library (with regex, networking, json, ...) and embed or call Prolog code for the pure logic stuff.
http://www.covingtoninnovations.com/books/PPID.pdf
It doesn't shy away from explicitly discussing how one goes about expressing various procedural/imperative constructs in a declarative manner.
Yes, pick any book and work through it from page 1 to the end. Preferable 3! Read and pour through the manuals for whatever interpreter & compiler you use. Be warned, Prolog will ruin you, you shall be able to slay dragons and at the same time you most likely will not enjoy programming in "modern languages" anymore.
(Intro/Novice)
Learn Prolog Now (free on the web)
Adventure in Prolog(free on the web)
Logic Programming with Prolog
(Intermediate) The Practice of Prolog
Prolog Programming for Artificial Intelligence
Prolog Programming In Depth
Prolog Experiments in Discrete Mathematics, Logic, and Computability
(Advanced) The Art of Prolog
The Craft of Prolog
Clause and Effect
Simply Logical
Prolog and Natural Language Analysis
Meta Programming Logic
Intelligent Image Processing in Prolog
Expert Systems in Prolog
Functional Grammar in Prolog
(Papers) Warren Abstract Machine
Negation and Control in PrologI did love Design Patterns a lot though. Purely Functional Data Structures by Chris Okasaki was also really useful for Haskell, as was Real World Haskell.
Programming Prolog probably had a bigger influence on my Prolog than the other books, even though I read Art of Prolog and Prolog Programming in Depth first. Especially the latest edition, it's a really beautiful book.
[0]: http://www.lulu.com/us/en/shop/andres-valloud/a-mentoring-co...
I learned Prolog in university using the book "Prolog Programming in Depth", by Michael A. Covington, Donald Nute, and André Vellino. Frankly, I didn't use the book all that much. It was a handy reference now and then, but it wasn't essential. Perhaps there's some good tutorials online?