OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-atomspace-rocks commits / 8bf393b

Update the status, clarify the build instructions
8bf393b14032e1f455504c9fe1bf228142037802
by Linas Vepštas <linasvepstas@gmail.com> · 2025-12-10T00:29:58.000Z

Changed files (2) +30 -12

README.md +29 -11
……@@ -63,26 +63,44 @@ distributed and/or decentralized AtomSpaces can be built.
6363
6464Status
6565------
66This is ***Version 1.5.3***. All unit tests pass. It has been used in
66This is ***Version 1.6.0***. All unit tests pass. It has been used in
6767at least one major project, to process tens of millions of Atoms.
6868
69This code is 2x or 3x faster than the
70[PostgresStorageNode](https://github.com/opencog/atomspace-pgres)
71on synthetic benchmarks, and has been observed to run 12x faster
72in a real-world application. At least half of this performance
73difference can be explained by the fact that the PostgresStorageNode
74is old and has a sub-optimal design. Someone should port the Rocks
75code here to create a new, better Postgres StorageNode.
69The list of changes since January 2024 is long and fairly boring;
70mostly bug fixes and patches forced by updates to the core AtomSpace.
71The following changes are notable:
72
73* The `*-delete-*` message only deletes Atoms from the on-disk
74 AtomSpace DB. Deleting from the local (in-RAM) AtomSpace must now
75 be performed as a distinct step.
76* Atoms that are used as keys or messages cannot be deleted.
77* The Python API has been fixed so it actually works. It uses the new
78 message-passing system.
79* The base `StorageNode` (provided by
80 [atomspace-storage](https://github.com/opencog/atomspace-storage))
81 now uses a message-passing system to perform all actions. Typical
82 messages include `*-open-*`, `*-close-*`, `*-load-atom-*`,
83 `*-store-atom-*` and so on. The same base set is supported by all
84 `StorageNode`s (and `ProxyNode`s), not just atomspace-rocks.
85 See the wiki pages for
86 [StorageNode](https://wiki.opencog.org/w/StorageNode) and
87 [ObjectNode](https://wiki.opencog.org/w/ObjectNode).
88
7689
7790Building and Installing
7891-----------------------
92RocksDB is a prerequisite. On Debian/Ubuntu, `apt install librocks-dev`
93
7994The build and install of `atomspace-rocks` follows the same pattern as
80other AtomSpace projects.
95other AtomSpace projects. Prerequisites include the AtomSpace itself
96(from https://github.com/opencog/atomspace) and the generic StorageNode
97API (from https://github.com/opencog/atomspace-storage).
8198
82RocksDB is a prerequisite. On Debian/Ubuntu, `apt install librocks-dev`
83Then build, install and test:
99All Atomese projects, including this one, use the same build, install
100and test pattern:
84101```
85102 cd to project dir atomspace-rocks
103 git pull
86104 mkdir build
87105 cd build
88106 cmake ..
cmake/CMakeLists.txt +1 -1
……@@ -12,7 +12,7 @@ install(EXPORT AtomSpaceRocksTargets
1212 DESTINATION ${ConfigPackageLocation}
1313)
1414
15SET(SEMANTIC_VERSION 1.5.3)
15SET(SEMANTIC_VERSION 1.6.0)
1616
1717configure_package_config_file(AtomSpaceRocksConfig.cmake.in
1818 ${CMAKE_CURRENT_BINARY_DIR}/AtomSpaceRocksConfig.cmake