I have an application that creates many thousands of graphs in memory per second. I wish to find a way to persist these for subsequent querying. They aren't particularly large (perhaps max ~1k nodes).
I need to be able to store the entire graph object including node attributes and edge attributes. I then need to be able to search for graphs within specific time windows based on a time attribute in a node.
Is there a simple way to coerce this data into neo4j ? I've yet to find any examples of this. Though I have found several python libs including an embedded neo4j and a rest client. 
Is the common approach to manually traverse the graph and store it in that manner?
Are there any better persistence alternatives?
networkx supports flexible container structures (eg arbitrary combinations of py lists and dicts) in both nodes and edges.
Are there restrictions on the Neo4j side to persist such flexible data?
Python networkx and persistence (perhaps in neo4j)