opencog / atomspace

The OpenCog (hyper-)graph database and graph rewriting system
https://wiki.opencog.org/w/AtomSpace
Other
795 stars 225 forks source link

Provide scheme API for inserting AtomSpaces into other AtomSpaces #3047

Closed linas closed 3 months ago

linas commented 3 months ago

The goal here is to have easy and simple episodic memory: by storing one AtomSpace in another, This has many benefits over other solutions:

So this is like the old ContextLink, but cleaner, easier, more manageable.

This is not the same thing as frames/subspaces. The frames/subspaces are layers or version of the current Atomspace, and are used for versioning. Frames allow spaces to be virtually merged; (multiple inheritance) whereas insertion does no merging, inheritance, layering or any of that.

Basically, after this change, and AtomSpace acts both like a Node (it has a name) and an UnorderedLink (its got a bunch of stuff inside it) Note that AtomSpaces are mutable, but UnorderedLinks are not.