Neo4j Labs
What is Neo4j Labs?
Neo4j Labs is a collection of the latest innovations in graph technology. These projects are designed and developed by the Neo4j team as a way to test functionality and extensions of our product offerings. A project typically either graduates to being maintained as a formal Neo4j project or is deprecated with source made available publicly.
These Labs are supported via the online community. They are actively developed and maintained, but we don’t provide any SLAs or guarantees around backwards compatibility and deprecation, see the FAQ below.
Current Projects
GenAI Ecosystem
Neo4j integrates with many libraries (LangChain, LlamaIndex, Haystack, Spring-AI) in the GenAI Ecosystem to make building and deploying knowledge graph-powered GenAI applications easier. Most integrations use a combination of vector and graph search to improve quality and accuracy of typical generative AI tasks and can also be used to construct knowledge graphs from unstructured data.
LLM Knowledge Graph Builder
The Knowledge Graph Builder allows users to construct knowledge graphs from unstructured data (text files, PDFs, documents, webpages) by using LLMs for extraction, additional post-processing and GraphRAG question answering (Graph-Retrieval Augmented Generation) with explainability. It allows you to kickstart your graph journey using GenAI. The constructured graph can then be used for building applications or deriving insights.
arrows.app
A web-based tool for drawing good looking pictures of graphs and graph models. Try it at arrows.app
Awesome Procedures on Cypher (APOC)
As the most comprehensive developer toolkit for Neo4j, the APOC library provides a wide range of procedures and functions that make your life as a Neo4j user easier. APOC includes data integration, graph refactoring, data conversion, operational functionality and more.
As of Neo4j 5 APOC core migrated into the product, while apoc-extended with less commonly used/more involved functionality stayed on as an labs probject, please note that the plugin-jar files and the docs have also been split into two additive sets. |
ETL Tool
Having an easy way of loading data from relational databases into Neo4j is one of the first steps many users take. The Neo4j-ETL Tool makes this easy by inferring a graph model from the relational meta model that you can then adapt to fit your needs. Given that transformation, this tool also handles the actual import for you. For interactively modeling and importing CSV files, check out the Neo4j Data Importer.
Neo4j plugin for Liquibase
Liquibase is an open source project for tracking, managing and applying database schema changes. The Neo4j plugin for Liquibase allows you to define and execute changes against Neo4j, with all the features Liquibase supports.
Neo4j-Migrations
Neo4j-Migrations is a set of tools to make your schema migrations as easy as possible. It provides a uniform way for applications, the command line and build tools alike to track, manage and apply changes to your database. It is inspired to a large extend by FlywayDB, so most things evolve around Cypher-Scripts. Neo4j-Migrations builds directly on top of the official Neo4j-Java-Driver, supports Neo4j from 3.5 up to 4.4, including enterprise features such as multidatabase support and impersonation.
Neosemantics
Neosemantics integrates RDF and Linked Data with Neo4j. It allows to import a wide variety of RDF formats and to expose Neo4j property graphs as Linked Data. Ontology and Inference are also partially supported.
Rdflib-Neo4j
Integrate Neo4j with RDF and Linked Data by using the famous RDFLib library backed by an implementation of the Neo4j store. It provides a client-side alternative to Neosemantics for cloud-native Neo4j deployments.
NeoDash
NeoDash is an open-source, low-code Dashboard Builder for Neo4j. It lets you build an interactive dashboard with tables, graphs, bar charts, line charts, maps and more.
neomodel
neomodel is an Object Graph Mapper (OGM) for Python and Neo4j. It allows you to define your graph database model in a Pythonic way and then access and edit your data without needing to write Cypher queries.
Needle Starter Kit
The Needle Starter Kit is a React framework for quickly building an app using the Neo4j Needle design language.
Aura CLI
The Aura CLI is a command line interface for interacting with the Aura cloud platform through the public Aura API. It allows you to create and manage instances from your command line.
Cypher Workbench
The Cypher Workbench Cypher Workbench provides a set of web-based development graph tools. It includes tools for data modeling, cypher building and debugging, validation, and more. Originally a SaaS offering, the code is now released so you can run it in your local environment.
Keymaker
Keymaker includes an interface which allows users to build analytical pipelines ( or engines ) using Cypher and automatically makes the results of the analytical pipeline available through a GraphQL API endpoint.
Spatial
Neo4j-Spatial is a library facilitating the import, storage and querying of spatial data in Neo4j.
Other Active Projects
-
Neovis.js, a graph visualization toolkit for the web, started out as a labs project but now moved to a community maintained project.
Graduated Projects
The following projects were successfully developed, incubated, and validated within Neo4j Labs and have graduated to official and supported Neo4j products ready for production use at scale.
Neo4j-Helm
Neo4j-Helm saw great adoption and provided important learnings and insights for the official Kubernetes Support for Neo4j. Using the Helm package manager for Kubernetes, makes it simple to specify advanced configurations of Neo4j, both standalone and cluster, and run them with Kubernetes across many cloud platforms.
GraphQL and GRANDstack
GraphQL has become a comprehensive stack for API development and consolidation, with the baseline work as a database plugin, JavaScript and Java libraries for transpiling GraphQL to Cypher, the labs projects laid the foundation for the official Neo4j GraphQL library
The GRANDstack and Neo4j-GraphQL-js offerings combined the most common tools and frameworks: GraphQL, React, Apollo and Neo4j Database. Give that there are many more front-end libraries and technology stacks available, the Neo4j GraphQL library focuses on the backend API and provides recipies for integrating with popular stacks.
Graph Data Science Library
To enable large scale graph analytics and support machine learning pipelines we developed the Neo4j Graph Algorithms library, which covers many widely used algorithms. The library offers highly parallelized implementations that work well with large scale graphs. It graduated and is now available as part of the Neo4j Graph Platform as Graph Data Science Library. Educational content is available from Neo4j Labs.
Neo4j Connector for Apache Kafka
Streaming event data is an integral part of most modern data architectures. With the Neo4j Connector for Apache Kafka you can integrate Neo4j both as a sink or source into your setup. The integration is available as a Kafka Connect plugin and Neo4j Server extension. It is officially supported as an Ecosystem Connector.
Neo4j Connector for Apache Spark
Data processing in Apache Spark is commonplace and available on all cloud platforms. With the Neo4j Connector for Apache Spark you can read from and write to Neo4j from your Spark Jobs. Built on the new DataSource API it supports usage from Python, R and Scala. It is officially supported as an Ecosystem Connector.
Neo4j Docker Container
The Neo4j Docker containers started off as a Labs project to explore how well Neo4j would run in a containerized environment. They quickly gained popularity and are heavily used by both Neo4j and customers, so we’ve graduated them to be officially part of the Neo4j release distribution.
Halin Monitoring App
The Halin Monitoring App allowed you to monitor your Neo4j deployment and identify bottlenecks or incorrect configurations, with insights into currently running queries and workloads. The app also provided access to metrics and logs. As of 2022, some of its functionality was integrated into Neo4j Operations Manager and so Halin is no longer maintained.
Frequently Asked Questions
Are these safe to use in production?
Current Neo4j Labs projects are being actively worked on by our engineers, and may be rough around the edges, with changing APIs, as they push the edge of the envelope. Therefore, we cannot provide official commercial support for these projects or guarantee longevity. However, some Neo4j customers and users still love the functionality of these projects and choose to continue using them in production environments.
Can I get assistance?
Whilst Neo4j does NOT offer support for Labs projects, you can get assistance from the Neo4j Professional Services team, who are contributors to many of the Labs projects. Whilst the PS team cannot provide product support with an SLA, they can help you with extending the code of Labs Projects, improve code stability/consistency and help with installation, configuration and scale out of Labs technology.
How do I contribute?
We welcome contributions for those labs which are open source projects. You’ll find links to GitHub repositories - feel free to submit PRs. We’ve also created a discussion category for Labs on community.neo4j.com