From f9c0ef9f2e10134ea484872dbe23ce21b635c553 Mon Sep 17 00:00:00 2001 From: Pravesh Kumar <121786590+praveshkumar1988@users.noreply.github.com> Date: Wed, 3 Dec 2025 13:48:49 +0000 Subject: [PATCH 1/6] upgrade Python version to 3.12 and update setup instructions in documentation --- README.md | 25 ++++++++++++++++++++++++- backend/Dockerfile | 2 +- backend/README.md | 14 ++++++++++++-- docs/project_docs.adoc | 9 +++++++-- 4 files changed, 44 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2d6eaabaa..29d54b452 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,30 @@ Transform unstructured data (PDFs, DOCs, TXT, YouTube videos, web pages, etc.) i This application allows you to upload files from various sources (local machine, GCS, S3 bucket, or web sources), choose your preferred LLM model, and generate a Knowledge Graph. ---- +## Getting Started + +### **Prerequisites** +- **Python 3.12 or higher** (for local/separate backend deployment) +- Neo4j Database **5.23 or later** with APOC installed. + - **Neo4j Aura** databases (including the free tier) are supported. + - If using **Neo4j Desktop**, you will need to deploy the backend and frontend separately (docker-compose is not supported). + +#### **Backend Setup** +1. Create the `.env` file in the `backend` folder by copying `backend/example.env`. +2. Preconfigure user credentials in the `.env` file to bypass the login dialog: + ```bash + NEO4J_URI= + NEO4J_USERNAME= + NEO4J_PASSWORD= + NEO4J_DATABASE= + ``` +3. Run: + ```bash + cd backend + python3.12 -m venv venv + source venv/bin/activate # On Windows: venv\Scripts\activate + pip install -r requirements.txt -c constraints.txt + uvicorn score:app --reload ## Key Features diff --git a/backend/Dockerfile b/backend/Dockerfile index b031e4425..1b97767b1 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10-slim +FROM python:3.12-slim WORKDIR /code ENV PORT 8000 EXPOSE 8000 diff --git a/backend/README.md b/backend/README.md index 1ab091216..4667f47f6 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,6 +1,11 @@ # Project Overview Welcome to our project! This project is built using FastAPI framework to create a fast and modern API with Python. +## Prerequisites + +- Python 3.12 or higher +- pip (Python package manager) + ## Feature API Endpoint : This project provides various API endpoint to perform specific tasks. Data Validation : Utilize FastAPI data validation and serialization feature. @@ -16,9 +21,14 @@ Follow these steps to set up and run the project locally: > cd llm-graph-builder -2. Install Dependency : +2. Create a virtual environment (recommended): + +> python3.12 -m venv venv +> source venv/bin/activate # On Windows: venv\Scripts\activate + +3. Install Dependency : -> pip install -t requirements.txt +> pip install -r requirements.txt -c constraints.txt ## Run backend project using unicorn Run the server: diff --git a/docs/project_docs.adoc b/docs/project_docs.adoc index 22e997217..4721f4d63 100644 --- a/docs/project_docs.adoc +++ b/docs/project_docs.adoc @@ -21,6 +21,11 @@ This document provides comprehensive documentation for the Neo4j llm-graph-build == Local Setup and Execution +Prerequisites: +- Python 3.12 or higher +- Node.js 20 or higher +- Docker (optional, for containerized deployment) + Run Docker Compose to build and start all components: .... docker-compose up --build @@ -38,8 +43,8 @@ yarn run dev ** For backend .... cd backend -python -m venv envName -source envName/bin/activate +python3.12 -m venv venv +source venv/bin/activate pip install -r requirements.txt uvicorn score:app --reload .... From 5568db555b80711e01b7a1f3e9e55bcef58eb649 Mon Sep 17 00:00:00 2001 From: Pravesh Kumar <121786590+praveshkumar1988@users.noreply.github.com> Date: Wed, 3 Dec 2025 19:22:10 +0000 Subject: [PATCH 2/6] update dependencies in requirements.txt for compatibility and improvements --- backend/requirements.txt | 50 ++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index ffb6f04a9..5f1ca2628 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,16 +1,16 @@ -accelerate==1.7.0 -asyncio==3.4.3 -boto3==1.38.36 +accelerate==1.12.0 +asyncio==4.0.0 +boto3==1.42.2 botocore==1.38.36 certifi==2025.6.15 -fastapi==0.115.12 +fastapi==0.123.5 fastapi-health==0.4.0 fireworks-ai==0.15.12 -google-api-core==2.25.1 -google-auth==2.40.3 -google_auth_oauthlib==1.2.2 -google-cloud-core==2.4.3 -json-repair==0.39.1 +google-api-core==2.28.1 +google-auth==2.43.0 +google_auth_oauthlib==1.2.3 +google-cloud-core==2.5.0 +json-repair==0.44.1 pip-install==1.3.5 langchain==0.3.25 langchain-aws==0.2.25 @@ -28,38 +28,38 @@ langdetect==1.0.9 langsmith==0.3.45 langserve==0.3.1 neo4j-rust-ext==5.28.1.0 -nltk==3.9.1 +nltk==3.9.2 openai==1.86.0 opencv-python==4.11.0.86 -psutil==7.0.0 +psutil==7.1.3 pydantic==2.11.7 -python-dotenv==1.1.0 +python-dotenv==1.2.1 python-magic==0.4.27 PyPDF2==3.0.1 PyMuPDF==1.26.1 -starlette==0.46.2 -sse-starlette==2.3.6 +starlette==0.50.0 +sse-starlette==3.0.3 starlette-session==0.4.3 tqdm==4.67.1 unstructured[all-docs] -unstructured==0.17.2 -unstructured-client==0.36.0 -unstructured-inference==1.0.5 +unstructured==0.18.21 +unstructured-client==0.42.4 +unstructured-inference==1.1.2 urllib3==2.4.0 -uvicorn==0.34.3 +uvicorn==0.38.0 gunicorn==23.0.0 wikipedia==1.4.0 -wrapt==1.17.2 +wrapt==2.0.1 yarl==1.20.1 -youtube-transcript-api==1.1.0 +youtube-transcript-api==1.2.3 zipp==3.23.0 -sentence-transformers==5.0.0 +sentence-transformers==5.1.2 google-cloud-logging==3.12.1 -pypandoc==1.15 -graphdatascience==1.15.1 -Secweb==1.18.1 +pypandoc==1.16.2 +graphdatascience==1.17 +Secweb==1.25.2 ragas==0.3.1 rouge_score==0.1.2 langchain-neo4j==0.4.0 -pypandoc-binary==1.15 +pypandoc-binary==1.16.2 chardet==5.2.0 \ No newline at end of file From c6f34a61764a8b6ee6b75219c0e69a99a1af590b Mon Sep 17 00:00:00 2001 From: Pravesh Kumar <121786590+praveshkumar1988@users.noreply.github.com> Date: Thu, 4 Dec 2025 09:14:34 +0000 Subject: [PATCH 3/6] update dependencies in requirements.txt for compatibility and improvements --- backend/requirements.txt | 48 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 5f1ca2628..74718d370 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,42 +1,42 @@ accelerate==1.12.0 asyncio==4.0.0 boto3==1.42.2 -botocore==1.38.36 -certifi==2025.6.15 +botocore==1.42.2 +certifi==2025.11.12 fastapi==0.123.5 fastapi-health==0.4.0 -fireworks-ai==0.15.12 google-api-core==2.28.1 -google-auth==2.43.0 +google-auth==2.41.1 google_auth_oauthlib==1.2.3 google-cloud-core==2.5.0 json-repair==0.44.1 pip-install==1.3.5 -langchain==0.3.25 -langchain-aws==0.2.25 -langchain-anthropic==0.3.15 -langchain-fireworks==0.3.0 -langchain-community==0.3.25 -langchain-core==0.3.65 +langchain-community>=0.3.31 langchain-experimental==0.3.4 -langchain-google-vertexai==2.0.25 -langchain-groq==0.3.2 -langchain-openai==0.3.23 -langchain-text-splitters==0.3.8 -langchain-huggingface==0.3.0 +langchain==1.1.0 +langchain-anthropic==1.2.0 +langchain-core>=0.3.80 +langchain-fireworks==1.1.0 +langchain-groq==1.1.0 +langchain-openai==1.1.0 +langchain-text-splitters==1.0.0 +langchain-huggingface==1.1.0 langdetect==1.0.9 -langsmith==0.3.45 -langserve==0.3.1 -neo4j-rust-ext==5.28.1.0 +langsmith==0.4.53 +langserve==0.3.3 +fireworks-ai==0.19.20 +langchain-aws==1.1.0 +neo4j-rust-ext==6.0.3.0 +langchain-google-vertexai==3.1.1 nltk==3.9.2 -openai==1.86.0 -opencv-python==4.11.0.86 +openai==2.8.1 +opencv-python==4.12.0.88 psutil==7.1.3 -pydantic==2.11.7 +pydantic==2.12.5 python-dotenv==1.2.1 python-magic==0.4.27 PyPDF2==3.0.1 -PyMuPDF==1.26.1 +PyMuPDF==1.26.6 starlette==0.50.0 sse-starlette==3.0.3 starlette-session==0.4.3 @@ -58,8 +58,8 @@ google-cloud-logging==3.12.1 pypandoc==1.16.2 graphdatascience==1.17 Secweb==1.25.2 -ragas==0.3.1 +ragas==0.4.0 rouge_score==0.1.2 -langchain-neo4j==0.4.0 +langchain-neo4j==0.6.0 pypandoc-binary==1.16.2 chardet==5.2.0 \ No newline at end of file From 541902223d671c3ab1fe779ee982b8a3fb6d2ae6 Mon Sep 17 00:00:00 2001 From: Pravesh Kumar <121786590+praveshkumar1988@users.noreply.github.com> Date: Fri, 5 Dec 2025 06:39:28 +0000 Subject: [PATCH 4/6] fix: revert package versions in requirements.txt for compatibility --- backend/requirements.txt | 92 ++++++++++++++++++++-------------------- 1 file changed, 45 insertions(+), 47 deletions(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 74718d370..d83d5cf39 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,65 +1,63 @@ -accelerate==1.12.0 +accelerate==1.10.1 asyncio==4.0.0 -boto3==1.42.2 -botocore==1.42.2 -certifi==2025.11.12 -fastapi==0.123.5 +boto3==1.40.23 +botocore==1.40.23 +certifi==2025.8.3 +fastapi==0.116.1 fastapi-health==0.4.0 -google-api-core==2.28.1 -google-auth==2.41.1 -google_auth_oauthlib==1.2.3 -google-cloud-core==2.5.0 +fireworks-ai==0.15.12 +google-api-core==2.25.1 +google-auth==2.40.3 +google_auth_oauthlib==1.2.2 +google-cloud-core==2.4.3 json-repair==0.44.1 pip-install==1.3.5 -langchain-community>=0.3.31 +langchain==0.3.27 +langchain-aws==0.2.31 +langchain-anthropic==0.3.19 +langchain-fireworks==0.3.0 +langchain-community==0.3.29 +langchain-core==0.3.75 langchain-experimental==0.3.4 -langchain==1.1.0 -langchain-anthropic==1.2.0 -langchain-core>=0.3.80 -langchain-fireworks==1.1.0 -langchain-groq==1.1.0 -langchain-openai==1.1.0 -langchain-text-splitters==1.0.0 -langchain-huggingface==1.1.0 +langchain-google-vertexai==2.0.28 +langchain-groq==0.3.7 +langchain-openai==0.3.32 +langchain-text-splitters==0.3.11 +langchain-huggingface==0.3.1 langdetect==1.0.9 -langsmith==0.4.53 -langserve==0.3.3 -fireworks-ai==0.19.20 -langchain-aws==1.1.0 -neo4j-rust-ext==6.0.3.0 -langchain-google-vertexai==3.1.1 -nltk==3.9.2 -openai==2.8.1 -opencv-python==4.12.0.88 -psutil==7.1.3 -pydantic==2.12.5 -python-dotenv==1.2.1 +langsmith==0.4.23 +langserve==0.3.1 +neo4j-rust-ext==5.28.2.1 +nltk==3.9.1 +openai==1.99.9 +psutil==7.0.0 +pydantic==2.11.7 +python-dotenv==1.1.1 python-magic==0.4.27 PyPDF2==3.0.1 -PyMuPDF==1.26.6 -starlette==0.50.0 -sse-starlette==3.0.3 +PyMuPDF==1.26.4 +starlette==0.47.3 +sse-starlette==3.0.2 starlette-session==0.4.3 tqdm==4.67.1 -unstructured[all-docs] -unstructured==0.18.21 -unstructured-client==0.42.4 -unstructured-inference==1.1.2 -urllib3==2.4.0 -uvicorn==0.38.0 +unstructured==0.18.14 +unstructured-client==0.42.3 +unstructured-inference==1.0.5 +urllib3==2.5.0 +uvicorn==0.35.0 gunicorn==23.0.0 wikipedia==1.4.0 -wrapt==2.0.1 +wrapt==1.17.3 yarl==1.20.1 -youtube-transcript-api==1.2.3 +youtube-transcript-api==1.2.2 zipp==3.23.0 -sentence-transformers==5.1.2 +sentence-transformers==5.1.0 google-cloud-logging==3.12.1 -pypandoc==1.16.2 -graphdatascience==1.17 +pypandoc==1.15 +graphdatascience==1.16 Secweb==1.25.2 -ragas==0.4.0 +ragas==0.3.2 rouge_score==0.1.2 -langchain-neo4j==0.6.0 -pypandoc-binary==1.16.2 +langchain-neo4j==0.5.0 +pypandoc-binary==1.15 chardet==5.2.0 \ No newline at end of file From 15dc73f223768c20fe68c575b01189dc4dfcd2a1 Mon Sep 17 00:00:00 2001 From: Pravesh Kumar <121786590+praveshkumar1988@users.noreply.github.com> Date: Fri, 5 Dec 2025 11:04:00 +0000 Subject: [PATCH 5/6] chore: update package versions in requirements.txt and refactor imports for langchain modules --- backend/requirements.txt | 40 +++++++++++++------------ backend/src/QA_integration.py | 8 ++--- backend/src/create_chunks.py | 2 +- backend/src/document_sources/youtube.py | 2 +- backend/src/llm.py | 2 +- backend/src/make_relationships.py | 2 +- 6 files changed, 29 insertions(+), 27 deletions(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index d83d5cf39..1530f3345 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,4 +1,4 @@ -accelerate==1.10.1 +accelerate==1.12.0 asyncio==4.0.0 boto3==1.40.23 botocore==1.40.23 @@ -12,26 +12,27 @@ google_auth_oauthlib==1.2.2 google-cloud-core==2.4.3 json-repair==0.44.1 pip-install==1.3.5 -langchain==0.3.27 -langchain-aws==0.2.31 -langchain-anthropic==0.3.19 -langchain-fireworks==0.3.0 -langchain-community==0.3.29 -langchain-core==0.3.75 -langchain-experimental==0.3.4 -langchain-google-vertexai==2.0.28 -langchain-groq==0.3.7 -langchain-openai==0.3.32 -langchain-text-splitters==0.3.11 -langchain-huggingface==0.3.1 +langchain==1.1.2 +langchain-aws==1.1.0 +langchain-anthropic==1.2.0 +langchain-fireworks==1.1.0 +langchain-community==0.4.1 +langchain-core==1.1.1 +langchain-experimental==0.4.0 +langchain-google-vertexai==3.1.1 +langchain-groq==1.1.0 +langchain-openai==1.1.0 +langchain-text-splitters==1.0.0 +langchain-huggingface==1.1.0 +langchain-classic==1.0.0 langdetect==1.0.9 -langsmith==0.4.23 -langserve==0.3.1 +langsmith==0.4.55 +langserve==0.3.3 neo4j-rust-ext==5.28.2.1 nltk==3.9.1 -openai==1.99.9 +openai==2.9.0 psutil==7.0.0 -pydantic==2.11.7 +pydantic==2.12.5 python-dotenv==1.1.1 python-magic==0.4.27 PyPDF2==3.0.1 @@ -41,6 +42,7 @@ sse-starlette==3.0.2 starlette-session==0.4.3 tqdm==4.67.1 unstructured==0.18.14 +unstructured[all-docs] unstructured-client==0.42.3 unstructured-inference==1.0.5 urllib3==2.5.0 @@ -54,10 +56,10 @@ zipp==3.23.0 sentence-transformers==5.1.0 google-cloud-logging==3.12.1 pypandoc==1.15 -graphdatascience==1.16 +graphdatascience==1.18a1 Secweb==1.25.2 ragas==0.3.2 rouge_score==0.1.2 -langchain-neo4j==0.5.0 +langchain-neo4j==0.6.0 pypandoc-binary==1.15 chardet==5.2.0 \ No newline at end of file diff --git a/backend/src/QA_integration.py b/backend/src/QA_integration.py index 1a9e24eb3..731a2317f 100644 --- a/backend/src/QA_integration.py +++ b/backend/src/QA_integration.py @@ -11,12 +11,12 @@ from langchain_neo4j import Neo4jVector from langchain_neo4j import Neo4jChatMessageHistory from langchain_neo4j import GraphCypherQAChain -from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder +from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder from langchain_core.output_parsers import StrOutputParser from langchain_core.runnables import RunnableBranch -from langchain.retrievers import ContextualCompressionRetriever -from langchain_community.document_transformers import EmbeddingsRedundantFilter -from langchain.retrievers.document_compressors import EmbeddingsFilter, DocumentCompressorPipeline +from langchain_classic.retrievers import ContextualCompressionRetriever +from langchain_classic.document_transformers import EmbeddingsRedundantFilter +from langchain_classic.retrievers.document_compressors import EmbeddingsFilter, DocumentCompressorPipeline from langchain_text_splitters import TokenTextSplitter from langchain_core.messages import HumanMessage, AIMessage from langchain_community.chat_message_histories import ChatMessageHistory diff --git a/backend/src/create_chunks.py b/backend/src/create_chunks.py index 523d2b77c..63dc8ada8 100644 --- a/backend/src/create_chunks.py +++ b/backend/src/create_chunks.py @@ -1,5 +1,5 @@ from langchain_text_splitters import TokenTextSplitter -from langchain.docstore.document import Document +from langchain_core.documents import Document from langchain_neo4j import Neo4jGraph import logging from src.document_sources.youtube import get_chunks_with_timestamps, get_calculated_timestamps diff --git a/backend/src/document_sources/youtube.py b/backend/src/document_sources/youtube.py index 1c60a9b85..56ac8c0ef 100644 --- a/backend/src/document_sources/youtube.py +++ b/backend/src/document_sources/youtube.py @@ -1,4 +1,4 @@ -from langchain.docstore.document import Document +from langchain_core.documents import Document from src.shared.llm_graph_builder_exception import LLMGraphBuilderException from youtube_transcript_api import YouTubeTranscriptApi from youtube_transcript_api.proxies import GenericProxyConfig diff --git a/backend/src/llm.py b/backend/src/llm.py index 854e5926f..a52ce1851 100644 --- a/backend/src/llm.py +++ b/backend/src/llm.py @@ -1,5 +1,5 @@ import logging -from langchain.docstore.document import Document +from langchain_core.documents import Document import os from langchain_openai import ChatOpenAI, AzureChatOpenAI from langchain_google_vertexai import ChatVertexAI diff --git a/backend/src/make_relationships.py b/backend/src/make_relationships.py index bfb945617..9f6285da4 100644 --- a/backend/src/make_relationships.py +++ b/backend/src/make_relationships.py @@ -1,5 +1,5 @@ from langchain_neo4j import Neo4jGraph -from langchain.docstore.document import Document +from langchain_core.documents import Document from src.shared.common_fn import load_embedding_model,execute_graph_query from src.shared.common_fn import load_embedding_model,execute_graph_query import logging From 6d0c9849d0eee82e6fc17dd854cccd52678eb025 Mon Sep 17 00:00:00 2001 From: Pravesh Kumar <121786590+praveshkumar1988@users.noreply.github.com> Date: Fri, 5 Dec 2025 13:10:05 +0000 Subject: [PATCH 6/6] fix: update requirements and remove redundant imports in QA and relationships modules --- backend/requirements.txt | 3 +-- backend/src/QA_integration.py | 1 - backend/src/make_relationships.py | 5 ----- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 1530f3345..8a5d3bc79 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -41,8 +41,7 @@ starlette==0.47.3 sse-starlette==3.0.2 starlette-session==0.4.3 tqdm==4.67.1 -unstructured==0.18.14 -unstructured[all-docs] +unstructured[all-docs]==0.18.14 unstructured-client==0.42.3 unstructured-inference==1.0.5 urllib3==2.5.0 diff --git a/backend/src/QA_integration.py b/backend/src/QA_integration.py index 731a2317f..fe811833a 100644 --- a/backend/src/QA_integration.py +++ b/backend/src/QA_integration.py @@ -15,7 +15,6 @@ from langchain_core.output_parsers import StrOutputParser from langchain_core.runnables import RunnableBranch from langchain_classic.retrievers import ContextualCompressionRetriever -from langchain_classic.document_transformers import EmbeddingsRedundantFilter from langchain_classic.retrievers.document_compressors import EmbeddingsFilter, DocumentCompressorPipeline from langchain_text_splitters import TokenTextSplitter from langchain_core.messages import HumanMessage, AIMessage diff --git a/backend/src/make_relationships.py b/backend/src/make_relationships.py index 9f6285da4..f9c191169 100644 --- a/backend/src/make_relationships.py +++ b/backend/src/make_relationships.py @@ -1,7 +1,6 @@ from langchain_neo4j import Neo4jGraph from langchain_core.documents import Document from src.shared.common_fn import load_embedding_model,execute_graph_query -from src.shared.common_fn import load_embedding_model,execute_graph_query import logging from typing import List import os @@ -34,7 +33,6 @@ def merge_relationship_between_chunk_and_entites(graph: Neo4jGraph, graph_docume MERGE (c)-[:HAS_ENTITY]->(n) """ execute_graph_query(graph,unwind_query, params={"batch_data": batch_data}) - execute_graph_query(graph,unwind_query, params={"batch_data": batch_data}) def create_chunk_embeddings(graph, chunkId_chunkDoc_list, file_name): @@ -61,7 +59,6 @@ def create_chunk_embeddings(graph, chunkId_chunkDoc_list, file_name): MERGE (c)-[:PART_OF]->(d) """ execute_graph_query(graph,query_to_create_embedding, params={"fileName":file_name, "data":data_for_query}) - execute_graph_query(graph,query_to_create_embedding, params={"fileName":file_name, "data":data_for_query}) def create_relation_between_chunks(graph, file_name, chunks: List[Document])->list: logging.info("creating FIRST_CHUNK and NEXT_CHUNK relationships between chunks") @@ -130,7 +127,6 @@ def create_relation_between_chunks(graph, file_name, chunks: List[Document])->li MERGE (c)-[:PART_OF]->(d) """ execute_graph_query(graph,query_to_create_chunk_and_PART_OF_relation, params={"batch_data": batch_data}) - execute_graph_query(graph,query_to_create_chunk_and_PART_OF_relation, params={"batch_data": batch_data}) query_to_create_FIRST_relation = """ UNWIND $relationships AS relationship @@ -140,7 +136,6 @@ def create_relation_between_chunks(graph, file_name, chunks: List[Document])->li MERGE (d)-[:FIRST_CHUNK]->(c)) """ execute_graph_query(graph,query_to_create_FIRST_relation, params={"f_name": file_name, "relationships": relationships}) - execute_graph_query(graph,query_to_create_FIRST_relation, params={"f_name": file_name, "relationships": relationships}) query_to_create_NEXT_CHUNK_relation = """ UNWIND $relationships AS relationship