vGraph Overview

What is vGraph?
Distributable
Versioned
Property Graph
vGraph is a:
Graph

Property Graph

Versioned

Distributable
In two ways
Cloned Repositories

Boundary Nodes

Implementation Agnostic





How does vGraph Work?
Creating Nodes/Edges
Node

Node ID

Node Label

Node Properties

Edge

Edge ID

Edge Label

Edge Properties

Modifying Nodes/Edges
Update Properties

Delete Edge

Delete Node

Commit
Commit
- Applies all outstanding changes to vGraph
- Returns a Commit containing all of the changes
- A Commit can be reversed by calling Undo
- The Commit can be shared across repositories
Info
Info
- Returns:
- The repository identifier
- The underlying vGraph version
- The last commit id
- Wether or not the graph is "clean"
Log
Log
- Returns a list of Commit Entries
- Used for seeing the history of this vGraph instance
- Contains things like the commit authors name, email, and a message about the commit
Undo
Undo
- Reverses one or more Commits
- It undoes until the provided Commit ID is the last commit
- Returns a list of the Commit IDs it undid
Reset
Reset
- Undoes any uncommitted changes
- Created elements are removed
- Changed elements are reverted
- Deleted elements are restored
Patch
Patch
- Applies a Commit to the Graph
- Can be used with merge to apply commits from other instances of vGraph
Merge
Merge
- Reformats a Commit to work with this instance of vGraph
- Fixes things so undo will work properly after this Commit is applied via patch
- May conflict in a few very specific cases
Merge Conflict
left half vGraph, right half Commit
Clone
Clone
- Returns a series of Commits
- Can be used to clone a subset of the graph
- History is preserved
Copy
Copy
- Returns 1 Commit containing a copy of vGraph
- Can be used to copy a subset of the graph
- History is not preserved

vGraph
By John Clark
vGraph
An in-depth examination of vGraph and the reasons behind how it works.
- 825