OO-LD Playgrounds¶
Four browser playgrounds for the oold and
awl packages. All run entirely in your browser: no server, no install, no account.
They answer different questions, so pick by what you want to see.
- Two schemas with one instance read through each
- Terms table: what each term maps to and what else it is known as
- RDF export of the merged graph, drawn
- Inline validation and schema-driven completion while typing
oold install.- Monaco editor with
tycompiled to WebAssembly - Completion resolves fields on linked models, with their types
- Live diagnostics on generics such as
Link[T]andLinkList[T] - Inline overlay showing values fetched from a backend
- File browser with the walkthrough plus a notebook per runnable example
- Completion introspects the running namespace, not the source
- Resolves models generated by
datamodel-code-generator anywidgetviews render inline
- Branches in parallel lanes, a loop drawn as the region it encloses
- Typed parameters edited inside the node, taken from the class declaration
- Monaco on the same file, with diagnostics and hover
- A real execution, traced, laid over the blocks it went through
Which one¶
Start with the schema playground if you want to understand OO-LD itself: which term maps to which IRI, what graph an instance exports as, and what a second schema makes of that same graph. Two readings sit side by side, so a change of vocabulary is something you watch happen rather than take on trust. No Python needed.
The other two are about writing Python against oold, and they are
complementary rather than competing.
A static type checker reads source. It cannot see a class built by exec() or
create_model(), because that class has no source to read. The Jupyter kernel
introspects live objects and resolves exactly those cases.
The trade runs the other way too. JupyterLite reports no diagnostics at all, and cannot gain them in a serverless deployment, because the language server support needs a subprocess and a websocket route that a static site has no way to serve.
So: ty playground to see what the types say, JupyterLite to see what the objects actually are.
The AWL-LD playground is highly experimental and is about a different artefact: not a schema and not a model, but a procedure. It reads one Python file as a flow of steps and lets you edit it from either side, blocks or source, with each edit showing up in the other. Pressing run traces a real execution and draws what it went through.
Browser support¶
Chromium and Firefox both work. Firefox shipped JSPI, which the Pyodide kernel
depends on, so the notebooks no longer fail there with
WebAssembly stack switching not supported.
First load takes a few seconds in each: the Python runtime and the packages are
downloaded and started in the page. The schema playground is the heaviest, since
panel convert inlines its assets into a single large page.