This is a somewhat abstract and general question. I\'m interested in the inherent (as well as implementation-specific) properties of different approaches to persist unstruct
There is an ad hoc standard for graph databases - Tinkerpop, including the Gremlin (imperative) query language, supported by about everything other than ArangoDB.
To muddy the waters further there are also hybrid document-graph databases OrientDB and ArangoDB.
It strikes me that a major difference between storing a child relationship using an edge in a graph database versus as an embedded object in a document database is that with the former the child can be moved to another parent cheaply and without risk of having it appear in two places with two different places.