Skip to content
@sdm-lang

Simple Domain Modeling Language

Simple Domain Modeling Language (SDML).

SDML Logo Text

The Simple Domain Modeling Language (SDML) is a small data-oriented language for constructing, documenting, and reasoning about a conceptual domain model. At it's core SDML comprises:

  1. a semantic model whose structure and semantics are described in RDF with an OWL ontology,
  2. a surface syntax for editing and sharing model artifacts, and
  3. a constraint language to capture model invariants not covered by the data descriptions in the surface syntax.

For more information on the language, see the documentation.

The core repositories are:

  • tree-sitter-sdml -- The tree-sitter implementation of the SDML language. Note that the grammar defined in this repository is the definitive specification.
  • rust-sdml -- Parser and Generator libraries and a CLI for manipulating SDML source files.
  • sdml.io -- The documentation for the SDML language, available at https://sdml.io.

Source Editor

The following table demonstrates the current editor support for SDML. Note that the tree-sitter parser and TextMate grammar alone provides multiple editor support while the Sublime Text grammar also covers the bat command-line tool.

Repo Tool Highlighting Snippets Indentation Folding Linting CLI
here Emacs Complete, using Tree-Sitter Extensive, using abbrev-mode and skeletons Yes Yes Yes, using flycheck Yes, including in org-mode.
here VSCode Yes, using TextMate grammar Yes, converted from TextMate Simple No No Partial
here TextMate Yes, a .tmLanguage grammar Yes, extensive Simple No No Partial
here Sublime Text Yes, a .sublime-syntax grammar No No No No No
in Sublime bat Yes, using Sublime Text grammar N/A N/A N/A N/A N/A
in TextMate Jet Brains Yes, using TextMate Bundle Yes No No No No
Neovim Using Tree-Sitter ? ? ? ? ?

Instructions exist for integrating tree-sitter parsers into Neovim, this is not tested.

Other Tools

  • highlightjs-sdml -- Syntax highlighting of SDML source files in HTML resources.

Pinned

  1. rust-sdml rust-sdml Public

    Rust CLI tools for the Simple Domain Modeling Language (SDML)

    Rust

  2. tree-sitter-sdml tree-sitter-sdml Public

    Tree-sitter grammar for the Simple Domain Modeling Language (SDML)

    C 1

Repositories

Showing 10 of 10 repositories

Top languages

Loading…

Most used topics

Loading…