Back to Home

Ontology Documentation Generator SimpleOntoDoc

SimpleOntoDoc generates static documentation sites for ontologies with classes, properties, and UML diagrams. Suitable for CIM, GOST and domain models. Integration into CI/CD ensures relevance.

SimpleOntoDoc: ontology documentation with diagrams
Advertisement 728x90

Static Documentation Generator for Ontologies: Implementation and Applications

SimpleOntoDoc is a tool for creating static websites to document ontologies. An ontology describes a subject area through classes, attributes, and the relationships between them. The project is geared toward internal company models and standards like CIM (IEC61970), but it has broader applications.

The tool generates navigation, diagrams, property tables, and search functionality. It supports parsing JSON schema descriptions, renders UML diagrams with PlantUML, and uses Bootstrap for the interface.

Structure of the Generated Site

The homepage features tiles for quick access: Classes, Enums, Primitives, Data Types, Compounds. Each tile filters entities by type. The header includes a case-insensitive search by names and descriptions.

Google AdInline article slot

The Entities tab displays a table of all entities with interactive search. Rows are clickable and lead to class pages.

On a class page (example: PowerSystemResource):

  • Description and UML diagram of the inheritance hierarchy + outgoing relationships.
  • Property table with clickable IDs.
  • Summary block: navigation to parents, children, and usage as a data type.
  • Reference table: properties of other classes where this class is the type.
  • Table of child classes.

Diagrams are interactive: panzoom for navigation, nodes are clickable.

Google AdInline article slot

A property page (example: PowerSystemResource.Controls) includes a description, summary, and navigation.

Applications in Projects

The tool is suitable for domains with UML-like structures: classes, inheritance, composition. Describe the ontology in JSON (model.py API), then generate the site.

Use cases:

Google AdInline article slot
  • Documentation of business entities in a service (50+ classes).
  • Common language between developers, analysts, and requirements authors.
  • CI/CD: generate the site when JSON changes in Git.
  • Foundation for code generation or export.

Separate the ontology from business logic in requirements.

Technology Stack

  • C# / .NET 9: application foundation.
  • PlantUML: renders UML diagrams via a temporary server.
  • RazorLight: page templating.
  • Bootstrap 5: frontend layout.

The publishing script builds a Docker container with Nginx.

Comparison with Alternatives

| Tool | Pros | Cons |

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

| ontology.tno.nl | Ready-made sites for CIM | No source code, not adapted for GOST |

| Widoco | OWL support | Single page, extraneous information, design |

| Ontospy | Inheritance tree | Requires modifications for JSON/UML |

SimpleOntoDoc focuses on simplicity of description, close to programming languages, avoiding the complexities of RDF/OWL.

Enhancement Possibilities

  • Multilingual interface.
  • Tree view of classes with inheritance.
  • Parsers for RDF/XML, OWL, XMI, PDF (GOST).
  • Validation: min/max, regex for properties.
  • Metadata for classes/attributes.
  • Anchors (#) for page sections.

Key Points

  • Generates a full-featured site with search, diagrams, and hyperlinks.
  • Input: JSON from model.py, output: static files in Docker.
  • Adapted for CIM/GOST, extensible.
  • For middle/senior developers: focus on domain models without RDF complexities.
  • CI integration for live documentation.

— Editorial Team

Advertisement 728x90

Read Next