Brian Picciano
181c392219
Cleanup internals of graph a bit
...
There's no need for the `vertex` type anymore, `OpenEdge` can just hold
its values directly.
2021-12-29 12:55:45 -07:00
Brian Picciano
e7991adfaa
Make graph generic
...
The base graph implementation has been moved into its own package,
`graph`, and been made fully generic, ie the value on each vertex/edge
is a parameterized type. This will allow us to use the graph for both
syntax parsing (gg) and runtime evaluation (vm), with each use-case
being able to use slightly different Value types.
2021-12-29 12:32:53 -07:00
Brian Picciano
3f28c60ab8
Remove a bunch of old code, update the README
2021-08-26 21:25:39 -06:00
Brian Picciano
ad1e99585b
graph: refactor Graph into being an interface
2018-10-04 17:33:19 -04:00
Brian Picciano
16f2b1bbde
graph: make Edge into an interface
2018-10-04 15:24:17 -04:00
Brian Picciano
a5b3b7acd0
graph: fix TestVisitBreadth test to ensure edge is to a brand new value during a newRank action
2018-10-04 15:02:12 -04:00
Brian Picciano
0fe15409a8
graph: implement VisitBreadth/VisitDepth
2018-09-25 17:26:11 -04:00
Brian Picciano
b51935fcd1
graph: implement Join/Disjoin
2018-09-25 13:58:50 -04:00
Brian Picciano
20b2a80a3c
graph: refactor to use Node type
2018-08-21 14:46:17 -04:00
Brian Picciano
9534ff5c13
graph: don't give values to edges, that can be accomplished by a transformation layer later
2018-08-18 14:06:43 -04:00
Brian Picciano
c1bdb46623
graph: implement SubGraph and Equal
2018-08-18 13:51:38 -04:00
Brian Picciano
91c0629377
graph: add edgeIndex's to Graph to speed up EdgeValues call
2018-08-17 11:08:26 -06:00
Brian Picciano
132a50039b
graph: implemented smaller and simpler version of gg, which gg can then be built on top of
2018-08-14 16:28:11 -04:00