# Neo4j

Neo4j 노드는 그래프 데이터베이스인 Neo4j 인스턴스에 연결하여 쿼리 실행, 스키마 추출 등의 작업을 수행할 수 있는 노드입니다. 그래프 기반 RAG 구현이나 관계 중심 데이터 탐색, 지식 그래프 구축 등 다양한 AI 활용에 적합합니다.

***

### 주요 기능

* Neo4j 인스턴스에 연결하여 쿼리 실행 및 그래프 데이터 처리
* `Enhanced Schema` 옵션을 통해 관계 중심의 고도화된 스키마 추출 지원
* Timeout 설정을 통해 응답 지연 제어 가능
* LangChain 기반 GraphCypherQAChain 또는 QueryEngine 등과 연동 가능

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-d57135f8106634e21750fa1425d5972783d91164%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202025-05-15%20103516.png?alt=media" alt=""><figcaption><p>WindyFlo Neo4j</p></figcaption></figure>

### 입력값 (Inputs)

| 항목                 | 설명                               | 필수 여부             |
| ------------------ | -------------------------------- | ----------------- |
| Connect Credential | Neo4j 연결 정보 (Credential에 등록)     | 필수                |
| Database           | 사용할 Neo4j 데이터베이스 이름 (`neo4j` 등)  | 선택 (기본값: `neo4j`) |
| Timeout (ms)       | 쿼리 타임아웃 시간 (기본값: `5000`, 단위: ms) | 선택                |
| Enhanced Schema    | 고도화된 스키마 추출 기능 사용 여부 (ON/OFF)    | 선택                |

***

### 파라미터 (Parameters)

※ 모든 설정은 입력값 내에 포함되어 있으며, 별도 고급 파라미터는 없습니다.

***

### 출력값 (Outputs)

| 출력 항목 | 설명                                                |
| ----- | ------------------------------------------------- |
| Neo4j | 연결된 Neo4j 인스턴스 객체. 후속 노드에서 그래프 쿼리 실행 또는 데이터 사용 가능 |

***

### 활용 예시

* 지식 그래프 기반 문서 검색 시스템 구성 (GraphCypherQAChain과 연동)
* 사용자 질문에 대한 관계형 데이터 기반 응답 생성
* 특정 엔티티 간 관계 추출을 위한 그래프 쿼리 자동화
* RAG 시스템에서 FAQ, 정책 문서 등의 비정형 정보에 연결된 관계 구조 구현

***

### 사용 팁

* `Connect Credential`에는 `bolt` 또는 `neo4j` 프로토콜이 포함된 정확한 연결 정보가 등록되어 있어야 합니다 (예: `bolt://localhost:7687`).
* `Enhanced Schema`를 활성화하면 노드 및 관계의 속성 정보를 더욱 상세히 추출할 수 있으며, LangChain 기반 엔진과의 시맨틱 통합에 유리합니다.
* `Timeout`은 복잡한 쿼리 실행 시 과도한 지연을 방지하기 위해 조절할 수 있으며, 보통 3000\~10000ms 사이 설정을 권장합니다.

***

### 주의사항

* 연결 실패 시 주로 Credential 오류 또는 포트 설정 문제일 수 있으므로 초기 연결 환경을 확인해야 합니다.
* `Enhanced Schema` 사용 시 초기 로딩 시간이 증가할 수 있으며, 노드 수가 많은 그래프에서는 성능 이슈가 발생할 수 있습니다.
* `Database` 이름을 다중 DB 환경에서 지정하지 않으면 기본 `neo4j`로 접속되므로 필요한 경우 명시적으로 설정해야 합니다.
* 보안 연결을 위해 Neo4j 인스턴스에 TLS 적용 여부를 확인하고 인증 설정을 사전에 구성해야 합니다.
