> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# 관계 그래프

> 구조화 사실을 Agent가 따라 걷는 엔티티-관계 트리플로 저장합니다

어떤 메모리는 자연스럽게 그래프 모양입니다. *Alice → works at → Acme*, *Order 42 → refunded on → 2026-07-15* 처럼요. 이를 **관계 트리플**로 저장하면 Agent가 걸어 다닐 수 있습니다. 구조 질문에 답하려고 관계를 따라가죠.

## 언제 관계 그래프가 맞나

이 정보를 자유 텍스트 노트로 저장하고 리트리벌이 찾게 해도 됩니다. 됩니다. 하지만 이럴 때는 관계 그래프가 낫습니다.

* Agent가 **여러 홉 질문에 답해야 할 때**("Alice와 같은 회사에서 일하는 다른 사람은?").
* 안정된 ID를 가진 **정본 엔티티**가 있을 때(고객, 제품, 티켓, 프로젝트).
* 관계를 **거르거나 집계** 해야 할 때("이번 분기에 환불을 몇 건 했나?").

## 구성

트리플은 `(subject, relationship, object)` 입니다. subject와 object는 둘 다 ID를 가진 엔티티고, relationship은 이름 붙은 엣지 타입입니다.

```
(customer:alice) --[works_at]--> (org:acme)
(order:42)       --[refunded_on]--> (date:2026-07-15)
(order:42)       --[belongs_to]--> (customer:alice)
```

엔티티는 ID 말고도 속성(name, created\_at, 커스텀 필드)을 가질 수 있습니다.

## 그래프 메모리 스페이스 만들기

메모리 스페이스를 만들 때 **Index** 타입을 고르고 **Graph mode**를 켭니다. 표준 벡터 인덱스 위에 엔티티/관계 모델을 켭니다.

## 트리플 쓰기

Agent로:

* `remember_fact` 도구를 `subject`, `relationship`, `object`와 함께 씁니다.
* 또는 스페이스에 **Auto-extract triples**를 켜면, Nora가 자유형 Agent 노트에서 엔티티와 관계를 자동으로 뽑습니다.

CLI로:

```bash theme={null}
nora memory triple <space> \
  --subject "customer:alice" \
  --relationship "works_at" \
  --object "org:acme"
```

## 순회

그래프 스페이스에 붙으면 Agent가 도구 두 개를 얻습니다.

* **`recall_facts`** ID나 이름으로 엔티티에 대한 사실을 리트리벌합니다.
* **`traverse`** 엣지를 따라갑니다. "Alice가 어디서 일해?" 를 물으면 `(entity, path)` 쌍 묶음으로 답합니다.

그래프 스페이스가 붙으면 두 도구가 자동으로 더해집니다.

## 양방향 엣지

관계를 **대칭**으로 표시할 수 있습니다(`same_as`, `sibling_of`). 그러면 양방향으로 걷습니다. 아니면 방향을 두고(`works_at`, `parent_of`) 정해진 역(`employs`, `child_of`)과 짝지웁니다.

스페이스 스키마에서 관계 타입마다 정합니다.

## 엔티티 해소

같은 엔티티를 여러 번 말한 것은 같은 노드로 모아야 합니다. Nora가 자동으로 모읍니다.

* 정확한 ID 매치.
* 별칭 매치(엔티티마다 별칭 목록).
* 유사도 임계값을 넘는 퍼지 이름 매치(조정 가능).

손으로 합칠 수도 있습니다. **Space → Entities → 중복 선택 → Merge** 입니다.

## 모순

새 트리플이 기존과 부딪히면(`works_at`이 Acme 였는데 새 트리플이 Beta), Nora는 조용히 덮어쓰지 않습니다. 리뷰용으로 모순을 표시하거나, **auto-supersede on conflict**를 켜면 새 트리플이 이기고 옛것은 이력이 됩니다.

## 관계 그래프와 인과 그래프

관계 그래프 메모리는 Agent가 쌓는 엔티티-관계 데이터입니다. **인과 그래프**([인과 그래프 개요](/ko/build/causal-graph/overview) 참고)는 검증과 분석에 쓰는, 여러분이 만든 원인-결과 변수 그래프입니다. 다른 도구, 다른 작업이고, 둘 다 쓸 수 있습니다.
