atomspace  by opencog

In-memory knowledge representation database with query engine and graph rewriting

Created 10 years ago
920 stars

Top 39.7% on SourcePulse

GitHubView on GitHub
Project Summary

The OpenCog AtomSpace is an in-memory hypergraph database and graph rewriting system designed as the central knowledge representation component for Artificial General Intelligence (AGI) systems. It offers a flexible and powerful alternative to traditional graph databases, enabling complex pattern matching, graph execution, and dynamic data flows for advanced AI research and development.

How It Works

The AtomSpace utilizes a "metagraph" structure, which is a more efficient and flexible representation than standard graphs. Its core innovation lies in treating queries themselves as graphs, allowing for meta-programming and rule-based systems. It supports advanced features like inverted searches, executable graphs (Atomese), typed graph elements, and mutable key-value stores attached to each graph element, enabling sophisticated data manipulation and processing pipelines.

Quick Start & Requirements

  • Install: cd opencog; mkdir build; cd build; cmake ..; make -j4; sudo make install
  • Prerequisites: Boost C++ utilities, CMake (v3.0.2+), Guile (v3.0+), cxxtest.
  • Optional: Cython, Haskell, OCaml, PostgreSQL.
  • OS: GNU/Linux (some BSDs may work).
  • Docs: AtomSpace, Atomese

Highlighted Details

  • Treats queries as first-class graphs for meta-programming.
  • Supports "Atomese," a language where graphs are executable abstract syntax trees.
  • Each graph element (Atom) can host a mutable key-value store for dynamic data.
  • Provides advanced pattern matching including unordered sets, choices, globs, and negation.

Maintenance & Community

The project is part of the larger OpenCog ecosystem, with active development and research focus. Community interaction is primarily through the OpenCog project channels.

Licensing & Compatibility

The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The AtomSpace has a steep learning curve due to its unconventional design and APIs. It is primarily a research platform, and while mature, it is still under active development for advanced features like distributed processing and cross-system bridges. It does not support non-Linux operating systems.

Health Check
Last Commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
16
Issues (30d)
2
Star History
7 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.