The browser turns small ontologies into teachable diagrams
Ontology Playground renders entities and relationships as a Cytoscape graph, with pan, zoom, search, and an inspector for properties and cardinality. The designer adds typed properties, colors, icons, relationships, and a live preview. Undo and redo retain 50 levels. A beginner can start from one of five templates instead of an empty canvas, then export RDF/XML or JSON. That is a useful bridge between a whiteboard sketch and Fabric IQ's ontology format.
The catalogue covers six named domains in the README, and the learning area contains 9 courses. Seven are domain paths, one teaches fundamentals, and one is a retail supply-chain lab that grows from 3 to 15 entities. Articles can become slides and include quizzes. These details make the project more useful for a workshop than a bare graph editor. The natural-language query box maps questions to the ontology structure; it does not query a connected business dataset.
RDF round trips work best inside the Playground's model
The editor imports RDF/XML and OWL classes, datatype properties, object properties, and cardinalities, then serializes the result again. Its own authoring guide recommends 3 to 8 entities and warns that graphs above 10 become crowded. The model favors one identifier per entity, short verb-based relationships, and a small set of property types. Those rules produce readable demos, though they describe this application's expected shape rather than the full expressive range of OWL.
Open issue 79 gives the clearest interoperability warning. It says property order depends on serialization order, relationship attributes use custom annotations, cardinality is stored as descriptive text, and enum values become comma-separated strings. Issue 101 shows another boundary: a 5.2 MB Brick file produced 1,530 entities and 0 relationships because the parser ignored 2,016 rdfs:subClassOf statements. Use a representative ontology for import testing, especially when class hierarchies carry the model.
The embed widget escapes catalogue content
The standalone widget can load an ontology by catalogue ID, URL, or inline base64 and render it inside another page. Microsoft's security note says entity text goes through React escaping, graph labels are drawn on a canvas, and RDF output goes through XML escaping before JSX renders it. The catalogue compiler validates safe directory slugs and rejects symlinks. Community entries also pass validation and human pull-request review before appearing in the catalogue.
One-click contribution needs more trust than viewing. GitHub device flow requests the public_repo scope, stores the access token in localStorage, forks the repository, commits RDF and metadata, and opens a pull request. With no client ID, the app falls back to an RDF download and manual contribution. A self-hosted deployment should decide whether that browser-stored token and broad public-repository scope are acceptable before enabling the button.
What happened when we ran it
Our Node 22 sandbox installed commit 1f8113b in 19 seconds. Npm added 314 packages and used 294 MB. The production build completed in 21 seconds, including catalogue compilation, learning-content compilation, TypeScript checking, the Vite application, and the embed bundle. Vitest finished in 20 seconds with 397 passed and 0 failed. The clean result gives contributors a useful baseline for changes to parsing, validation, lessons, or UI behavior.
The dependency audit is the counterweight. Npm reported 11 known vulnerabilities: 6 high and 5 moderate, with 0 critical and 0 low. Our run did not establish exploitability in the deployed static bundle, so the correct next step is to inspect the affected packages and paths rather than dismissing or exaggerating the totals. The 3.5 MB repository had 387 files, about 20,183 source lines, 8 CI workflow files, no Dockerfile, and no top-level tests directory.
Static hosting is simple until optional services are enabled
The default application has no backend dependency. A fork can deploy to GitHub Pages, while the included Azure Static Web Apps workflow supports preview environments for pull requests. Local work asks for Node.js 18 or newer and npm 9 or newer. The Azure route needs its deployment token. Hash-based routes make catalogue pages, designer states, and lessons shareable without server-side routing rules.
Optional features change that profile. GitHub submissions need an OAuth application and device flow. The AI builder is disabled by default and requires Azure OpenAI plus an API function. Issue 84 reports that generated ontologies go straight into application state after only basic shape checks, bypassing the designer's identifier and type-consistency validation. Until that path is fixed, validate generated work manually before RDF export or Fabric IQ use.
Preview status matches the unresolved large-graph issues
GitHub recorded a push on September 10, 2026. The repository had 2,634 stars and 37 open issues and pull requests when fetched, but no tagged GitHub release. Current activity matters more than the missing release alone, and the same-day dependency pull request shows automation is still working. The absence of releases still leaves deployers choosing a commit instead of a maintainer-defined stable version.
Issue 87 reports an overlay obscuring graph nodes, difficult navigation on a large ontology, and an empty PNG export. Combined with the authoring guide's preferred 5 to 8 entities, that makes the intended scale clear. Ontology Playground earns a place in training and early Fabric IQ design. A standards-heavy ontology program should keep Protégé or another OWL-focused editor as the source of truth and use this Playground only after representative round-trip checks.

