Use Cases
조직·문서·주문·자산처럼 개체 사이의 연결과 시간축, 상태가 핵심인 도메인에서 IQL은 스키마 한 묶음으로 모델을 세우고 한 문장으로 답을 냅니다.
부서 계층과 소속·보고 관계를 그래프로. 특정 조직 산하 인원을 깊이 제한 없이 전개하고, 워크스페이스 역할로 접근을 통제합니다.
NAVIGATE 'DEPT-01' -> Contains DEPTH 0
FILTER OBJECT [status] = 'Active'
RETURN OBJECT name, [title];
문서·사양·계약 사이의 참조를 관계로 두면, “이 문서를 참조하는 모든 것”을 역방향 탐색 한 줄로. 리비전·상태까지 함께 필터링됩니다.
NAVIGATE Document:42 <- Reference DEPTH 0
RETURN OBJECT type, title, state;
주문–상품처럼 “사이의 값”(수량·단가)이 관계 위에 있는 구조를 자연스럽게 모델링. 관계 속성을 직접 집계·필터합니다.
LINK OrderLine Order:1 -> Product:2 SET [qty] = 4;
FIND RELATIONSHIP OrderLine WHERE [qty] >= 10
RETURN source.title, target.title, [qty];
“이 개체가 영향을 주는 모든 것과 그 상태”를 한 쿼리로 순회. 변경 전 영향 범위를 즉시 파악합니다.
NAVIGATE Asset:7 -> DependsOn DEPTH 5
FILTER OBJECT state = 'Released'
RETURN OBJECT name, state;
“이 부서의 하위 조직을 보여줘” 같은 자연어 요청이 검증 가능한 IQL로 실행됩니다. 모델이 스키마를 스스로 발견하고, 권한 경계를 넘지 못합니다.
# MCP 서버 모드로 기동
iql.exe --mcp
# 에이전트가 SHOW TYPE → 자연어 → IQL 실행
상태 전이·생성 이벤트에 Groovy/Python 서버 로직을 걸어 검증·알림·연동을. 일회성 백필·배치도 IQL 스크립트로 서버에서 바로.
CREATE TRIGGER NotifyOnRelease
ON OBJECT Order WHEN AFTER PROMOTE
SCRIPT '''#!groovy … ''';
왜 IQL로 풀면 다른가
같은 개체의 리비전·이터레이션이 엔진에 내장. “지금 참조하는 리비전”에 항상 답합니다.
수량·기간·순번이 관계 위에. 조인 테이블을 손으로 만들 필요가 없습니다.
상태별 역할 권한이 질의 레벨에서 강제되어, 화면이 아니라 엔진이 지킵니다.