You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
대분류(신)·중분류(신)는 종류가 적고(대분류 7종·중분류 30여 종) 필터링/설명 문구 생성에 자주 쓰여 Place에 직접 둔다. 반면 소분류(신, 240개 리프) 는 값 종류가 많고 Place 1건당 1개뿐이라 HAS_CATEGORY 관계로 뺐다.
Region — 지역
속성
설명
id (PK)
지역 코드
name
예: 제주도, 제주시, 애월읍
계층은 PART_OF 관계로 표현 (애월읍 → 제주시 → 제주도).
Category — 분류 (소분류(신) 리프)
속성
설명
code (PK)
소분류(신)코드, 예: FD010100
name
소분류(신)명, 예: 관광식당
group
관광타입명(구분류체계), 예: 음식점/숙박/관광지/문화시설/레포츠/쇼핑
Theme — 테마 태그
속성
설명
name (PK)
예: 바다뷰, 로컬맛집, 실내관광
Audience — 추천 대상
속성
설명
name (PK)
예: 혼밥, 가족여행, 데이트
Itinerary — 여행 일정
속성
설명
id (PK)
일정 ID
start_date
여행 시작일
end_date
여행 종료일
Visit — 방문 일정(일정 내 한 스케줄 항목)
속성
설명
id (PK)
방문 ID
day_index
몇 일차 (1, 2, 3 …)
arrival_time
도착 예정 시각
departure_time
출발 예정 시각
2. 관계 (Head → Relation → Tail)
Relation
Head
Tail
의미 / 근거
IS_LOCATED_IN
Place
Region
주소 파싱
PART_OF
Region
Region
행정구역 계층
HAS_CATEGORY
Place
Category
소분류(신) 매핑
HAS_THEME
Place
Theme
Kakao 키워드
SUITABLE_FOR
Place
Audience
Kakao 키워드
NEAR_BY
Place
Place
반경 300m 이내 + 거리순 Top-20 (둘 다 만족). 관계 속성 distance_m, walk_min
HAS_VISIT
Itinerary
Visit
일정에 포함된 방문 항목
VISITS
Visit
Place
그 방문이 실제 찾아가는 장소
NEXT
Visit
Visit
방문 순서(다음 일정). 관계 속성 travel_min — 이 일정에서만 유효한 구간별 이동시간
장소 간 전체 이동시간은 그래프에 저장하지 않는다(src/matrix/, kakao_matrix.py에서 Kakao Mobility로 조회). NEXT.travel_min은 특정 Itinerary의 연속된 두 Visit 사이 값만 담는 것이라 전체 행렬과는 다르다.
NEAR_BY 캡 확정: 반경 300m + Top-20 (실측 검증, 좌표 보유 25,355건 기준). 총 엣지 419,215개로 이전 검토안(200m+Top-30, 527,610개)보다 오히려 적으면서도, 반경이 넓어진 만큼 고립 노드(반경 내 이웃 0개)는 866개(3.4%) → **434개(1.7%)**로 줄어든다. 캡에 걸리는(20개 초과) 노드는 70.8%(17,949개)로 더 늘지만, 이는 후보가 넉넉하다는 뜻이라 repair 엔진 관점에선 문제 없다. 300m는 도보 약 4분 거리라 "근처"라는 설명 문구로도 무리 없다.