What is this?
The LinkML-Scala playground is an in-browser tool for working with
LinkML schemas. Paste a LinkML
schema (YAML) and instantly generate
JSON Schema,
SHACL,
RDFS, a
Frictionless Table Schema,
a GraphQL,
a Mermaid ER diagram,
an Apache Ossie ontology,
or Scala classes – or lint and derive/prune your schema. It is powered by
LinkML-Scala.
It also goes the other way: switch the toolbar to To LinkML to paste an
Apache Ossie ontology and get the LinkML schema it describes. Where a conversion can be
undone, the output pane has a ⇆ button that feeds the result straight back the other
way. The two sides keep their own input text, so switching between them never overwrites
what you had.
How does it work?
LinkML-Scala is written in Scala 3
and compiled to JavaScript with Scala.js,
so the whole generator runs in your browser – there is no backend. The
editors are powered by CodeMirror.
See the contributing guide
for how it is built.
Software version
- LinkML-Scala
- –
- LinkML metamodel
- –
- Scala
- –
- Scala.js
- –
- Runtime
- –
Where is my data processed?
Entirely on your device. Your schema is never uploaded – all generation
happens locally in this browser tab. There is no server, no account, and no analytics.
This app makes an external request in Load from URL: it downloads the
file from the link you paste, so that server sees the request. Your schema still stays here.
Share does not upload anything either. It packs your schema, the selected target
and its options into the link itself, compressed, after the #. Browsers never
send that part of a URL to a server, so the schema only ever travels to whoever you hand the
link to. Long schemas make long links – the dialog tells you how long. (If you loaded
the schema with Load from URL and have not edited it, you get a short link pointing
back at that address instead.)
How can I use LinkML-Scala?
Beyond this playground, LinkML-Scala ships three ways: