The way I managed to get an intuition about the language is just building classic boardgames.
Checkers, chess, diplomacy and go are great exercise to start working with lists and dimensions, declaring multiple predicates and have them interact with each other. Changing the state of the program and using the traces to branch out decisions.
Remember to keep track of your interpreter. Different interpreters act in surprising ways. The order of operations of SWI is different than Tau.
After that, the honest truth is that Prolog isn't widely used enough to have a 'modern standard approach'. The best way is to treat it like any other embedded subsystem: light and concise scripts embedded in a grown-up language.