This is an SWI-Prolog pack that manipulate chess games. It can parse games from PGN files and store their info and moves in SQLite databases.
It then provides predicates to query these databases and create bespoke PGN files.
For instance we can find all French defence games in the db and pull them into a new PGN that can be viewed on any PGN playing program.


It is highly recommended that you install from within SWI using its package manager.
To install simply do:

?- pack_install(chess_db).

And then load by :
?- [library(chess_db)].


Pldoc produced documentation: chess_db.html
Example on creating and using a database (also in examples/
Pack sources: chess_db
Sources at github: chess_db
Github access: git clone


Nicos Angelopoulos
March, 2018