You've already forked ui-cviko1
8.6 KiB
8.6 KiB
In [1]:
%pip install pytholog
In [2]:
import pytholog as pl
In [4]:
family = pl.KnowledgeBase("family")
family([
"parents(susanne,charles,jane)",
"parents(susanne,charles,diana)",
"parents(susanne,charles,jack)",
"parents(jane,tom,peter)",
"parents(jane,tom,anne)",
"parents(anne,luis,kate)"])
In [5]:
#who is mother of peter?
family.query(pl.Expr("parents(Who,_,peter)"))
Out[5]:
In [6]:
family(["matka(X,Y) :- parents(X,_,Y)"])
In [7]:
family.query(pl.Expr("matka(Kto,peter)"))
Out[7]:
In [8]:
family.query(pl.Expr("matka(X,_)"))
Out[8]:
In [9]:
family([
"otec(O,D) :- parents(_,O,D)"])
In [12]:
family.query(pl.Expr("otec(Kto, jack)"))
Out[12]:
In [13]:
family([
"rodic(R, D) :- otec(R, D)",
"rodic(R, D) :- matka(R, D)"
])
In [14]:
family.query(pl.Expr("rodic(charles, jack)"))
Out[14]:
In [15]:
family.query(pl.Expr("rodic(Who, jack)"))
Out[15]:
In [16]:
family([
"dedo(Dedo, Vnuk) :- otec(Dedo, Rodic), rodic(Rodic, Vnuk)",
])
In [20]:
family.query(pl.Expr("dedo(Kto, peter)"))
Out[20]:
In [21]:
family.query(pl.Expr("dedo(charles, Vnuci)"))
Out[21]:
In [22]:
family.query(pl.Expr("dedo(tom, Vnuci)"))
Out[22]:
In [23]:
family([
"babka(Babka, Vnuk) :- matka(Babka, Rodic), rodic(Rodic, Vnuk)",
])
In [24]:
family([
"surodenec(X, Y) :- rodic(R, X), rodic(R, Y)",
])
In [25]:
family.query(pl.Expr("surodenec(diana, S)"))
Out[25]:
In [26]:
family([
"surodenec_vlastny(X, Y) :- otec(O, X), otec(O, Y), matka(M, X), matka(M, Y)",
])
In [27]:
family.query(pl.Expr("surodenec_vlastny(diana, S)"))
Out[27]:
In [28]:
family([
"predok(Pred, Pot) :- rodic(Pred, Pot)",
"predok(Pred, Pot) :- rodic(Pred, Pot1), predok(Pot1, Pot)"
])
In [29]:
family.query(pl.Expr("predok(Kto, kate)"))
Out[29]:
In [30]:
family.query(pl.Expr("predok(susanne, peter)"))
Out[30]: