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 필드도 자동으로 일괄 수정됩니다.