What Is SMML?

The Semantic Modeler Markup Language (SMML) is a JSON-based markup language that describes the design-time semantic model's objects. SMML provides a grammar, syntax, and structure for defining semantic models.

Each SMML file represents an object in the semantic model. You can use a semantic model's SMML files for metadata migration, programmatic metadata generation and manipulation, metadata patching, and other functions.

SMML allows developers to use their semantic model editor of choice. Developers can use the Semantic Modeler user interface and its diagramming capabilities to create models, or use the native SMML editor or their preferred external text editor to create and modify the semantic model.

And because SMML uses JSON files, Semantic Modeler can integrate with any Git-compatible repository, such as GitHub, GitLab, or Git on Oracle Visual Builder, to provide a seamless, efficient multi-user development environment and source control. With full support for branching, merging, pull, push, and commit from within Semantic Modeler, multiuser development becomes much less complicated. With Git integration, you have full visibility to a complete change history and the ability to publish to multiple targets.

Other benefits of SMML include:

  • File granularity is at the table level (not the column level), which reduces the number of files to manage.
  • SMML files are human readable.
  • Object references are easy to define with fully-qualified object names.
  • SMML object names match the names used by the Semantic Modeler user interface.
  • Attributes order matches the attribute order used by the Semantic Modeler interface.
  • The semantic model's SMML files can be exported as data model archive (.mar) files.

For more information about SMML, see SMML Schema Reference for Oracle Analytics Cloud.