Ergo Suite Documentation


  • The Ergo Suite Tutorial is a set of lessons that introduces you to the fundamentals of authoring knowledge bases (a.k.a., rulebases) in Ergo. It includes  a number of worked examples with sample executable Ergo files. The tutorial provides an overview of the Ergo system from the very basics to more advanced topics.
  • The Capturing Real World Knowledge in Ergo tutorial illustrates the process of capturing real world knowledge in Ergo, with the goal of enabling reasoning and question answering. The initial case study is drawn from the lecture notes of a course on knowledge representation taught at Stanford University in 2011.  The knowledge source is the California Driver’s Handbook and the focus of the reasoning task is on knowledge that can be objectively and operationally used by the driver of a vehicle. Example files and step-by-step instructions for knowledge base creation are included.

Ergo Manuals

  • Ergo Packages Manual: Covers connectors from Ergo to other non-Ergo information sources and systems such as Java, SQL SPARQL, RDF/OWL, tabular data, XML, JSON, and more.

XSB Manuals

These manuals are primarily for use by experienced developers who need low-level features that are accessible directly in XSB.

Getting Started With Ergo

If you are new to Ergo, the best place to start is with the tutorial and the Ergo Studio manual.  A basic knowledge of Prolog is helpful in understanding Ergo.  Prolog tutorials and textbooks, for example Learn Prolog Now, can be found online.  As you advance to the next stage, the Ergo Reasoner User’s Manual is a complete reference to the system.  The Ergo Packages Manual provides all the details you will need to connect your Ergo knowledge base to the outside world.  The Ergo Examples Bank provides runnable, annotated examples for a variety of tasks using Ergo to augment the examples found in the tutorial.  Finally, the XSB manuals are useful to those who need to supplement their knowledge bases with low-level primitives that an experienced developer might need in some cases.

Ergo Examples Bank

We created the Ergo Example Bank to provide users with runnable, annotated examples that illustrate the various advanced features of Ergo Suite. Each folder contains an ‘About’ document explaining the example as well as the example files themselves with both data and rules.

Examples include:

  • Defeasible reasoning
  • Connecting Ergo to SQL databases
  • RDF and OWL import
  • Querying SPARQL endpoints
  • Importing tabular data
  • Importing XML
  • Working with JSON
  • Doing input and output

This is a living document and more categories of examples will be added. Suggestions from users on how to improve the examples or what additional examples would be of interest as well as user-contributed examples are welcome!  Please email us at with your thoughts and ideas. The examples could be both of the HOWTO type as well as domain-specific (e.g., e-commerce, e-learning).