Skip to content
@ErgoAI

ErgoAI

ErgoAI is an advanced system for representing and reasoning about knowledge

Table of contents generated with markdown-toc

About ErgoAI

ErgoAI is an advanced multi-paradigm platform for knowledge representation and reasoning in an enterprise. It is a dialect of the object-based logic known as Frame Logic (or F-logic) with numerous extensions, including meta-programming in the style of HiLog, logical updates in the style of Transaction Logic, and defeasible reasoning. Applications include intelligent agents, Semantic Web, knowledge-based networking, ontology management, integration of information, security policy analysis, and more.

ErgoAI is an enterprise-level extension of the well-known Flora-2 system. After open-sourcing of ErgoAI by Coherent Knowledge Systems, Flora-2 was deprecated and is no longer maintained because ErgoAI subsumes Flora-2 for all purposes.

ErgoAI can interact with applications written in several major languages, such as Python, Java, and C/C++; it can talk to databases and the Web; and it has connectors to major data formats like JSON, XML, and CSV.

ErgoAI comes with comprehensive documentation, tutorials, and Example Bank - a collection of advanced examples.

Documentation, Examples, Help

Getting Started

If you are new to ErgoAI, the best place to start is with the FAQ, ErgoAI Tutorial, and ErgoAI Studio Manual. A basic knowledge of Prolog is helpful in understanding ErgoAI. Prolog tutorials and textbooks, for example Learn Prolog Now, can be found online. As you advance to the next stage, ErgoAI Reasoner User's Manual is a complete reference to the system. Guide to ErgoAI Packages provides all the details you will need to connect your ErgoAI knowledge base to the outside world.
ErgoAI Examples Bank provides runnable, annotated examples for a variety of tasks using ErgoAI to augment the basic examples found in ErgoAI Tutorial. ErgoAI and XSB Users Forum is the place to post questions, find answers, share projects, and build collaboration. 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.

Tutorials

  • ErgoAI Tutorial: a set of lessons that introduces you to the fundamentals of authoring knowledge bases (a.k.a., rulebases) in ErgoAI. It includes a number of worked examples with sample executable ErgoAI files. The tutorial provides an overview of the ErgoAI system from the very basics to more advanced topics.

  • Capturing Real World Knowledge in Ergo: this tutorial illustrates the process of capturing real world knowledge in ErgoAI, 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.

ErgoAI Manuals

  • ErgoAI Studio Manual: Explains how to use the graphical UI and the Integrated Development Environment (IDE). The IDE includes an interactive editor, explanation, and query windows, with navigation and debugging tools.

  • ErgoAI Reasoner User's Manual: Comprehensive reference manual including Ergo language syntax, reasoning engine, debugging tools and more. For more experienced developers. General understanding of Prolog is a plus.

  • Guide to ErgoAI Packages: 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.

FAQ and User's Forum

  • ErgoAI FAQ: Frequently Asked Questions about ErgoAI.

  • Ergo and XSB Users Forum: A place for users to post questions and answers, share interesting projects, and discuss ideas about knowledge based systems in general.

    • Please subscribe to the forum!!

Examples Bank

ErgoAI Example Bank provides 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.

The examples include:

  • Java and Python integration
  • Defeasible reasoning
  • Connecting ErgoAI to SQL databases
  • RDF and OWL import
  • Querying SPARQL endpoints
  • Importing tabular data
  • Importing XML
  • Working with JSON
  • Doing input and output
  • ErgoText and Federal Regulation W

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 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).

XSB Manuals

These manuals are primarily for experienced developers who need low-level features that are accessible via XSB.

Download and Installation

The ErgoAI source code is split between two repositories:

  • Studio_fidji - a Java-based IDE code-named Fidji and
  • ErgoEngine - the ErgoAI inference engine, language and data source interfaces, and everything else. The inference engine can be used without the IDE in the command window mode, and this is what is normally used when ErgoAI is embedded into a larger system.

Installing ErgoAI via an official release

In addition, we provide stable releases for Linux, Mac, and Windows. Installing a stable release is very easy:

  • Make sure that the prerequisites for the installation are met. These prerequisites are described in Section 2.1 of ErgoAI Reasoner User's Manual and also in ErgoAI Tutorial.

  • Download an appropriate release installer (a file named ergoAI_XXXXX.run or ergoAI_XXXXX.exe, where XXXXX is the version number; the .run version is for Linux/Mac and the .exe version is for Windows) and click your way through the installation. These installers do not include the source code, so if one wants that then cloning ErgoAI repositories would still be necessary. The release installers can be found by navigating to https://github.com/ErgoAI/.github/releases, choosing the desired release (usually the latest), and clicking on the requisite .run or .exe file.

The full details are given in Section 2 of the ErgoAI Reasoner User's Manual.

Installing ErgoAI from the sources

Those who want to contribute to ErgoAI development would need to clone XSB as well as the aforesaid ErgoAI repositories and compile the source code by themselves. This process is still straightforward for Linux, might be a bit more involved for Mac, and still more for Windows.

The main steps in this process are:

  • Verification of prerequisites for the installation, as in the case of the installation via an official release.

  • Compiling XSB.

  • Compiling the ErgoAI engine using a clone of the ErgoEngine repository

  • Compiling the ErgoAI studio using a clone of the Studio_fidji repository.

The full details are given in Appendix A of ErgoAI Reasoner User's Manual.

Please subscribe to Ergo and XSB Users Forum and, if you like ErgoAI, give us a star.

Uninstallation

If one installed an official release of ErgoAI and a new release comes out, installing the new release doesn't necessarily uninstalls the old (for example, one might want to keep a stable old release and to play with a new pre-release). If an old official release is no longer needed, it can be easily uninstalled as follows.

Linux/Mac:

  • start the version of ErgoAI you want to discard (double-click on its icon, the studio or terminal version - doesn't matter)
  • type System[uninstall]@\sys. and confirm
  • delete the ErgoAI window

Windows: use the standard uninstallation facilities in Windows.

Installations from the sources can't be uninstalled that way and there is no need to. Simply delete the directory where the sources are residing.

Reporting Bugs

  • Bugs in ErgoAI Reasoner: please report by creating a new issue in Github's Issue Tracker of the ErgoEngine repository.

  • Bugs in the operations of the ErgoAI Studio: create a new issue in Github's Issue Tracker of the Studio_fidji repository.

Bibliography

Pinned Loading

  1. .github .github Public

    The README and other general info common to all the repositories in ErgoAI

    6 1

Repositories

Showing 3 of 3 repositories
  • ErgoEngine Public

    The ErgoAI reasoning engine, an advanced object-oriented knowledge management system

    ErgoAI/ErgoEngine’s past year of commit activity
    OpenEdge ABL 29 Apache-2.0 3 3 0 Updated Oct 19, 2024
  • .github Public

    The README and other general info common to all the repositories in ErgoAI

    ErgoAI/.github’s past year of commit activity
    6 Apache-2.0 1 0 0 Updated Jul 7, 2024
  • Studio_fidji Public

    ErgoAI's Java IDE

    ErgoAI/Studio_fidji’s past year of commit activity
    Java 7 Apache-2.0 0 0 0 Updated Oct 1, 2023

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…