use datum for nodes and edges

- no longer need id