The goal here is to have easy and simple episodic memory: by storing one AtomSpace in another, This has many benefits over other solutions:
One can retain a handle to it (by name), which can be found at any time (the same way you'd find any other Atom.)
The contents are not merged, and so its containerized, This allows:
-- Easy deletion
-- No worries about naming collisions or other cross-talk.
-- Episodic memory can be treated as Context.
-- Searches can be limited to the episodic space, and so can go much faster than searches on a larger space.
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.
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.