January 2025 Summaries
16 posts from Neo4j
Filter
Month:
Year:
Post Summaries
Back to Blog
The Neo4j LLM Knowledge Graph Builder is a powerful tool that combines large language models (LLMs) with graph databases to transform unstructured text into interconnected knowledge graphs. It leverages the capabilities of Neo4j's graph database to store and query complex data networks, providing a robust platform for data analysis and knowledge discovery. The application supports various data sources, including PDF documents, web pages, YouTube transcripts, and more, and can be configured to tailor the graph construction process through customizable extraction schemas. It also offers advanced visualizations and interaction tools, such as Neo4j Bloom, to further explore and understand the generated knowledge graphs. The tool provides transparency into how answers are generated, allowing users to see the specific sections of documents, entities, and text chunks used to answer their questions, making the process more trustworthy and understandable. Additionally, it offers multiple retrievers that can be run in parallel to generate an answer to a question and switch between the answer results, as well as evaluation metrics across the retrievers for further analysis. The Neo4j LLM Knowledge Graph Builder represents a significant step in leveraging the power of both LLMs and graph databases to unlock the vast potential hidden within unstructured data, empowering organizations to gain deeper insights, make more informed decisions, and build intelligent applications that leverage the richness of unstructured information.
Jan 30, 2025
2,044 words in the original blog post.
The implementation of an automated report-generation agent leverages agentic flows with large language models (LLMs) to generate detailed reports about specific industries in a given location. A suite of three agents works together, each specializing in data research, news analysis, and report writing. The agents are defined using crewAI, which enables minimal prompt engineering due to its platform handling the rest. The system uses Neo4j as the knowledge graph-based tool for retrieving relevant information from the database. The code is available on GitHub.
Jan 30, 2025
1,630 words in the original blog post.
The QdrantNeo4jRetriever package integrates Neo4j graph databases with Qdrant vector search databases, enabling the use of both for retrieval-augmented generation (RAG) pipelines. This setup allows users to leverage Neo4j's graph model to enrich AI queries with contextual relationships while offloading embeddings to Qdrant for high-performance similarity searches. The package supports various vector databases and provides a simple way to connect these systems, making it easier to explore how RAG workflows can be enhanced by combining graph data and vector similarity searches. By using the QdrantNeo4jRetriever, users can quickly set up a local environment to test this integration and start exploring its potential in AI projects.
Jan 27, 2025
718 words in the original blog post.
The author of an article about Neo4j query planning explains how eagerness in Cypher, a declarative query language used by Neo4j, can lead to performance issues and memory consumption. The article uses a fairytale-like story about Santa Claus and his toy factory elves to illustrate the concept of eagerness, which is necessary in some cases but not others. The author explains how eagerness analysis has been improved in Neo4j version 5.19 to provide better maintainability, observability, and performance. The article provides examples of how to optimize eagerness in Cypher queries, including removing Eager operators, changing their placement, and using LP Eagerness. The author also discusses the importance of understanding query planning and execution plans to improve query performance and avoid common pitfalls like memory consumption.
Jan 24, 2025
3,287 words in the original blog post.
Symfony developers can now integrate Neo4j with their applications using the neo4j-bundle. To set up multiple connections, they need to download and install Neo4j Desktop and configure the Symfony application to connect to both local and remote instances. The bundle provides a secure way to manage credentials in a .env file, and Symfony's built-in commands allow developers to inspect and interact with their configuration. A custom controller can be created to test connections and verify that they are working correctly. This setup gives developers the flexibility and scalability their applications need.
Jan 22, 2025
956 words in the original blog post.
The Neo4j community has been actively engaged in various projects and activities, including the development of scalable GraphRAG systems, setting up a Neo4j cluster, and exploring the use of BAML for converting unstructured data into structured graph representations. The community is also collaborating on projects such as Livestreams, conferences, meetups, and events, including Neo4j Live, Data Day Texas, jFokus Stockholm, GraphSummit Series, and NODES 2024. Additionally, the community has been sharing their expertise through podcasts, videos, and blog posts, with recent highlights including a recap of 2024's favorite tools and events, as well as a deep dive into GNN-RAG by Karrtik Iyer. The community is also inviting users to join their user research panel to share experiences and influence the future of Neo4j products.
Jan 18, 2025
513 words in the original blog post.
Neo4j 5.26 has been released as a Long-Term Support (LTS) version, offering critical patches and security updates until June 2028. This release marks the end of the Neo4j version 5.x series, while new features and performance enhancements will continue to be added to the 2025.x series. The 5.26 LTS release includes several key improvements, including parallel runtime for faster analytical query performance, concurrent execution of queries via independent sub-transactions, block format storage for reduced I/O operations, and improved security features such as dynamic labels, types, and properties. Additionally, Neo4j 5.26 enables vector similarity searches, bolstering recommendation engines and machine learning applications. It is recommended to plan an upgrade to either the 2025.x series or the 5.26 LTS to take advantage of cutting-edge features and prepare infrastructure for the future.
Jan 17, 2025
1,287 words in the original blog post.
Building knowledge graph agents using LlamaIndex Workflows explores the integration of structured data into retrieval-augmented generation (RAG) frameworks, emphasizing the use of graph databases like Neo4j to enhance the accuracy and relevance of AI-generated responses. The article discusses the Text2Cypher approach, which translates natural language queries into Cypher statements, enabling the retrieval of relevant information from knowledge graphs. However, the technique faces challenges in precision due to language interpretation nuances. By employing LlamaIndex Workflows, the process introduces multi-step approaches, allowing retries and alternative query formulations to improve accuracy. The text also describes several architectures and workflows, including naive Text2Cypher, retry mechanisms, evaluation phases, and iterative planning systems, highlighting their strengths and areas for improvement. Benchmarking efforts reveal the effectiveness of certain models and workflows, emphasizing the importance of accuracy, stability, and speed in practical applications. The discussion concludes with insights on production challenges, such as handling real-world data and ensuring reliable system performance, while suggesting a focus on simple, effective implementations to build robust knowledge graph agents.
Jan 17, 2025
3,162 words in the original blog post.
We've demonstrated how a microcontroller running MicroPython can act as a client to a Neo4j database server via the Neo4j Query API, enabling access to graph database technology directly down to the embedded device/IoT level. The example uses a Raspberry Pi Pico W with MicroPython v1.24.1 and establishes a local WiFi connection for network connectivity. To interact with the Neo4j Query API, we use the mrequests module due to its support for HTTP/1.1 protocol required by the Neo4j Query API. A Cypher query function is created that returns the results as a dictionary, which can be used to call the neo4j_query function and retrieve data from the Neo4j database server. The example uses the Neo4j demo server and runs a query against the FinCEN dataset, returning the top 10 highest transaction volumes. The resulting output is a list of rows with query results and column names as headers, which can be further processed for analysis or other purposes.
Jan 16, 2025
846 words in the original blog post.
Neo4j has joined the Linux Foundation for AI and Data (LFAI), a leading community organization for open-source software artificial intelligence. This move marks Neo4j's commitment to building responsible and reliable open-source GenAI applications, leveraging its graph technology and expertise in knowledge graphs. By joining LFAI, Neo4j aims to collaborate with a global community of open-source AI practitioners to build the OSS AI Knowledge Stack (OAKS), addressing key problems in AI and driving industry adoption of performant and responsible AI. The partnership is expected to accelerate GenAI adoption, particularly through the use of GraphRAG, which combines knowledge graphs with retrieval-augmented generation (RAG) to enrich LLMs with business domain knowledge. This collaboration will enable organizations to build enterprise-grade GenAI applications and tackle complex tasks in software development, such as building performant, responsible AI.
Jan 15, 2025
458 words in the original blog post.
Neo4j has made significant progress in transforming its vision into reality, focusing on four key priorities: Trusted Fundamentals, Cloud First, Ease of Use, and AI Accuracy. The company delivered transformative improvements to its core database technology, including parallel runtime, call-in transactions, and change data capture, which enhance performance, scalability, and enterprise readiness. AuraDB expanded cloud offerings with new tiers, advanced security features, and improved scalability, while introducing a free trial for AuraDB Professional and a new tier, Business Critical. The company also made strides toward its vision of ease of use for developers, unifying the entire Neo4j development experience through the Aura Console and co-pilot experiences. GraphRAG emerged as a critical tool for accelerating GenAI application development, combining knowledge graphs and retrieval-augmented generation to improve reliability and accuracy. As the company looks ahead to 2025, it is committed to expanding its cloud offering, focusing on scalability, ease of use, and agentic AI with GraphRAG.
Jan 15, 2025
1,642 words in the original blog post.
The author of the blog post is attempting to generate a Mandelbrot fractal using Cypher, a query language for graph databases. The fractal is represented as an ASCII art image, where each pixel is assigned a color based on the number of iterations it takes for the corresponding point in the fractal to "escape". The author uses the `reduce()` function in Cypher to iterate over the pixels and perform the Mandelbrot calculation. The `reduce()` function is used to aggregate values from an iterable, in this case, a list of objects representing the pixels. The function iterates 100 times for each pixel, updating the values of `zx` and `zy` according to the Mandelbrot equation, and assigns an ASCII character based on the number of iterations. The final result is a string representation of the fractal, where each character corresponds to a specific color in the image. The author's goal was to test implementing an iterative algorithm in a declarative language like Cypher, and they successfully demonstrated the power of the `reduce()` function in this context.
Jan 14, 2025
1,549 words in the original blog post.
In this article, we explore how to use Tcl's HTTP functionality to query a graph database via the Neo4j Query API. To make/secure HTTP requests and handle the JSON payload, additional packages are required, including tcllib, tcl-tls, json::write, and json. We define a procedure `neo4j_query` that performs the Cypher query and returns the result as a dictionary. The procedure takes two arguments: `cypher`, which defines the graph database query, and `db`, which holds the Neo4j settings. We create a dictionary to hold the Neo4j settings and use this with the Cypher query string to call the `neo4j_query` procedure. The returned dictionary contains two keys: `values` and `fields`. We provide an example using the Northwind database hosted on a Neo4j demo server, identifying all products in the 'Dairy Products' category.
Jan 14, 2025
686 words in the original blog post.
The Visual Cypher Builder is a prototype tool designed to help developers create Cypher queries with an easy-to-use drag-and-drop interface. The tool aims to bridge the gap between newcomers to Cypher and the query language's syntax, providing intuitive ways to construct queries through interaction. It offers four main features: a gallery of blocks, customization and smart suggestions, the wizard's guide, and template learning. These features are designed to make the fundamentals of Cypher queries accessible and intuitive, with future versions potentially expanding to include advanced pattern building, live validation, and integration with query runners. The tool is available for testing in Neo4j Labs, where users can provide feedback and suggestions.
Jan 10, 2025
926 words in the original blog post.
The Neo4j Query API is a production-grade HTTP API that enables Cypher interactions across all Aura tiers and cloud providers. It allows developers to query a Neo4j server via an HTTP API, providing an alternative to the officially supported drivers. The Query API can be used with R using the httr2 package, enabling the transformation of JSON responses into dataframes. A function called `neo4j_query` has been created to perform Cypher queries and return results as dataframes, which can then be used in various applications.
Jan 09, 2025
559 words in the original blog post.
The Neomodel library for Neo4j has made significant improvements in its performance, developer tools, and advanced querying capabilities. The latest version (5.4.2) introduces async support, enabling non-blocking operations for more scalable applications. It also includes support for the Neo4j Rust Driver Extension, which speeds up the Python driver. Additionally, Neomodel now supports creating vector and fulltext indexes, and has received improvements in its static typing with mypy support. The library's advanced querying capabilities have been enhanced with features such as filtering and ordering with traversals, raw Cypher for ordering, intermediate transformations, variable transformation with aggregations, subqueries with the Cypher CALL {} clause, and nested subgraph results. These updates bring Neomodel closer to the recent new capabilities of Neo4j, making it easier for developers to write clean, efficient, and powerful graph queries. To upgrade to the latest version, simply run `pip install --upgrade neomodel`.
Jan 02, 2025
870 words in the original blog post.