Keymaker - Recommendations Framework and Cypher Query Pipeline
Keymaker serves as an API layer that simplifies the process of connecting to a Neo4j database, currently it supports only versions 4.5 and 5.x of Neo4j. It features a user interface for establishing database connections and for building analytical query pipelines, referred to as engines, using Cypher. These engines are customized for specific business use cases. With Keymaker, each engine or query pipeline you develop is automatically equipped with a GraphQL API endpoint. This streamlines the development of user interfaces using frameworks like React, by eliminating the need for manually defining type definitions, queries, and mutations, allowing developers to concentrate on the business logic.
Keymaker High Level Architecture
Keymaker’s architecture is built around three core components: the Admin Dashboard, the Admin API, and the Engine API. Together, these elements offer a comprehensive interface for seamless framework interaction:
-
Admin Dashboard: It is a user-interface for establishing database connections, constructing analytical pipelines referred to as "engines" within Keymaker, and writing Cypher queries.
-
Admin API: This API facilitates user interaction with the framework.
-
Engine API: This API connects with your Neo4j database and exposes an endpoint which executes the engine
The following diagram demonstrates this architecture
User Activity Flow Diagram
The following diagram depicts a user’s journey within the Keymaker application. This flow diagram encapsulates the sequential actions taken from initial login to the final execution of a query pipeline. Users navigate through a streamlined process starting at the Keymaker Admin UI, moving through database connection setups, defining query pipelines, and culminating in the execution of complex queries facilitated by an API key
Note : A detailed step by step guide is available from creating database connections to execution of query pipelines in the Github README
Installation
-
Check out the code from the GitHub Repository
-
Ensure that you have Node.js on your machine
-
Follow the instructions in the Keymaker project README
Functionality Includes
-
Neo4j Database Integration: Connects directly with Neo4j databases, specifically supporting versions 4.5 and 5.x.
-
Analytical Query Pipeline Creation: Keymaker interface allows you to create analytical query pipelines (engines) using Cypher, tailored for specific business use cases.
-
Automatic GraphQL API Endpoint: Automatically provides a GraphQL API endpoint for each developed engine or query pipeline.
-
Focus on Business Logic: Enables developers to concentrate on business logic rather than the technical intricacies of API and database integration.
-
Customized Engines: Allows for the customization of engines to fit unique business requirements.
Documentation
Documentation for this library is available link: here.
See also the GitHub Repository.
Videos & Tutorials
How to Install Keymaker on Your Local Machine: A Step-by-Step Tutorial
Quick Start: Verify Your Keymaker Setup and Build Your First Query Pipeline
Keymaker Features Overview