Escolar Documentos
Profissional Documentos
Cultura Documentos
consultas
interface motor de base de
inferência conhecimento
respostas
usuário
fato
regra
consulta
Fato
Um fato
estabelece um relacionamento incondicional entre objetos de um contexto.
mãe(X,Y)
mãe(X,Y) :-
:- mulher(X),
mulher(X), gerou(X,Y).
gerou(X,Y).
Clô Rui Raí
filho(X,Y)
filho(X,Y) :-
:- homem(X),
homem(X), gerou(Y,X).
gerou(Y,X).
avó(X,Y)
avó(X,Y) :-
:- mãe(X,Z),
mãe(X,Z), gerou(Z,Y).
gerou(Z,Y).
Bia
X
casal
Y
≠ Ana Bob Eva Ivo
gerou gerou
Z
Clô Rui Raí
casal(X,Y)
casal(X,Y) :-
:- gerou(X,Z),
gerou(X,Z), gerou(Y,Z),
gerou(Y,Z), X\
X\=Y.
conclusão condições Bia
% gerou(X,Y) : X gerou Y
gerou(ana,clô).
gerou(ana,clô).
gerou(bob,clô).
gerou(bob,clô). Ana Bob Eva Ivo
gerou(eva,rui).
gerou(eva,rui).
gerou(eva,raí).
gerou(eva,raí).
gerou(ivo,rui).
gerou(ivo,rui).
gerou(ivo,raí).
gerou(ivo,raí).
Clô Rui Raí
gerou(clô,bia).
gerou(clô,bia).
gerou(rui,bia).
gerou(rui,bia).
% casal(X,Y) : X e Y formam um casal
Bia
casal(X,Y)
casal(X,Y) :-
:- gerou(X,Z),
gerou(X,Z), gerou(Y,Z),
gerou(Y,Z), X\
X\=Y.
?- gerou(X,Y
gerou(X,Y), gerou(Y
gerou(Y,Z).
X = ana, Y = clô, Z = bia ;
Ana Bob Eva Ivo
X = bob, Y = clô, Z = bia ;
X = eva, Y = rui, Z = bia ;
X = ivo, Y = rui, Z = bia ;
Clô Rui Raí
no
Bia
?- irmão(rui,R).
irmão(rui,R).
R = raí ;
R = raí ;
Ana Bob Eva Ivo
no
?- findall(R,
findall(R, irmão(rui,R),
irmão(rui,R), L).
L = [raí, raí]
yes Clô Rui Raí
?- findall(R,
findall(R, irmão(rui,R),
irmão(rui,R), L), sort(L,S).
sort(L,S).
L = [raí, raí]
S = [raí]
Bia
yes
homem mãe
mulher pai Ana Ivo
gerou avó
casal avô
filha tia
Bia Ary Eva Rui
filho tio
irmão
irmã
prima
primo
Noé Clô
?- alta(R).
cálculo
aritmética
comparação
Operadores aritméticos
Embora Prolog seja especialmente voltado para processamento simbólico, ele
também oferece algumas facilidades para processamento numérico, por meio
do predicado predefinido is/2.
?- X = 1 + 3.
X = 1+3
Operação aritmética Operador
yes Soma +
?- X is 1 + 3. Subtração -
X = 4
Multiplicação *
yes
Divisão real /
?- X is 7 // 2.
X = 3 Divisão inteira //
yes mod
Resto da divisão inteira
?- X is 4 ^ 0.5. Potenciação ^
X = 2
yes
tabela
consulta
Modelo relacional
O modelo relacional de banco de dados (BD)
Representa os dados em um BD usando um conjunto de tabelas.
As linhas das tabelas são denominadas tuplas e suas colunas, atributos.
As consultas são representadas em termos de operações da álgebra
relacional (projeção, seleção, etc.).
Dados na 1FN