6.2 Consultas
Uma vez que temos a declaração de fatos em nosso programa, podemos fazer perguntas sobre esses ao sistema, a fim de saber se algum relacionamento entre objetos é verdadeiro, ou ainda quais os possíveis objetos de um relacionamento. A consulta ?- homem(paulo). por exemplo, pergunta se paulo é homem.
Como há um fato que estabelece a relação que paulo é homem, o sistema nos retornará yes. Outro tipo de consulta é quando queremos saber quais os possíveis objetos de um relacionamento. Por exemplo, a consulta ?- pai(paulo, X). pergunta ao sistema quem são os filhos de paulo, ou seja, de quem paulo é pai.
Por default, o sistema trará o primeiro valor satisfatório encontrado para a consulta, e portanto retornará X = lucas. Caso desejássemos saber outros possíveis valores para X, bastaria entrar com um ponto-e-vírgula, e o sistema retornaria também X = joana, e caso desejássemos encerrar a consulta, ao invés do ponto-e-vírgula apertaríamos enter. Note que X é uma variável, e que em Prolog deve começar com letra maiúscula.