OpenCog consists of a number of software projects. The core functionality is in a mostly C++ codebase hosted on Launchpad. This consists of a number of modules that work within the AtomSpace framework:

  • AtomSpace – an in-memory hypergraph store. Atoms, which can either be nodes or links, can be of a number of types and have a truth value associated with them.
  • PLN – Probabilistic Logic Networks. An logic system for uncertain inference.
  • MOSES – Meta-Optimizing Semantic Evolutionary Search. Program evolution based on representation-building and probabilistic modeling.
  • Embodiment – Modules to allow OpenCog to reason about being embodied within an avatar, be it a Nao robot or a game character inside a virtual world.

There are also a number of affiliated projects that are in separate repositories. These are often quite functional when used outside of the core framework.

  • RelEx and Linkgrammar – Extract grammatical parses and semantic knowledge from natural language (in English).
  • NLGen and NLGen2 – Do the inverse of RelEx. Convert semantic relationships to natural language.
  • … and more!