Skip to content

⚔️ Game of Thrones character database and family trees in Prolog

Notifications You must be signed in to change notification settings

rachelwiles/GoT-Check

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 

Repository files navigation

⚔️ GoT Check

Game of Thrones character database and family trees in Prolog

⚠️ACCURATE UP TO THE END OF SEASON 7 - FULL OF SPOILERS!💀

Run using SWI-Prolog or similar.

GoTCheck.pl analyses facts about parents, gender, and dead/alive status of Game of Thrones characters in all major houses, and implements rules. Queries call upon these rules, which use recursion and lists to sift through the database, analysing family trees and returning information.

Queries include the following:

  • Relationship - Find the relationship between X and Y

    ?-relationship(X, Y).
  • Parents - X is the parent of Y. Can also query mother/father

    ?-parent(X, Y). 

    List all parents of a character X

    ?-parents(X, Parents).
  • Children - X is the child of Y. Can also query son/daughter

    ?-child(X, Y).

    List all children of a character X

    ?-children(X, Children).
  • Sibling - X the sibling of Y. Can also query brother/sister

    ?-sibling(X, Y).

    List all siblings of a character X

    ?-list_siblings(X, Siblings).
  • Aunt, Uncle, Neice, Nephew - Can all be queried like the above, where X is the relation to Y

  • Lineage - X is the ancestor / descendant of a list of characters

    ?-ancestors(X, Ancestor_of).
    ?-decendants(X, Descendant_of).
  • Alive/Dead - Find out if a character is still alive

    ?-alive_or_dead(X).
  • Full Profile - Gathers all relationships and status of a character

    ?-tell_me_about(X).
  • Rightful Heir - Find the rightful heir to the iron throne

    ?-rightful_heir(X).
  • Aryas List - See Aryas progress through her list

    ?-aryas_list