That's the default way it has been done in Prolog since forever. If you have static typeing, like in Soufflé, you can get around it.
Prolog does unification of the proof goal with the rule head. It's necessary there but not with datalog.
But I still agree with you about the capitalization. Some formats, like KIF, use a '?' prefix instead, and I've seen some HRF notations that mix the '?' prefix with non-KIF formatting (':-' operator and '.' terminator).