Is there a way in Neo4j to create a new Database, that gets populated by some query data from another database?
For Example, I have a Database that consists of the following Nodes:

The Graph from above can be created via the following statement: (In this example imagine the graph is the full database)
CREATE (n0:Node)
CREATE (n1:Node)
CREATE (n2:Node {capital_letter: "A"})
CREATE (n3:Node)
CREATE (n4:Node)
CREATE (n5:Node)
CREATE (n6:Node {capital_letter: "B"})
CREATE (n7:Node)
CREATE (n8:Node {capital_letter: "A"})
CREATE (n9:Node {capital_letter: "B"})
CREATE (n10:Node)
CREATE (n2)-[:TRANSACTIONS]->(n0)
CREATE (n2)-[:TRANSACTIONS]->(n1)
CREATE (n2)-[:TRANSACTIONS]->(n3)
CREATE (n3)-[:TRANSACTIONS]->(n6)
CREATE (n4)-[:TRANSACTIONS]->(n2)
CREATE (n4)-[:TRANSACTIONS]->(n7)
CREATE (n6)-[:TRANSACTIONS]->(n5)
MY QUESTION:
Is there is any way to query for a sub-graph of these nodes, to then put them into a new persistent database?
For example I would like to build a new Database, with all A and B nodes, aswell as all their neighbours and all the relationships between them.
I imagine something like the following:
INSERT INTO NEW DATABASE "NEW DB"
MATCH (a {capital_letter: "A"})
OPTIONAL MATCH (a {capital_letter: "A"})-[t1]-(a_neighbours)
MATCH (b {capital_letter: "B"})
OPTIONAL MATCH (b {capital_letter: "B"})-[t2]-(b_neighbours)
RETURN a, b, t1, t2, a_neighbours, b_neighbours
Of course the above statement does not work, but is there any possibility in Neo4J to construct a Database like so?
Please note, that my Database consists of 100Mio+ Nodes so only a feasable approach is really helpful.
**My last resort would be to just query the data, export it to .csv and then construct a new database via the neo4j-admin tool https://neo4j.com/docs/operations-manual/current/tutorial/neo4j-admin-import/
I just want to know if there is another (maybe quicker) way.