Skip to content

Latest commit

 

History

History
28 lines (17 loc) · 1.59 KB

00.md

File metadata and controls

28 lines (17 loc) · 1.59 KB

DIP-00

graphs

draft author:wds4

Synopsis

In DCoSL, data is represented using graphs, which is a collection of nodes and edges. A concept graph is a graph with additional structure, as described though this series of DIPs.

Nodes

A Node is any piece of information, of any size, in any format. It can be analog or digital, binary or trinary.

For the most part, we will be restricing our attention to data in the form of objects, using json, and will be relying heavily upon json schema to keep track of their formats. But in principle, a node could represent data files in other formats, such as XML, CSV, SQL, TXT, etc. A node could even represent the information recorded on a physical object: a book, a piece of paper, the back of a napkin, puffs of smoke in the air.

If you don't like json or json schema, realize that DCoSL can be readily reformulated using some alternative to json, or with json but using some alternative to json schema, while keeping the overall structure and approach of DCoSL intact.

Edges

An edge, a.k.a a relationship, is a connection between two nodes. Like a node, an edge contains information. But unlike a node, the amount of information stored in an edge is kept to a minimum. Each edge has a small handful of attributes:

  • Each edge is dirrectional or undirected.
  • Each edge has an identifier which is a string.

Notes

Although DCoSL is not technically a "graph database", many of the ideas and principles are the same.