cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Importing data to neo4j from a GraphQL data source

rrva
Node Link

Hello. I have some data exposed by a GraphQL server which I would like to
query in more ad-hoc fashion using cypher. I have a query which exposes
pretty much the entire graph of data I am interested in. What is
the easiest way to migrate the schema and import the data in neo4j?

7 REPLIES 7

MuddyBootsCode
Graph Steward

I would think the easiest way would be to grab the neo4j-driver for whatever language you're using and then make your requests to your GraphQL endpoint passing the results into your Neo4j instance. So writing in whatever language you prefer, hit the end point, store the results and then write them to the database. There's a lot of good examples in the various docs.

I am looking for something which helps me automatically and continuously migrate the schema into neo4j, and possibly also the data

I know how to do it "by hand" in code, with explicit mapping of fields to nodes but I am looking for a way

where the neo4j schema can reflect the graphql source schema always and possibly then getting help with the data mapping as well.

Basically adding persistence and better query capabilites to any existing GraphQL source.

MuddyBootsCode
Graph Steward

Sounds like an opportunity for a great open source project.

I'm looking for something similar. I'll work on some Java code to achieve this.

rrva
Node Link

@damiancalabresi did you end up creating any solution around this?

@rrva @damiancalabresi is this still in focus? I did recently wrote some bits to convert GraphQL schema into CVS to load into Neo4J (star wars SDL, csv ).

You did mention schema, but not sure if you this is something useful for you.

ping! I need to do import from GraphQL API(s) --> Neo4j, ideally using dynamic discovery of schema informing dynamic node / label / property creation.

If it doesn't exist, let's create it together 🙂