The next step is to build a basic, top-level subsumption hierarchy. I want it to be subjective and accurate. By "subjective", I mean "as experienced by a thinking subject". By accurate, I mean that I'm trying to reach pure truth.
Instead of starting from "Everything is an entity" (where "entity" means a part of the world), I'll try to start from "Everything is a perceptual experience", because to a subject, everything, from external stimuli to mental events, exists through perceptual experience.
A simple but surprising consequence is that the past and the future don't exist. There's only a perception of thoughts about the past, and of thoughts about the future.
Usually, the purpose of a top-level ontology is to support semantic interoperability among several domain-specific ontologies by providing a common starting point for the formulation of definitions. The purpose here is different: eventually we want the program to reason about itself.
[root] Perceptual experience [gen] State [gen] TripleStore [gen] VectorStore [gen] PointStore [gen] Native variable (JS) [gen] Event [gen] State modification [gen] Function call (JS) [gen] External input [gen] Internal input [gen] External output [gen] Internal output
An important aspect of the global design is the presence of a "feedback loop" that sends descriptions of what's happening inside the program back to its input, so the program can observe its own behavior, predict it, and eventually understand it. This could produce some interesting effects.LevelGraph Vector Objects kD Tree
Jamie has her own Github repo.Github