홈으로 돌아가기

온톨로지 문서화 생성기 SimpleOntoDoc

SimpleOntoDoc는 클래스, 속성, UML 다이어그램이 포함된 온톨로지를 위한 정적 문서화 사이트를 생성합니다. CIM, GOST 및 도메인 모델에 적합합니다. CI/CD 통합으로 관련성을 보장합니다.

SimpleOntoDoc: 다이어그램이 포함된 온톨로지 문서화
Advertisement 728x90

온톨로지 정적 문서 생성기: 구현 및 활용

SimpleOntoDoc는 온톨로지를 문서화하는 정적 웹사이트를 생성하는 도구입니다. 온톨로지는 클래스, 속성 및 그들 간의 관계를 통해 주제 영역을 설명합니다. 이 프로젝트는 CIM(IEC61970)과 같은 내부 회사 모델 및 표준을 대상으로 하지만, 더 넓은 적용 분야를 가지고 있습니다.

이 도구는 네비게이션, 다이어그램, 속성 테이블 및 검색 기능을 생성합니다. JSON 스키마 설명 파싱을 지원하며, PlantUML로 UML 다이어그램을 렌더링하고, 인터페이스에 Bootstrap을 사용합니다.

생성된 사이트 구조

홈페이지에는 빠른 접근을 위한 타일이 있습니다: 클래스, 열거형, 기본형, 데이터 타입, 복합형. 각 타일은 엔티티를 유형별로 필터링합니다. 헤더에는 이름과 설명을 대소문자 구분 없이 검색하는 기능이 포함됩니다.

Google AdInline article slot

엔티티 탭은 모든 엔티티의 테이블을 대화형 검색과 함께 표시합니다. 행은 클릭 가능하며 클래스 페이지로 연결됩니다.

클래스 페이지(예: PowerSystemResource)에는 다음이 포함됩니다:

  • 설명 및 상속 계층 구조 + 외부 관계의 UML 다이어그램.
  • 클릭 가능한 ID가 있는 속성 테이블.
  • 요약 블록: 부모, 자식 및 데이터 타입으로의 사용을 위한 네비게이션.
  • 참조 테이블: 이 클래스가 타입인 다른 클래스의 속성.
  • 자식 클래스 테이블.

다이어그램은 대화형입니다: 패닝 줌으로 탐색 가능하며, 노드는 클릭 가능합니다.

Google AdInline article slot

속성 페이지(예: PowerSystemResource.Controls)에는 설명, 요약 및 네비게이션이 포함됩니다.

프로젝트에서의 활용

이 도구는 UML과 유사한 구조를 가진 도메인에 적합합니다: 클래스, 상속, 구성. JSON(model.py API)으로 온톨로지를 설명한 후 사이트를 생성하세요.

사용 사례:

Google AdInline article slot
  • 서비스 내 비즈니스 엔티티 문서화(50개 이상의 클래스).
  • 개발자, 분석가 및 요구사항 작성자 간의 공통 언어.
  • CI/CD: Git에서 JSON이 변경될 때 사이트 생성.
  • 코드 생성 또는 내보내기를 위한 기반.

요구사항에서 온톨로지를 비즈니스 로직과 분리하세요.

기술 스택

  • C# / .NET 9: 애플리케이션 기반.
  • PlantUML: 임시 서버를 통해 UML 다이어그램 렌더링.
  • RazorLight: 페이지 템플릿.
  • Bootstrap 5: 프론트엔드 레이아웃.

게시 스크립트는 Nginx가 포함된 Docker 컨테이너를 빌드합니다.

대안과의 비교

| 도구 | 장점 | 단점 |

|------------|-------|--------|

| ontology.tno.nl | CIM용 준비된 사이트 | 소스 코드 없음, GOST에 적응되지 않음 |

| Widoco | OWL 지원 | 단일 페이지, 불필요한 정보, 디자인 |

| Ontospy | 상속 트리 | JSON/UML용 수정 필요 |

SimpleOntoDoc는 RDF/OWL의 복잡성을 피하고 프로그래밍 언어에 가까운 간단한 설명에 중점을 둡니다.

향상 가능성

  • 다국어 인터페이스.
  • 상속이 포함된 클래스 트리 뷰.
  • RDF/XML, OWL, XMI, PDF(GOST)용 파서.
  • 검증: 속성에 대한 최소/최대, 정규식.
  • 클래스/속성에 대한 메타데이터.
  • 페이지 섹션용 앵커(#).

핵심 포인트

  • 검색, 다이어그램 및 하이퍼링크가 포함된 완전한 기능의 사이트 생성.
  • 입력: model.py의 JSON, 출력: Docker 내 정적 파일.
  • CIM/GOST에 적응 가능하며 확장 가능.
  • 중급/시니어 개발자용: RDF 복잡성 없이 도메인 모델에 집중.
  • 실시간 문서화를 위한 CI 통합.

— Editorial Team

Advertisement 728x90

다음 읽기