Powrót do strony głównej

Generator dokumentacji ontologii SimpleOntoDoc

SimpleOntoDoc generuje statyczne strony dokumentacji dla ontologii z klasami, właściwościami i diagramami UML. Nadaje się dla CIM, GOST i modeli dziedzinowych. Integracja w CI/CD zapewnia aktualność.

SimpleOntoDoc: dokumentacja ontologii z diagramami
Advertisement 728x90

Generator statycznej dokumentacji dla ontologii: implementacja i zastosowanie

SimpleOntoDoc — narzędzie do tworzenia statycznych stron z dokumentacją ontologii. Ontologia opisuje dziedzinę poprzez klasy, atrybuty i relacje między nimi. Projekt jest skierowany na wewnętrzne modele firm i standardy takie jak CIM (IEC61970), ale ma szersze zastosowanie.

Narzędzie generuje nawigację, diagramy, tabele właściwości i wyszukiwanie. Obsługuje parsowanie opisów schematów w formacie JSON, renderuje diagramy UML za pomocą PlantUML i wykorzystuje Bootstrap do interfejsu.

Struktura generowanej strony

Strona główna zawiera kafelki do szybkiego dostępu: Klasy, Enumeracje, Typy proste, Typy danych, Złożone. Każdy kafelek filtruje encje według typu. W nagłówku — wyszukiwanie bez uwzględniania wielkości liter po nazwach i opisach.

Google AdInline article slot

Zakładka Encje wyświetla tabelę wszystkich encji z interaktywnym wyszukiwaniem. Wiersze są klikalne, prowadzą do stron klas.

Na stronie klasy (przykład: PowerSystemResource):

  • Opis i diagram UML hierarchii dziedziczenia + wychodzące relacje.
  • Tabela właściwości z klikalnymi ID.
  • Blok podsumowania: nawigacja po rodzicach, dzieciach, użyciu jako typ danych.
  • Tabela odwołań: właściwości innych klas, gdzie dana klasa jest typem.
  • Tabela klas potomnych.

Diagramy są interaktywne: panzoom do nawigacji, węzły są klikalne.

Google AdInline article slot

Strona właściwości (przykład: PowerSystemResource.Controls) zawiera opis, podsumowanie i nawigację.

Zastosowanie w projektach

Narzędzie nadaje się do domen z UML-podobnymi strukturami: klasy, dziedziczenie, kompozycja. Opisz ontologię w JSON (API model.py), wygeneruj stronę.

Warianty użycia:

Google AdInline article slot
  • Dokumentacja encji biznesowych serwisu (50+ klas).
  • Wspólny język między programistami, analitykami i autorami specyfikacji.
  • CI/CD: generuj stronę przy zmianie JSON w Git.
  • Podstawa do generowania kodu lub eksportu.

Oddziel ontologię od logiki biznesowej w specyfikacji.

Stos technologiczny

  • C# / .NET 9: podstawa aplikacji.
  • PlantUML: renderowanie diagramów UML przez tymczasowy serwer.
  • RazorLight: szablonowanie stron.
  • Bootstrap 5: układ frontendu.

Skrypt publikacji buduje kontener Docker z Nginx.

Porównanie z analogami

| Narzędzie | Zalety | Wady |

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

| ontology.tno.nl | Gotowe strony dla CIM | Brak kodu źródłowego, nie dostosowany do normy GOST |

| Widoco | Obsługa OWL | Jedna strona, zbędne informacje, design |

| Ontospy | Drzewo dziedziczenia | Wymaga modyfikacji pod JSON/UML |

SimpleOntoDoc skupia się na prostocie opisu, bliskiej językom programowania, unika złożoności RDF/OWL.

Możliwości rozbudowy

  • Wielojęzyczność interfejsu.
  • Widok drzewa klas z dziedziczeniem.
  • Parsery dla RDF/XML, OWL, XMI, PDF (GOST).
  • Walidacja: min/max, regex dla właściwości.
  • Metadane dla klas/atrybutów.
  • Kotwice (#) dla sekcji stron.

Co jest ważne

  • Generuje pełnoprawną stronę z wyszukiwaniem, diagramami i hiperłączami.
  • Wejście: JSON z model.py, wyjście: statyka w Docker.
  • Dostosowane do CIM/GOST, rozszerzalne.
  • Dla middle/senior: skupienie na modelach domenowych bez złożoności RDF.
  • Integracja w CI dla dokumentacji na żywo.

— Editorial Team

Advertisement 728x90

Czytaj dalej