true. vs true
The usual response to a Prolog query that does not have variables in it, or which only has underscores in it is true. or false.. However, in some versions of Prolog, including recent versions of SWI-Prolog another possible response can occur: true without a full-stop/period.
This means (1) that the query is true and (2) that there are other alternatives for Prolog to explore, that might allow it to conclude that the query is true in a different way. I.e. Prolog may be able to prove that your query is true in more than one way. For example, suppose that likes(jane, pizza) is in your Prolog program as a fact, but can also be inferred using a rule and some other facts.

?- likes(jane, pizza).

The true is a prompt to allow you to find out if this is so - i.e. that the query can be proven in more than one way. Type a semicolon if you want Prolog to go ahead and look for a different proof.

?- likes(jane, pizza).
true ;
true .

Press "return" if you are happy with a single proof.

If you want to suppress this behaviour, you can insert cuts to prevent the backtracking that is finding the extra (possible) proofs, or you can, in SWI-Prolog, use this query:
set_prolog_flag(prompt_alternatives_on, groundness).
or alternatively, put the following directive in your Prolog source code:
:- set_prolog_flag(prompt_alternatives_on, groundness).

You may also be able to avoid responses of true in some cases by re-ordering relevant clauses in your program.

Here's some example code to demonstrate true :

happy(Dog) :- is_dog(Dog), walkies(Dog).
happy(Dog) :- is_dog(Dog), chase_car(Dog).
There are three ways to prove fido is happy: from the fact, and from each of the two rules. So:
Prolog DialogueCommentary
?- happy(fido).
true ;
true ;

?- happy(rex).
true ;
true ;

happy(fido) proven using fact
happy(fido) proven using "walkies" rule
happy(fido) proven using "chase_car" rule

happy(rex) proven using fact
happy(rex) proven using "walkies" rule
happy(rex) not provable using "chase_car" rule