The N-Triples and DOT formats would be examples of graph data that's structured like this: you just list the edges as the pairs of nodes that they connect. The nodes don't necessarily have any properties, they're just implicitly created by edges. I could describe
a -- b
b -- c
b -- d
and nodes "a", "b", "c", and "d" would implicitly exist.I ask this because the documentation involves programmatically creating nodes, storing them in local variables, and referring to them when building edges:
gods.addEdge(jupiter, "father", saturn)
gods.addEdge(jupiter, "lives", sky, json"""{"reason": "loves fresh breezes"}""")
If "jupiter", "saturn", and "sky" weren't previously declared and stored in local variables, how would you do this?The documentation on the GitHub page is reasonably extensive, but it doesn't even say how to get an existing node without creating it, and certainly doesn't say how to create an edge in an efficient way that is independent of whether its nodes have already been created.
I've also run into a similar problem trying out the new version of OrientDB. They have a fast importer called ETL, but all the documentation for it assumes that you're mostly concerned with importing nodes and you're only using edges to represent SQL-esque relational data. I'm not trying to shove relational data into NoSQL for the sake of NoSQL, I actually have a large graph. Importing serialized graphs into a graph database seems to be a pretty neglected use case.