문서/관계와 값Markdown

관계와 값

관계는 출발 카드의 relations에 저장합니다. targetCardId는 같은 컬렉션 안의 카드를 가리켜야 합니다.

{
  "type": "has_property",
  "targetCardId": "mass",
  "value": 12.5,
  "unit": "kg"
}

위 예시는 출발 카드가 class 또는 instance, 대상 mass 카드가 property일 때의 값 관계입니다. unit은 value가 있을 때만 사용할 수 있습니다.

기본 관계와 역할

type 의미 출발 → 도착
subclass_of 하위 분류 분류 → 분류
instance_of 분류의 개체 개체 → 분류
part_of 부분 분류 → 분류 / 개체 → 개체
has_property 특징 분류 → 속성 / 개체 → 속성
tier 티어 분류 → 속성 / 개체 → 속성
equivalent_to 동등 분류 → 분류 / 개체 → 개체 / 속성 → 속성
disjoint_with 배타 분류 → 분류
prerequisite 선수 지식 분류 → 분류·개체·속성 / 개체 → 분류·개체·속성 / 속성 → 분류·개체·속성

subclass_of는 하위에서 상위로, part_of는 부분에서 전체로 저장합니다. prerequisite는 현재 카드 → 이해에 필요한 카드입니다. ‘A를 배우고 B로 진행한다’는 학습 순서와 혼동하지 마세요.

컬렉션 전용 관계

동의어·유의어·반의어처럼 기본 관계와 의미가 다른 연결은 직접 정의합니다.

{
  "customRelations": [
    {
      "id": "custom:synonym",
      "label": "동의어",
      "localizedLabels": { "en-US": "Synonym", "ja": "同義語", "zh-TW": "同義詞" }
    }
  ]
}

카드에서는 {"type":"custom:synonym","targetCardId":"다른-카드-ID"}로 사용합니다. 정의한 관계는 역할 없음 카드를 포함해 모든 역할끼리 연결할 수 있습니다. 같은 관계 이름도 다른 컬렉션에 자동으로 공유되지 않습니다.

의미를 정확하게 유지하기

equivalent_to는 단순히 비슷하다는 뜻이 아니고, disjoint_with는 반의어의 일반 표현이 아닙니다. 의미가 확인된 직접 관계만 저장하세요. 자동 추론 결과를 별도의 사실처럼 생성·저장하는 기능은 현재 프로토콜에 없습니다.

반대 방향을 자동으로 중복 저장할 필요는 없습니다. 관계지도의 표시 방향과 필터는 앱의 탐색 규칙이며 저장된 관계의 방향과 구분하세요.