Documentation

Learn how to use OntoKit to create, edit, and collaborate on OWL ontologies.

Getting Started

OntoKit is a modern, collaborative OWL ontology curation platform designed as a replacement for Stanford WebProtege. It provides a streamlined workflow for creating, editing, and managing semantic web ontologies.

Quick Start

  1. Browse public projects without signing in, or sign in to create and contribute
  2. Create a new project or join an existing one
  3. Upload an ontology file (Turtle, RDF/XML, OWL/XML) or start from scratch
  4. Use the form-based editor to browse and modify classes, properties, and individuals
  5. Changes are auto-saved as drafts; navigate away to commit them to git
  6. Create branches and pull requests, or submit suggestions for review

Core Concepts

Projects

Projects are containers for your ontologies. Each project has its own Git repository for version control, team members, and access settings.

Branches

Work on changes in isolated branches without affecting the main ontology. Merge changes through pull requests when ready.

Pull Requests

Propose changes to the ontology through pull requests. Review semantic diffs, discuss changes, and merge when approved.

Suggestions

Suggesters can propose changes without direct edit access. Suggestions are auto-saved as you work and submitted for editor review with approve, reject, or request-changes outcomes.

Linting

Automatic validation checks your ontology for common issues, missing labels, and best practice violations.

Auto-Save

A two-tier auto-save system protects your work: edits are cached locally on blur, and committed to git when you navigate away. Draft indicators show unsaved changes on tree nodes.

Team Roles & Permissions

Each project member is assigned a role that determines what they can do. Roles are project-scoped — a user can have different roles in different projects.

RoleCapabilities
OwnerFull control over the project. Can delete the project, transfer ownership, manage members and settings, create branches, edit the ontology, and run the health check.
AdminManage members and project settings, create branches, edit the ontology, and run the health check. Cannot delete the project.
EditorCreate branches, edit ontology source, and create pull requests. Review and approve/reject suggestions from suggesters. Cannot manage members, change settings, or run the health check.
SuggesterPropose changes via suggestion sessions that are reviewed by editors. Can browse the ontology, create and submit suggestions, and view their own suggestion history. Cannot directly edit the ontology or create branches. This is the default role for new project members.
ViewerBrowse the class tree, view the source in read-only mode, and view health check results. Cannot make any changes.

Good to know

  • The person who creates a project automatically becomes its Owner
  • New project members are assigned the Suggester role by default
  • Public projects can be viewed by anyone, but only members can edit
  • Private projects are only visible to their members

Editor Modes

OntoKit offers two editing modes to suit different workflows. Your preference is saved and persists across sessions.

Standard Mode

A form-based editing experience for classes, properties, and individuals. Edit labels, comments, annotations, and relationships through structured fields. Entities are read-only by default — click "Edit Item" to start editing, with changes auto-saved as you work.

Developer Mode

Direct access to the Turtle source with full syntax highlighting, auto-completion, and inline validation in a Monaco-based editor. Ideal for power users who prefer working with raw RDF/OWL syntax.

Editor Features

Entity Tree

Navigate your ontology using hierarchical trees for classes, properties, and individuals. Entities are organized by their subclass/subproperty relationships, with lazy loading for large ontologies.

  • Expand/collapse hierarchies with multi-level controls (one level, all, or none)
  • View subclass counts at each level
  • Search for entities by name or IRI
  • Drag-and-drop reparenting with cycle detection and undo
  • Right-click context menus for Add Subclass, Copy IRI, View in Source, and Delete
  • Draft indicators on nodes with unsaved changes
  • Language tags displayed as country flag emojis
  • Keyboard navigation with arrow keys and aria-activedescendant

Detail Panel

View and edit entity metadata through structured forms. Separate panels are provided for classes, properties, and individuals, each tailored to their specific OWL constructs.

  • Multi-language label and comment editing with inline annotation adder
  • Superclass/subclass and equivalent/disjoint relationships
  • Annotation properties with IRI-valued relationship editing
  • Property assertions for individuals
  • Entity history tab with revision tracking
  • Similar concepts panel for discovering related entities
  • Cross-references panel showing where an entity is used
  • Delete impact analysis before entity removal
  • Resizable panel dividers for customizing the layout

Graph Visualization

Explore ontology relationships visually with an interactive graph view powered by React Flow and ELK layout.

  • Depth-2 neighbor fetching with expandable nodes
  • Custom node styling for focus, parent, child, equivalent, and disjoint classes
  • Color-coded edges for different relationship types with hover labels
  • Root nodes highlighted with distinct amber/gold styling

Source Editor

Edit your ontology directly in Turtle syntax with full syntax highlighting, auto-completion, and inline validation. Available in Developer mode or via the Source tab.

  • Turtle syntax highlighting
  • Hover over IRIs to see full definitions
  • Ctrl+Click to navigate to class definitions or open external IRIs in a new tab
  • Real-time linting with inline error markers

Keyboard Shortcuts

ShortcutAction
Ctrl+S / Cmd+SSave current drafts
Ctrl+N / Cmd+NCreate a new entity
?Show keyboard shortcuts help
EscapeClose overlays and dialogs

Supported Formats

FormatExtensionMIME Type
Turtle.ttltext/turtle
RDF/XML.rdf, .xmlapplication/rdf+xml
OWL/XML.owlapplication/owl+xml
N-Triples.ntapplication/n-triples
JSON-LD.jsonldapplication/ld+json

Import & Normalization

Canonical Turtle Format

When you import an ontology file, OntoKit normalizes it to a canonical Turtle format. This ensures consistent formatting across all edits and produces minimal, meaningful diffs in version history. The normalization happens once at import time.

What changes during normalization:

  • All formats (RDF/XML, OWL/XML, N3, JSON-LD) are converted to Turtle (.ttl)
  • Triples are reordered into a consistent, deterministic sequence
  • Unused namespace prefixes may be removed (e.g., rdf:, xml:, xsd: if not explicitly used)
  • Whitespace and formatting are standardized
  • The shorthand a is used for rdf:type

Metadata Synchronization

When you update a project's name or description in Project Settings, OntoKit automatically syncs these changes to the ontology's RDF metadata properties.

How metadata sync works:

  • Title: Updates dc:title, dcterms:title, or rdfs:label (whichever exists)
  • Description: Updates dc:description, dcterms:description, or rdfs:comment
  • If no metadata property exists, dc:title / dc:description is added
  • Changes are committed to git with a descriptive message

API Reference

OntoKit provides a comprehensive REST API for programmatic access to all platform features. Use the API to integrate OntoKit with your existing tools and workflows.

View API Documentation