← 돌아가기
Text2Cypher Simulator
Phase 3 Week 7 - 자연어 → Cypher 쿼리 변환
🎯 난이도 필터
📝 샘플 쿼리
🗄️ 그래프 스키마
소셜 네트워크
노드: User, Post, Interest
관계: FRIENDS_WITH, POSTED, LIKES, INTERESTED_IN, FOLLOWS
이커머스
노드: User, Product, Order, Review, Category
관계: PURCHASED, REVIEWED, BELONGS_TO, VIEWED
기업 네트워크
노드: Company, Person, Product, Industry
관계: WORKS_AT, COMPETES_WITH, PARTNERS_WITH, SUPPLIES_TO, BELONGS_TO
✏️ 직접 입력
💡 키워드: 모든/전체, 친구/팔로우, 몇/수/개수, 최단/경로, 인기/많은
💬 자연어 질문
샘플 쿼리직접 입력
"모든 사용자를 보여줘"
사용 스키마::User
📚 Text2Cypher 이해하기
Text2Cypher란?
자연어 질문을 Neo4j의 Cypher 쿼리로 자동 변환하는 기술입니다. LLM(Large Language Model)을 활용하여 사용자 의도를 파악하고 적절한 쿼리를 생성합니다.
핵심 기술 요소
- Intent Recognition: 질문의 의도 파악 (검색, 집계, 경로 탐색 등)
- Entity Extraction: 노드/관계 타입 및 속성값 추출
- Schema Mapping: 추출된 정보를 그래프 스키마에 매핑
- Query Generation: Cypher 문법에 맞는 쿼리 생성
주요 Cypher 패턴
| 패턴 | Cypher | 설명 |
|---|---|---|
| 노드 검색 | MATCH (n:Label) | 특정 라벨의 노드 |
| 속성 필터 | WHERE n.prop = value | 조건 필터링 |
| 관계 탐색 | (a)-[:REL]->(b) | 연결된 노드 찾기 |
| 집계 | count(), sum(), avg() | 통계 계산 |
| 경로 | shortestPath() | 최단 경로 탐색 |
실무 활용
- 챗봇: 데이터베이스 질의를 자연어로
- BI 도구: 비개발자도 데이터 탐색 가능
- 지식 그래프: 복잡한 관계 데이터 질의