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.5.tar.gz
(6.7 kB
view hashes)
Built Distribution
Close
Hashes for cypher_ai_helper-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a09885b86e0f8aaa1b11d85c5e4f03bfbe760c2e37ab765e82096e102c080cce |
|
MD5 | fd86dcb0240a26b16ca677f6c3e4f10b |
|
BLAKE2b-256 | b4969c43eae7a6b47ee90351bed7e8dcd5b42e39e2c8a0aab4d4a31e56301e16 |