Neo4j#
Neo4j is a graph database management system (GDBMS) developed by Neo4j, Inc. The data elements Neo4j stores are nodes, edges connecting them, and attributes of nodes and edges.
It is interesting to use in game development as the schema free data model allows for easy storage and retreival of game objects (but puts more burden on the data governance to not mess things up...). In this Play list (german version), we build some Blueprint and C++ connectors to Neo4j to be used from Unreal Engine.
Series Summary in 2 min
Unreal to Neo4j in 7 min
** Installation in Docker, API Request via CURL, Query per Blueprint** Graph Datenbanken are an easy but powerful way to store game data:
- easier to use than relation databases, as they are schema-less
- Query language Cypher is much easier to learn than SQL
- Neo4J is offering a Community Edition under GPL v3
- REST API that is easy to use via Unreal Blueprint
This video demonstrates how to install Neo4J via a Docker image and how to connect to it via Blueprint.
We will build our Unreal game inventory series around a storage layer in Neo4J and therefore start here this mini series to show how to use Neo4J from Unreal Blueprints. I recommend using the bitnami version of Neo4J as some components (APOC) are preinstalled.
Links
- Example project
- Presentation with commands and linkes
- Blueprint
Video
Querying Neo4j
Graph DB Neo4J query from Epic Unreal: Parsing a complex Json response, using Event Dispatchers
Content A plugin to demonstrate the usage of a graph DB - Neo4J - from Unreal Engine while using only native Unreal Engine Plugins (Json Blueprint Utilities, HttpBlueprint, Game Feature).
In this video we parse the Json response from Neo4J and convert it to string maps that we can use to further initialize Unreal Objects. We further use Event Dispatcher to be informed in a non-blocking way when data from the database are available for further processing.
Links
- Presentation with commands and linkes
Video
Store objects in Neo4j
Unreal to Neo4j parametrized queries: How to store complex objects into a Graph DB from Blueprint
We use a Neo4j based graph database to store objects from Blueprint without any external plugins. Focus of this video is how to add parametrized queries, how to exchange between Epics Unreal objects and Neo4j schemaless nodes and how to construct a Json query storing 99 objects and their relations within one query.
This is background work to use a graph DB as storage engine for a multiplayer directory.
Links
- Example project
- Presentation with commands and links
- Cypher query language
- blueprintUE pastebin
- Example Json request
Video
Neo4j usage
** BA_Neo4j installation and usage: Connect to a graph DB from Epics Unreal Blueprint **
Closure of the playlist "Unreal to Neo4j" (https://bit.ly/Unreal2Neo4J_en). We create a Blueprint to ease the usage of a graph database (Neo4j) from an Epic Unreal project. This is part of the series about a multiplay inventory, that is created in parallel (https://www.youtube.com/playlist?list=PLK0EcCQf_rrbEZW3ViqsZzGo2iNrUpuzl)
Links
- Example project:
- presentation
- Json example for a Neo4j API request (periodic elements)
- Example data - Periodic System Elements