A simple helper to create and execute Cypher queries for Neo4j
Project description
Cypher AI Helper
A helper library for creating Cypher queries with OpenAI API.
Installation
pip install cypher-ai-helper
Usage
Start a local neo4j database:
sh infra/start_neo4j.sh
or
docker run \
--name neo4j \
-p 27474:7474 -p 27687:7687 \
-d \
-e NEO4J_AUTH=neo4j/pleaseletmein \
-e NEO4J_PLUGINS=\[\"apoc\"\] \
neo4j:latest
Then you can run the following:
Note: You need to set the
OPENAI_API_KEY
environment variable to your OpenAI API key.
import functools
from neo4j import GraphDatabase
from pydantic import BaseModel, Field
from cypher_ai_helper.main import cypher_query, execute_query
from cypher_ai_helper.utils import pydantic_models_to_str
class User(BaseModel):
"""
A User class
"""
id: int = Field(..., description="The id of the user")
name: str = Field(..., description="The name of the user")
email: str = Field(..., description="The email of the user")
class Post(BaseModel):
"""
A Post class
"""
id: int = Field(..., description="The id of the post")
title: str = Field(..., description="The title of the post")
body: str = Field(..., description="The body of the post")
user_name: str = Field(..., description="The name of the user who created the post")
_q = cypher_query("del-all", pydantic_models_to_str([User, Post]),
"Delete all nodes and relations",
input_vars=[],
func=functools.partial(execute_query, driver=GraphDatabase.driver("bolt://localhost:27687",
auth=("neo4j",
"pleaseletmein")),
database="neo4j"))
_q = cypher_query("new-user", pydantic_models_to_str([User, Post]),
"Create a new user and return the created user",
input_vars=["id", "name", "email"],
func=functools.partial(execute_query, driver=GraphDatabase.driver("bolt://localhost:27687",
auth=("neo4j",
"pleaseletmein")),
database="neo4j", params={"id": 2, "name": "post_user", "email": "test"}))
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cypher_ai_helper-0.1.4.tar.gz
(6.7 kB
view hashes)
Built Distribution
Close
Hashes for cypher_ai_helper-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c44419fe8fe26f11668ceb36417c22f0f0661865876a6cef320178a0049bb871 |
|
MD5 | d5a1a3fa019a0303135a246a9b5feb0c |
|
BLAKE2b-256 | c0ff65861f88284e7302e0655d26996a0d1947191393d3d6c23565f874d95ba8 |