본문으로 건너뛰기

그래프 탐색기

그래프 탐색기에서 온톨로지에 적재한 엔티티와 관계를 조회합니다. 유형을 선택하거나 Cypher 쿼리를 실행하면 결과가 노드와 연결선으로 표시됩니다.

URL로 초기 조회 열기

컬렉션과 쿼리가 포함된 링크로 그래프 탐색기를 열면 해당 컬렉션을 선택하고 쿼리를 한 번 실행합니다. 초기 입력을 처리한 뒤에는 해당 값이 URL에서 제거되며, 현재 선택과 조회 결과는 URL에 저장되지 않습니다.

화면 구성

1. 메타데이터 패널

왼쪽 패널은 지금 선택한 컬렉션의 그래프 구조 정보를 표시합니다.

  • 엔티티: 정의된 엔티티 목록입니다(예: person, company). 섹션 제목에는 엔티티 유형 수가 표시됩니다.
  • 관계: 정의된 관계 목록입니다(예: bought, managed). 섹션 제목에는 관계 유형 수가 표시됩니다.
  • 속성 목록: 현재 사용하는 속성 키를 표시합니다.
  • 항목을 클릭하면 그 타입의 데이터를 모두 조회하는 쿼리가 자동으로 실행됩니다.

2. 시각화 영역

가운데 화면은 조회한 데이터를 노드와 관계 연결선으로 표시합니다.

  • 화면 조작: 노드를 원하는 위치로 끌어다 놓고 화면을 확대·축소합니다.
  • 상세 정보: 노드나 관계를 클릭하면 속성 정보가 나타납니다.
  • 배치 방식: 노드는 자동으로 배치되며 필요하면 직접 옮길 수 있습니다.

3. 쿼리 콘솔

아래쪽 패널에서 Cypher 쿼리를 직접 작성하고 실행합니다.

  • 쿼리 입력: 그래프 데이터베이스에서 널리 쓰는 조회 언어인 Cypher를 지원합니다.
  • 실행: 쿼리를 실행하면 결과가 시각화 영역에 반영됩니다.
  • 결과 보기: 결과를 그래프, 테이블 또는 텍스트 형식으로 확인합니다.

Cypher 쿼리 가이드

기본 패턴 매칭

// 모든 person 노드 조회
MATCH (p:person)
RETURN p
LIMIT 100

// 특정 관계로 연결된 노드 조회
MATCH (p:person)-[:bought]->(product:product)
RETURN p, product
LIMIT 50

// 조건 필터링
MATCH (p:person)-[:bought]->(product)
WHERE p.age > 30 AND product.price > 10000
RETURN p, product

집계 쿼리

// 라벨별 노드 개수
MATCH (n)
RETURN labels(n) as label, count(*) as count
ORDER BY count DESC

// 관계별 통계
MATCH ()-[r]->()
RETURN type(r) as relationship, count(*) as count
ORDER BY count DESC

// 가장 많은 구매를 한 고객
MATCH (p:person)-[:bought]->(product)
RETURN p.name, count(product) as purchase_count
ORDER BY purchase_count DESC
LIMIT 10

경로 탐색

// 두 노드 간 최단 경로
MATCH path = shortestPath(
(a:person {name: "Alice"})-[*]-(b:person {name: "Bob"})
)
RETURN path

// N-hop 이웃 조회
MATCH (p:person {name: "Alice"})-[*1..3]-(neighbor)
RETURN DISTINCT neighbor
LIMIT 50

자주 쓰는 Cypher 함수

함수설명예시
count()개수 세기count(n)
collect()리스트로 수집collect(n.name)
labels()노드 라벨 조회labels(n)
type()관계 타입 조회type(r)
properties()모든 속성 조회properties(n)
size()리스트 크기size(collect(n))
coalesce()NULL 대체값coalesce(n.name, "Unknown")

결과 화면

그래프

  • 노드와 관계를 그림으로 표시합니다.
  • 노드 색은 라벨에 따라 자동으로 정해집니다.

테이블

  • 쿼리 결과를 표 형태로 표시합니다.
  • 결과를 정렬하거나 조건에 따라 제한하려면 쿼리에 ORDER BY 또는 WHERE 절을 사용합니다.

텍스트

  • 가공하지 않은 JSON 형태 그대로 결과를 표시합니다.
  • 데이터의 연결 상태와 속성을 확인할 때 사용합니다.

데이터 탐색 팁

  • 특정 엔티티의 노드만 조회할 때는 메타데이터 패널에서 해당 엔티티를 선택합니다.
  • 복합 조건으로 조회할 때는 쿼리 콘솔에서 MATCH 문을 작성합니다.
  • 노드가 너무 많아 복잡하면 LIMIT 절로 조회 개수를 줄입니다.
  • 데이터가 많으면 인덱스가 설정된 속성으로 결과를 제한합니다.