We’re excited to announce that everyone can now use Neo4j AuraDB Free, and get started without a credit card in a number of cloud regions. AuraDB Free is ideal for people who are getting started learning graph, prototyping, and doing early development.
Thousands of users have been using Neo4j for years to help with connected data problems, where the relationships between data items matter as much as the items themselves. Our community has used the technology for COVID-19 tracking, building full-stack GraphQL apps, and even by investigative journalists in the recent bombshell Pandora Papers!
Graph is a part of any well-rounded developer’s toolchain, so we want to make it as easy as possible for you to start your own projects. In this article, we’ll walk you through AuraDB Free so you can get started right away:
- Create your first database
- Explore the sample data
- Connect to the database from your program
- Expand your graph horizons
- Take your next steps
Create Your First Database
Creating a free AuraDB instance is easy. First, go to the Neo4j Aura console and sign up for an account if you don’t already have one. You can either use a social login, or an email and password followed by verifying your password. Once your account is set up, create your first database as shown below.If you’re just learning about Neo4j, make sure to choose “Learn about graphs with a movie dataset.” This is the easiest way to start with pre-loaded data so you can just explore and learn what Neo4j has to offer. If you’re already a Neo4j user, feel free to load your own dataset or start with a blank database.
Once you click “Create Free DB” you’ll be given the password for your instance. Be sure to save it! It will not be shown again, and Neo4j doesn’t store your password. Your database will now be provisioned, which will take a few minutes. Neo4j Aura will ask you a few questions to help set up your account, which includes a short video about what Neo4j is, and how native graph databases are different.
When your database has a green dot by it and shows as running like this, you can use the “Open” button to open Neo4j Browser.
Explore the Sample Data
In my case, I chose the “Movies” sample dataset, so I already have data loaded in! On the left hand side of Neo4j Browser you will see a guide that describes the dataset and has a number of sample Cypher queries that will let you explore and visualize the graph. All you have to do is click the queries in order to put them into the command window at the right. You can then click the “Play” button in the command window to run the query.Looks like we’ve got some data and everything’s working well. On the left hand side of Neo4j Browser, you’ll find “Next” and “Previous” buttons to walk you through the pages of the start-up experience. In this guide, it takes you through the basics of what a graph is, and how to use the Cypher language to create and read data in graphs.
Connect to the Database
Neo4j Browser lets you run any query you like, interactively against the database and visualize the results. But when you’re ready to move forward building your own application, you’ll need to connect a program to it. Neo4j offers drivers for many popular programming languages, which you can install quickly and get started.Back inside of the Aura console, let’s click on the database we created, and select the “Connect” tab. Here, you’ll find easy copy/paste code samples for how to get started with most languages.
I’ve already created a Replit for you of this sample code in Python, which you can go run directly. Behind that code link, you will find an IDE where you can click “Edit in Workspace.” Check the connection details at the very bottom of the python file, and fill out the connection URI, the username (neo4j), and the password for your database. Right from there, you can run your first python program against Neo4j AuraDB.
Here’s what that code looks like when it runs successfully inside of Replit.
And remember:
This sample program creates two people in the database named Alice and David, and a relationship between them. Once you’ve run the program, you can go back to Neo4j Browser and verify that the data is there with a simple Cypher query:
Now that we’ve got a working program running against the database, it’s up to you to determine what’s next with your own data.
Expand Your Graph Horizons
The next thing most people will want to do is import their own dataset into AuraDB. The easiest way to do that is with the Cypher LOAD CSV command, which will take a CSV file from any public URL and break it into lines for you. The most common option is to host a CSV file on GitHub, S3, or similar source and load directly from there. You can then use the Cypher language to structure that data into your graph model.Here’s a specific example you can copy/paste into your AuraDB Free instance. The simplest graph is one that has two kinds of things, connected to one another. Here, we’ll load data on more than 11,000 world cities. You can run this query directly in your AuraDB Free instance:
LOAD CSV WITH HEADERS FROM 'https://storage.googleapis.com/meetup-data/worldcities.csv' AS line MERGE (city:City { name: line.city }) MERGE (country:Country { name: line.country }) MERGE (city)-[:IN]->(country);
What’s happening here? It’s simple!
- Loads the CSV from a public URL as the “line” variable (each line in the file)
- Ensures a city exists with the value of the “city” column on the line
- Ensures a country exists with the value of the “country” column
- Ensures a relationship between that city and country is in the graph
For more information on how to do this with your data, check the Neo4j documentation which provides worked examples to use, and the Neo4j Community is always helpful as well.
Take Your Next Steps
Because this is all cloud native, you can do everything we did here with zero software setup, installed software, or anything on your computer, right now. It starts with creating a new database on Neo4j AuraDB.We are very excited to see what our wonderful graph community does with AuraDB Free – whether it’s a hobby project, an internal application for your job, or investigative journalism.
Happy graph hacking!