Article DetailsDetailsHelp Details Model Schema, Import Data & Build Applications The purpose of adopting a Graph database is to leverage the capabilities of the graph to excel in executing your Use Case or Application that you are building. Your ability to succeed in your project will directly be linked to how well you design your graph data model and how well you can implement it with your application. The following sections include references to resources you can access outside of training that will help you succeed with your data modeling and building your application using the graph database. Neo4j is committed to assisting you with achieving your Use Case or application goals, as such, consider using our advisory services to adopt best practices. Your Onboarding Manager can help you coordinate engagement with our technical experts: Customer Success Advisory Technical Discovery with a Customer Success Architect Technical Health Check Pre-Go Live validation review Graph Development Best Practices Professional Services Project Accelerator bundles Free estimate of customer specific services Model Your Graph Database The graph data model is fundamental to the success of any graph project. Learning and understanding how to model the graph data model is central to achieving your goals. Review the Model your data resources that are available to you to start modeling. Included are Graph Modeling Guidelines and Modeling Designs. Also see the Modeling: relational to graph on how to model a graph database in comparison to a relational database. You may also model your data directly with the Importer tool. This is perhaps the fastest way to get started and work with your data in the graph database. Import Data to the Graph Database Getting data into your database is an essential initial step of your project. The fastest way to get started is with the Importer tool, but it is not the most comprehensive. Explore the different options that are available Importing Data into Neo4j. This site lists loading from CSVs, Admin Import, Neo4j connectors and APOC load procedures. Working with Data in Cypher Cypher is the query language for interacting with the Neo4j database. Intuitive and close to natural language, Cypher provides a visual way of matching patterns and relationships by having its own design based on ASCII-art type of syntax: (:nodes)-[:ARE_CONNECTED_TO]->(:otherNodes) Round brackets are used to represent (:Nodes), and -[:ARROWS]→ to represent a relationship between the (:Nodes). With this query syntax, you can perform create, read, update, or delete (CRUD) operations on your graph. Get familiar with Cypher with the Getting Started with Cypher documentation. Cypher is Neo4j’s declarative and GQL conformant query language. Available as open source via The openCypher project, Cypher is similar to SQL, but optimized for graphs. APOC Core library Neo4j supports the APOC (Awesome Procedures on Cypher) Core library. The APOC Core library provides access to user-defined procedures and functions which extend the use of Cypher into areas such as data integration, graph algorithms, and data conversion. These procedures and functions are implemented in Java and can be deployed into a Neo4j instance, and then be called from Cypher directly. Building Applications with Language Drivers & APIs More often than not, you want to build an application to interact with the database to provide the user interface for the use case that you are implementing. Neo4j supports a number of Language Drivers to enable the interaction between the application layer and the database. Fully supported language drivers are: Language Drivers & APIs Python Guide Reference Go Guide Reference Java Guide Reference JavaScript Guide Reference .NET Guide Reference Spring Data Neo4j Next-generation Spring Data module, created, and maintained by Neo4j. Reference GraphQL Use the GraphQL Library to have data treated as a graph natively from the frontend all the way to storage. Reference Neo4j HTTP API Execute a series of Cypher statements against a Neo4j server through HTTP requests. Reference Change Data Capture Capture and track changes to your database in real-time, and keep data sources up to date with Neo4j. Reference Neo4j Query API Develop client applications in languages not currently supported by Neo4j. Reference Bolt Bolt messaging protocol and learn how to use the API. Reference Development Best Practices & Required Reading These are some essential and required readings for Aura customers. These best practices apply to Self-Managed implementations as well, but we consider them required for Aura projects. DRIVER INTEGRATION *Recommended Driver Versions - Must Read! *Driver Best Practices - Must Read! Using SSO with Neo4j Drivers Handle Session Expired Errors Java Driver Settings SSL Error Handling READ vs. WRITE QUERIES *Mark READ queries to spread workload across 3 nodes - Must Read! The article includes syntax examples for each Neo4j driver. QUERY OPTIMIZATION *Performance tuning - Must Read! *Identifying database name - Must Read! Reduce Out-Of-Memory errors Troubleshoot missing index MIGRATION Guide: From AuraDB Pro → AuraDB Enterprise Guide: From AuraDB Free → Aura Pro/Enterprise Guide: Self managed to AuraDB Enterprise From self managed on Kubernetes → AuraDBE Updating/migrating to Neo4j 5 Aura APOC & Aura APIs APOC Technical Support Aura API Specification Next Stage: Deploy for Production Readiness InformationTitleModel Schema, Import Data & Build ApplicationsArticle Created Date2/2/2025, 11:37 PMURL NameModel-Schema-Import-Data-Build-ApplicationsLast Modified Date2/27/2025, 8:44 PM