query language api for dhscanner knowledge base.
This package defines the API for the knowledge base used by dhscanner. The documentation is intended for both humans 🚶and LLM agents 🤖. In this context, a knowledge base is a structured collection of code facts. For a detailed explanation of code facts and how they are generated, see dhscanner-kbgen on Hackage.
Code facts form an abstraction layer over the underlying data representation, which can be a graph database, a relational database (like Postgres), a logic program etc.
The design aims to separate, as much as possible, the following entities:
the underlying data storage
the code facts abstraction layer
the exposed knowledge base API
For instance, migrating from a graph database to a logic program representation should conceptually be straightforward.
As another example, changes to the API should ideally not require fundamental modifications to the structure or specification of code facts.