That's subjective; Prolog is/was not intended to be a general purpose programming language, as little as e.g. SQL. And human imagination and perseverance make it possible to reach the goal even under the most adverse circumstances. If you make an effort, you can also build an HN clone in Assembler or Brainf*ck. You cannot conclude from this that the language is intended/suited for this.
> yet in some sense this is like stating about Scheme that "you have to write functions which are then evaluated"
No. There are different ways to evaluate rules. If you don't like SLD then the tinkering begins if you want to stay in Prolog.
> I'm not sure that is necessarily a good thing
It is. E.g. MOP in Lisp is something extremely powerful. With macros you can do things that languages like JavaScript (or Prologue) can only dream of; but you know that yourself for sure.