Data Compilation Manager 2025

Vaquita Wiki
Admin (토론 | 기여)님의 2025년 8월 26일 (화) 12:11 판 (새 문서: <html> <head> <meta charset="utf-8"/> <title>Semantic Network Data Management Studio User's Manual</title> <meta content="width=device-width, initial-scale=1" name="viewport"/> <style> td { vertical-align:middle; } .figure { float: right; margin: 0 10 0 40 } </style> </head> <body> <h1 style="text-align:center">Semantic Network Data Management Studio</h1> <h2 style="text-align:center">Data Compilation Manager 2025</h2> <div style="text-align:center"><a href="/login?server=tc...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

Semantic Network Data Management Studio User's Manual

Semantic Network Data Management Studio

Data Compilation Manager 2025

김현
Digital Curator

1. 시스템 소개

SNDMS (Semantic Network Data Management Studio)는 시맨틱 네트워크 형태로 구성된 데이터베이스를 웹 기반 인터페이스를 통해 시각적으로 탐색하고, 직관적으로 편집할 수 있도록 설계된 시맨틱 데이터 관리 플랫폼입니다.

이 시스템은 디지털 인문학, 지식그래프 기반 연구, 교육용 시맨틱 콘텐츠 제작 등의 목적에 부합하도록, 다음과 같은 기술적·개념적 특징을 갖고 있습니다:

1) 운용 목적

  • 교육 및 연구 도구로의 활용: 대학 수업, 연구 프로젝트, 아카이브 시스템 등에서 지식 구조화 도구로 활용 가능
  • 시맨틱 기반 콘텐츠 제작 기반 플랫폼: AI 내러티브 생성이나 멀티미디어 콘텐츠 제작과 연계될 수 있는 기반 플랫폼 제공

2) 주요 기능

  • 지식 기반 시맨틱 데이터의 구조화 및 관리 ☞ 노드-링크 구조의 관계형 데이터(RDF 스타일)를 시각적으로 이해하고 수정 가능
  • 데이터 편집의 직관적 UX 제공 ☞ 복잡한 시맨틱 관계를 네트워크 그래프와 리스트 형태로 동시 제공. 사용자는 마우스 클릭만으로 노드 간 관계 생성, 수정, 삭제 가능

3) 시스템 특징

📌 FastAPI 기반 백엔드 아키텍처

  • Python으로 구현된 고속 웹 API 서버
  • 비동기 요청 처리, 모듈화 설계

📌 SQL Server 연동

  • 시맨틱 노드 테이블(Node List)과 관계 테이블(Edge List) 기반의 구조적 저장
  • pyodbc를 통한 유연한 데이터베이스 접속 설정

📌 시각적 탐색 기반

  • vis.js 기반의 네트워크 그래프 인터페이스
  • 리스트 보기, 아이콘 표시, 하이퍼링크 연결 등 시각적 정보 강화

📌 모듈형 구조

  • 기능별로 분리된 8개의 웹 모듈을 통해 관리 대상 데이터에 대해 단계별 작업 수행
  • 각 모듈은 RESTful 방식으로 요청/응답 처리

4) 주요 활용 분야

  • 디지털 인문학: 인물 관계망, 사건 흐름도, 공간-시간 연계 네트워크 구축
  • 지식 구조화 교육: 개체-관계 기반 모델링 훈련 도구
  • 아카이브 시스템: 고문서, 역사자료, 문화유산의 의미 기반 메타데이터 정리
  • AI 내러티브 시스템의 전처리 도구: ChatGPT와 연동한 이야기 생성의 구조 기반

5) 작업 흐름 예시

  • 로그인 → DB/프로젝트 선택
  • 키워드로 시맨틱 노드 검색
  • 네트워크 그래프를 통해 노드 탐색
  • 노드/링크 생성 및 편집
  • 필요시 노드 ID 변경 또는 노드 삭제


2. 시스템 구성

SNDMS (Semantic Network Data Management Studio)는 시맨틱 네트워크 형식으로 구성된 데이터베이스를 웹 브라우저 상에서 직관적이고 구조적으로 편집할 수 있도록 설계된 시스템입니다.
본 시스템은 다음의 8개 모듈로 구성되어 있으며, 각 모듈은 논리적 흐름에 따라 연동되어 작동합니다.

1) 로그인 (Login)

  • 시스템 사용자는 데이터베이스에 접근하기 위해 먼저 로그인 과정을 수행해야 합니다.
  • 사용자로부터 입력받은 database, project, account, password 정보를 바탕으로 DB 연결 상태를 확인하며, 성공 시 검색 모듈로 이동합니다.
  • 로그인 후의 정보는 세션 대체 구조로 각 모듈에 전달되어 지속적으로 사용됩니다.

2) 검색 (Query)

  • 사용자가 입력한 키워드를 기준으로 시맨틱 노드의 ID 또는 라벨을 검색합니다.
  • 검색 결과는 네트워크 그래프 형태로 시각화되며, 사용자는 그래프 내 노드를 클릭하여 관련 노드 탐색 또는 편집 기능으로 진입할 수 있습니다.
  • 검색 결과가 없을 경우에는 새 노드를 추가할 수 있도록 전환됩니다.

3) 네트워크 탐색 (Navigator)

  • 선택된 중심 노드를 기준으로, 해당 노드와 직접 연결된 1-hop 네트워크를 시각적으로 탐색합니다.
  • 그래프 기반 인터페이스는 노드 간의 관계, 방향성, 레이블 등의 정보를 시각적으로 확인할 수 있게 하며, 반복 탐색이 가능합니다.
  • 탐색 중 각 노드를 클릭하여 다시 중심 노드로 설정하거나 편집 메뉴로 이동할 수 있습니다.

4) 데이터 관리 메뉴 (Data Management Menu)

  • 탐색된 중심 노드를 기준으로 다양한 편집 작업으로 분기할 수 있는 인터페이스를 제공합니다.
  • 그래프 상에 생성되는 관리 노드(Create New Link, Node ID Manager 등)를 클릭하면 해당 기능으로 바로 이동할 수 있으며, 시맨틱 데이터 편집의 허브 역할을 수행합니다.

5) 새 노드 입력 (Insert Node)

  • 검색 또는 탐색 중 발견되지 않은 노드를 새롭게 생성할 수 있는 모듈입니다.
  • 사용자는 ID, class, label, 표기 정보 등 다양한 속성을 직접 입력할 수 있으며, 저장 후 상세 편집으로 자동 연결됩니다.
  • 본 모듈은 시맨틱 데이터 확장의 출발점 역할을 합니다.

6) 노드 수정 (Update Node)

  • 기존에 등록된 노드의 속성 정보를 수정할 수 있는 모듈입니다.
  • 수정 가능한 필드로는 class, label, hangeul, hanja, english, iconUrl, infoUrl 등 시각적 및 의미적 요소가 포함됩니다.
  • 저장 결과는 사용자에게 명확한 메시지로 피드백되며, 네트워크 편집 모듈로도 바로 복귀할 수 있습니다.

7) 링크 편집 (Edit Link)

  • 두 개의 노드 간에 존재하는 관계(RDF triple)를 추가, 수정, 삭제할 수 있는 모듈입니다.
  • 관계 시각화를 위해 노드 간 연결 그래프가 함께 표시되며, 관계의 방향성 또한 사용자가 제어할 수 있습니다.
  • 관계의 relation, attribute, note, remark 필드를 함께 관리할 수 있어 구조적 스키마와 유연한 주석 처리를 모두 지원합니다.

8) 노드 ID 관리 (Node ID Manager)

  • 노드의 ID를 변경하거나, 해당 노드 및 관련 링크를 삭제할 수 있는 고급 관리 기능입니다.
  • 노드 ID 변경 시, 해당 ID가 사용된 모든 링크의 source와 target 필드도 자동으로 일괄 수정됩니다.
  • 노드만 삭제하거나 링크만 삭제하는 선택적 조치도 가능하여 정제된 시맨틱 구조 유지에 기여합니다.
  • 이러한 8개 모듈은 각기 독립적으로 구성되어 있지만, 네트워크 탐색과 편집의 흐름 속에서 상호 유기적으로 연결되어 있습니다.
  • 사용자는 이 흐름을 따라 자연스럽게 데이터를 탐색하고 수정함으로써 시맨틱 네트워크 기반의 지식 자원을 효율적으로 관리할 수 있습니다.


3. 모듈별 프로그램 사용법

1) 로그인 (Login)

A. 주요 기능

  • 사용자는 시스템에 접근하기 위해 먼저 로그인 과정을 수행해야 합니다.
  • 로그인 시 입력된 정보는 이후의 모든 검색 및 편집 작업에 사용되며, 올바른 데이터베이스 연결을 위한 계정 인증 역할을 합니다.
  • 로그인 화면에서 "사용 안내" 버튼을 통해 전체 시스템 사용법 문서를 열람할 수 있습니다.

B. 화면 구성

사용자는 로그인(Login) 화면에서 아래의 정보를 입력해야 합니다. 아래 항목은 모두 필수 입력 사항입니다.

  • database: 연결할 SQL Server 데이터베이스 이름
  • project: 프로젝트 테이블 접두어 (예: demo → demoData, demoLinks)
  • account: DB 접근 계정명
  • password: 해당 계정의 비밀번호

C. 버튼 기능

버튼 설명

DB 연결 확인 후 다음 단계인 검색 화면으로 이동 (/query 호출)
로그인 실패 시 하단에 에러 메시지 표시

2) 검색 (Query)

A. 주요 기능

  • 사용자가 입력한 검색어(keyword)를 기준으로, 노드 ID 또는 라벨(label)에 해당 문자열을 포함하는 노드를 검색합니다.
  • 검색 결과는 중심 노드(검색어 표시)를 중심으로 시각화된 네트워크 그래프로 표시됩니다.
  • 그래프 상에서 주변 노드(검색 결과)를 클릭하면 네트워크 탐색 모듈로 이동합니다.
  • 검색된 노드가 없을 경우, “새 노드 생성” 노드를 제공해 노드 추가 기능으로 연결됩니다.

B. 화면 구성

검색 화면은 외곽의 "검색 프레임"과 내부의 "검색 결과 창"으로 구성되어 있습니다. "검색 프레임"은 시스템 운영 중 상시 유지되며, "검색 결과 창"은 작업 선택에 따라 새로운 프로그램 영역으로 바뀌게 됩니다.

C. 버튼 기능  ※검색 결과 창에서는 그래프 노드로 버튼 표시

버튼설명

→ DB 연결 상태 확인

→ 검색어를 입력하고 이 버튼을 누르면 검색 결과가 "검색 결과 창" 영역에 그래프 형태로 표시 (/query/search 호출)

중심 노드: 검색어 표시

→ 검색된 노드를 표 형태로 보여주는 리스트 모드로 전환(/query/list 호출)

주변 노드: 검색 결과

→ 해당 노드를 중심으로 한 네트워크 탐색(/story/view 호출)

→ 검색 결과가 없거나 검색어와 일치하는 ID의 노드가 존재하지 않는 경우에 이 버튼 표시. 클릭하면 노드 입력 프로그램으로 이동하여 새 노드를 직접 생성. (/edit/insertNode 호출)

3) 네트워크 탐색 (Navigator)

A. 주요 기능

  • 선택한 중심 노드와 직접 연결된 모든 노드 및 관계를 시각화하여 보여줍니다. (1-hop 네트워크)
  • 주변 노드를 클릭하여 해당 노드를 중심으로 한 새 그래프를 출력할 수 있으며, 반복 탐색이 가능합니다.
  • 탐색 도중 편집 모드 진입이나 리스트 보기 전환이 가능합니다.

B. 화면 구성

전 단계(Query)의 "검색 결과 창"이 "네트워크 탐색 창"으로 전환되고, 이곳에서 선택한 노드 중심의 네트워크 그래프가 표시됩니다.

C. 버튼 기능  ※그래프 노드로 표시되는 버튼

버튼설명

중심 노드

→ 해당 노드의 상세정보를 보여주는 웹 페이지 출력 (infoUrl url로 웹 문서 호출)

주변 노드

→ 해당 노드를 중심으로 하는 네트워크 그래프 출력 (/story/view 호출)

→ 데이터 편집기 메뉴 화면으로 이동 (/edit/menu 호출)

→ 네트워크 그래프를 리스트 형태로 전환 (/edit/list 호출)

→ 해당 노드는 존재하나 관계 정보가 없어 네트워크 구성이 안되는 경우 이 버튼 표시. 관계 정보를 생성하는 프로그램으로 연결 (/edit/link 호출)

4) 데이터 관리 메뉴 (Data Management Menu)

A. 주요 기능

  • 선택된 중심 노드를 기반으로 하는 데이터 편집기 진입 메뉴를 그래프 형태로 제공합니다.
  • 네트워크 그래프를 구성하는 각 노드를 클릭함으로써 다양한 데이터 편집 업무를 수행할 수 있습니다.
  • 다른 노드를 중심으로 데이터 편집 업무를 수행하려면 전 단계인 네트워크 탐색기(Navigator)로 돌아가서 새로운 노드를 선택하세요.

B. 화면 구성

전 단계(Navigator)의 "네트워크 탐색 창"이 "데이터 관리 메뉴 창"으로 전환되고, 이곳에서 다양한 데이터 편집 작업을 선택할 수 있게 됩니다.

C. 버튼 기능  ※그래프 노드로 표시되는 버튼

버튼설명

중심 노드

→ 해당 노드의 속성을 수정할 수 있는 프로그램으로 이동 (/edit/updateNode 호출)

주변 노드

→ 중심 노드와 해당 주변 노드 사이의 관계를 편집할 수 있는 프로그램으로 이동 (/edit/link 호출)

→ 중심 노드의 새로운 관계 정보를 생성할 수 있는 프로그램으로 이동 (/edit/link 호출)

→ 해당 노드를 삭제하거나 노드 ID를 변경할 수 있는 프로그램으로 이동 (/edit/node_id 호출)

→ 네트워크 탐색기로 이동 (/story/view 호출)

5) 새 노드 입력 (Insert Node)

A. 주요 기능

  • 시맨틱 네트워크 탐색 중 존재하지 않는 노드가 발견되었을 때, 해당 노드를 직접 등록하는 첫 단계의 인터페이스입니다.
  • 검색기(Query)에서 특정 키워드를 입력했는데 검색 결과가 없거나, 검색 결과가 있어도 키워드 값과 일치되는 ID의 노드가 없을 때 "새 노드 입력 (Insert Node)" 프로그램에 접근할 수 있습니다.
  • 새 노드의 저장이 완료되면 자동으로 노드 수정 프로그램으로 이동하여 (/edit/updateNode 호출) 후속 편집을 할 수 있습니다.

B. 화면 구성

새 노드 입력기의 화면에서 다음과 같은 노드 속성 정보를 입력할 수 있습니다. 이 가운데 "class"와 "label"은 필수 입력 항목입니다.

  • id → 새로 입력할 노드의 고유 ID (고정)
  • class → 노드 유형
  • groupName → 그룹 구분
  • partName → 파트 구분
  • label 전체 → 라벨
  • hangeul → 한글 표기
  • hanja → 한자 표기
  • english → 영어 표기
  • infoUrl → 설명용 외부 링크
  • iconUrl → 아이콘 이미지 링크
  • note → 데이터 관리 정보
  • remark → 부가 설명

C. 버튼 기능

버튼설명

→ 새 노드를 생성하고 입력된 속성을 저장 (/edit/saveNode 호출)

D. 결과 및 오류 메시지

  • 입력 성공 → ✅ 노드 생성 작업이 성공적으로 수행되었습니다. 노드 수정 모드로 전환되었습니다.
  • 이미 동일한 ID의 노드가 존재할 경우 → ⚠ 이미 존재하는 ID입니다.
  • DB 접속 오류 발생 → ❌ 데이터베이스 연결 오류
  • DB 저장 오류 발생 → ❌ 데이터 저장 오류

6) 노드 수정 (Update Node)

A. 주요 기능

  • 기존 노드의 속성을 편집하여 데이터베이스에 반영합니다.
  • 시맨틱 노드의 ID를 제외한 모든 속성(class, label, 표기, 설명 등)을 수정할 수 있으며, 생성된 노드를 후속 편집하거나 기존 노드를 유지보수할 때 사용됩니다.

B. 화면 구성

노드 수정 화면에서 다음과 같은 노드 속성 정보를 수정할 수 있습니다. 새 노드 생성할 때와 마찬 가지로 "class"와 "label"은 필수 입력 항목입니다.

  • id → 수정할 노드의 고유 ID (수정 불가)
  • class → 노드 유형
  • groupName → 그룹 구분
  • partName → 파트 구분
  • label 전체 → 라벨
  • hangeul → 한글 표기
  • hanja → 한자 표기
  • english → 영어 표기
  • infoUrl → 설명용 외부 링크
  • iconUrl → 아이콘 이미지 링크
  • note → 데이터 관리 정보
  • remark → 부가 설명

C. 버튼 기능

버튼설명

→ 수정한 내용을 데이터베이스에 저장 (/edit/updateNode 호출)

→ 데이터베이스에 저장된 노드 속성을 가져와서 화면에 표시. 수정 중에 초기 값을 복원하거나, 수정 후 결과 확인 목적으로 사용.

→ 편집 메뉴 화면으로 복귀 (/edit/menu 호출). 작업 수행 결과로 변경된 네트워크를 확인할 수 있습니다.

D. 결과 및 오류 메시지

  • 수정 성공 → ✅ 노드 수정 작업이 성공적으로 수행되었습니다."
  • 수정하려는 노드가 존재하지 않을 경우 → ⚠ 해당 노드를 찾을 수 없습니다.
  • DB 접속 오류 발생 → ❌ 데이터베이스 연결 오류
  • 작업 실행 오류 발생 → ❌ SQL 처리 오류

7) 링크 편집 (Edit Link)

A. 주요 기능

  • 두 노드 간의 관계(RDF triple)를 생성, 수정, 삭제할 수 있습니다.
  • 관계를 시각적으로 이해할 수 있도록 두 노드 간의 관계를 그래프로 함께 표시합니다.
  • 관계 방향(주어 ↔ 목적어)을 전환할 수 있으며, 관계의 속성값도 함께 관리할 수 있습니다.

B. 화면 구성

상단 – 노드 선택/전환 영역: 이곳에서 관계 생성(Insert), 수정(Update), 삭제(Delete)의 대상이 되는 두 노드를 지정할 수 있고 두 노드 사이의 주어-목적어 관계를 역으로 전환할 수 있습니다.

중단 – 작업 대상이 되는 두 노드 사이의 관계가 이곳에 시각적 그래프로 표시됩니다.

하단 - 두 노드 사이의 관계에 대한 정보를 입력하고, 새 관계 생성(Insert), 관계 수정(Update), 관계 삭제(Delete) 중에서 수행하려는 작업을 선택한 후 실행합니다.

  • relation → 관계명 (필수)
  • attribute → 관계 속성 (관계에 수반되는 속성. 예: 날짜, 위치 등)
  • note → 데이터 관리 정보
  • remark 부가 설명

※ 액션 선택:

  • Insert: 새 관계 추가
  • Update: 기존 관계 수정
  • Delete: 기존 관계 제거

C. 버튼 기능

버튼설명

→ 현재의 주어/목적어를 기준으로 화면 중단의 링크 그래프 다시 출력 (/edit/linkReview 호출)

→ 주어/목적어 전환 (전환 후 /edit/link 다시 호출)

→ 관계 저장/수정/삭제 실행 (/edit/linkExecute 호출)

D. 결과 및 오류 메시지

  • 선택한 작업 성공 → ✅ 관계가 추가되었습니다. / 🔄 관계가 수정되었습니다. / 🗑 관계가 삭제되었습니다.
  • 관계 데이터 중복 또는 존재하지 않는 관계에 대한 수정/삭제 요구 → ⚠️ 요청한 작업을 수행할 수 없습니다 (데이터 존재 여부 확인 필요).
  • DB 접속 오류 발생 → ❌ 데이터베이스 연결 오류
  • 작업 실행 오류 발생 → ❌ SQL 처리 오류

8) 노드 ID 관리 (Node ID Manager)

A. 주요 기능

  • 시맨틱 노드의 고유 ID를 변경하거나 삭제할 수 있습니다.
  • 노드 ID 변경에 따라 해당 노드와 연결된 모든 링크(source/target)의 ID도 일괄 수정할 수 있습니다.
  • 노드를 삭제할 때 관련된 관련된 링크를 함께 삭제할 수 있습니다.
  • 필요에 따라, 노드만 삭제하고 링크에 사용된 노드 이름을 변경하거나, 특정 노드의 링크를 삭제한 후 노드 이름을 변경하는 것도 가능합니다.

B. 화면 구성

노드 ID 관리기(Node ID Manager) 화면 4 개의 작업 영역으로 구성됩니다.

  • ✏️ Change Node → 노드 ID 변경
  • 🔁 Change Source and Target Id in Related Links → 관련 링크의 source/target ID 변경
  • 🗑 Delete Node → 노드 삭제
  • 🔥Delete Related Links → 관련 링크 삭제

C. 버튼 기능

버튼설명

→ 노드 ID 변경 실행 (/edit/node_id 호출)

→ 지정된 ID의 노드 삭제 실행 (/edit/node_id 호출)

→ 편집 메뉴 화면으로 복귀 (/edit/menu 호출). 노드 ID 변경/삭제가 정상적으로 이루어진 경우 "📭 유효한 시맨틱 데이터를 찾을 수 없습니다" 메시지 발생

D. 결과 및 오류 메시지

  • ID 변경 성공 → ✅ 노드 ID 갱신 작업이 성공적으로 수행되었습니다.
  • ID 변경 성공 → ✅ 링크 ID 갱신 작업이 성공적으로 수행되었습니다.
  • ID 변경 성공 → ✅ 노드 삭제 작업이 성공적으로 수행되었습니다.
  • ID 변경 성공 → ✅ 링크 삭제 작업이 성공적으로 수행되었습니다.
  • 존재하지 않는 ID의 노드에 대한 작업 요청 → ⚠ 해당 노드를 찾을 수 없습니다.
  • 존재하지 않는 ID의 링크에 대한 작업 요청 → ⚠ 해당 노드의 링크가 없습니다.
  • DB 접속 오류 발생 → ❌ 데이터베이스 연결 오류
  • 작업 실행 오류 발생 → ❌ SQL 처리 오류
  • 노드 ID 변경/삭제 후 편집 메뉴 화면으로 복귀 → 📭 유효한 시맨틱 데이터를 찾을 수 없습니다