@emanresuA I don't think so--knowing the basics of logic programming helps, but if you can wrap your head around other esolangs, I expect you can wrap your head around Brachylog.
Fatalize made a video introduction to the language that I think does a good job of introducing how it works.
After that, the GitHub wiki is the best reference (I always have it open when programming in Brachylog). And we'd be happy to answer any questions here in chat.
@emanresuA Not exactly interchangeable. For most predicates, you can leave either the input or the output unspecified and Brachylog will figure out a value that works for the unspecified part.
With reverse, they happen to be interchangeable because the reverse operation does the same thing forwards or backwards.