Graph Modeling

Neo4J Browser first defines 3 of its own language-independent models:

  1. Graph

  2. Graph Node

  3. Graph links

The node and relationship are implemented as TypeScript classes.

internals graph model

Node Modeling

NodeModel models a node/vertex in a graph. It also encapsulates styling information, such as node radius and caption text. The styling fields of this node are all "effectively uninitialized" and will be computed later.

The orange nodes shown above have to be initialized through constructor.

Note that the "labels" are sort of mis-leading. They are actually the name of the group under which all nodes with the same label are counted together and displayed as a single node type on UI (specirically on inspection panel). In Neo4J browser, a label is NOT the text displayed on a node but rather the "type" of that node.

A link is modeled as a Relationship in Neo4J Broswer.

Graph Modeling

Graph.ts basically implements the Graph ADS