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.

Licenses

All repositories are dual licensed with Apache-2.0 and MIT unless otherwise stated.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

For information on contributing to this project, see the following:

  1. Project Contribution Guidelines
  2. Project Code of Conduct.

Pinned Loading

  1. rust-sdml rust-sdml Public

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

    Rust 6 1

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

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

    C 4 3

Repositories

Showing 10 of 18 repositories
  • rust-sdml Public

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

    sdm-lang/rust-sdml’s past year of commit activity
    Rust 6 Apache-2.0 1 9 0 Updated Oct 31, 2025
  • .github Public

    Specials

    sdm-lang/.github’s past year of commit activity
    0 0 0 0 Updated Oct 31, 2025
  • emacs-sdml-mode Public

    Emacs major mode for the Simple Domain Modeling Language (SDML)

    sdm-lang/emacs-sdml-mode’s past year of commit activity
    Emacs Lisp 1 Apache-2.0 2 0 0 Updated Oct 31, 2025
  • emacs-sdml-ts-mode Public

    Emacs major mode for SDML using built-in tree-sitter suport

    sdm-lang/emacs-sdml-ts-mode’s past year of commit activity
    Emacs Lisp 0 Apache-2.0 0 0 0 Updated Oct 31, 2025
  • emacs-sdml-cli Public

    Emacs library for running the SDML command-line tool

    sdm-lang/emacs-sdml-cli’s past year of commit activity
    Emacs Lisp 0 Apache-2.0 0 0 0 Updated Oct 31, 2025
  • emacs-ob-sdml Public

    Org-Babel integration for SDML source files.

    sdm-lang/emacs-ob-sdml’s past year of commit activity
    Emacs Lisp 0 Apache-2.0 0 0 0 Updated Oct 30, 2025
  • emacs-flycheck-sdml Public

    Flycheck integration for SDML source files.

    sdm-lang/emacs-flycheck-sdml’s past year of commit activity
    Emacs Lisp 0 Apache-2.0 0 0 0 Updated Oct 30, 2025
  • SDML.tmbundle Public

    SDML Bundle for TextMate

    sdm-lang/SDML.tmbundle’s past year of commit activity
    Shell 0 Apache-2.0 0 0 0 Updated Oct 30, 2025
  • emacs-sdml-fold Public

    Code folding support for SDML source files.

    sdm-lang/emacs-sdml-fold’s past year of commit activity
    Emacs Lisp 0 Apache-2.0 0 0 0 Updated Oct 30, 2025
  • model-adcom Public

    AdCOM 1.0 FINAL model in SDML.

    sdm-lang/model-adcom’s past year of commit activity
    0 Apache-2.0 0 0 0 Updated Oct 30, 2025

Top languages

Loading…