NEST

Introduction

Nest is a .Net 8.0 library containing a data model for in-memory storage inspired by hierarchical and network database principles.

In short Nest is built to organize parent-child relationships in a structure where a parent can have multiple children, defining what the parent comprises, is an aggregate of, relates, what it possesses etc. Exactly what depends on the use case and intention of the data structure. 


The parent-child structure does not carry any data in the nodes or the connections like for example a graph database allows. Each connection in Nest only has a name describing what the underlying children describe or build up. In Nest such connection is called a Part.

The parent of a set of children at one level can serve as a child to a parent one level up and so forth. 


The actual data resides at the bottom of the child inheritance branches, referred to as Simples.
A Simple cannot have any children and is considered atomic, in the sense it cannot, or at least does not need to, be divided further into sub-parts.
 
The terms Parts and Simples are picked from Mereology, a philosophical theory that explores how parts are organized into hierarchies in similar ways as Nest does.

By adhering to the principle of sharing Simples and higher-level Parts wherever possible during the creation and storage of new structures, Nest provides a model to connect and relate different objects needed for your application and enables fast and straightforward querying. 


Get the package NestGen from nuget.org