The py2neo.subgraph module allows abstract subgraph data to be merged into a database in a single step. For example:
abstract = {
"People": {
"__uniquekey__": "email",
"__nodes__": {
"alice": {"name": "Alice", "email": "alice@example.com"},
"bob": {"name": "Bob", "email": "bob@example.com"}
},
"__rels__": [
["alice", "KNOWS", "bob"]
]
}
}
nodes = subgraph.merge(abstract, self.graph_db)
alice, bob = nodes["People"]["alice"], nodes["People"]["bob"]