This project implements the genealogical tree of the famous Joestar family from JoJo's Bizarre Adventure, using the power of declarative logic in Prolog.
- Family relationships such as father, mother, and grandparents.
- Gender identification (male and female) for each family member.
- Simple and complex queries, such as ancestors, descendants, and family connections.
- Ask questions in the form of Prolog queries to explore the Joestar family relationships.
- Example questions:
- Who are Joseph Joestar's children?
?- parent(joseph_joestar, Child).
- Is Jolyne Cujoh a descendant of Jonathan Joestar?
?- parent(jonathan_joestar, X), parent(X, Y), parent(Y, Z), parent(Z, jolyne_cujoh).
- To find all children of George Joestar I (george_joestar_i):
?- parent(george_joestar_i, Child).
- To list all grandchildren of Jonathan Joestar:
?- grandparent(jonathan_joestar, Grandchild).
- To check if Giorno Giovanna is a grandson of George Joestar I:
?- grandparent(george_joestar_i, giorno_giovanna).
- To find the father of Jolyne Cujoh:
?- parent(Father, jolyne_cujoh).
- To list all females in the genealogical tree:
?- female(Person).
- To find all ancestors of Jolyne Cujoh:
?- parent(Ancestor, jolyne_cujoh); parent(Ancestor, X), parent(X, jolyne_cujoh); parent(Ancestor, Y), parent(Y, X), parent(X, jolyne_cujoh).
This project is perfect for learning Prolog while exploring the JoJo universe!