Crates.io | sdml-core |
lib.rs | sdml-core |
version | |
source | src |
created_at | 2023-07-28 03:00:11.156955+00 |
updated_at | 2025-03-10 19:39:55.113404+00 |
description | Core Model for Simple Domain Modeling Language (SDML) |
homepage | |
repository | https://github.com/johnstonskj/rust-sdml.git |
max_upload_size | |
id | 928100 |
Cargo.toml error: | TOML parse error at line 19, column 1 | 19 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
Rust in-Memory model of the Simple Domain Modeling Language (SDML).
This package is part of the Rust SDML project and specifically defines the in-memory model of an SDML module. The project's intent is to provide an idiomatic implementation of the in-memory model, parser, generators, and the CLI tool.
The following figure demonstrates this package in the broader project context.
Note that other tools can use the sdml_core
API to create or manipulate models.
ModuleStore
.Member
to be a union of MemberDef
and IdentifierReference~
identity
to be just a Member
.PropertyDef
to be a wrapper around MemberDef
.cache
(now store
) and load
modules.MaybeInvalid
to MaybeIncomplete
.has_source
to the trait ModuleLoader
.for both
QualifiedReferenceand
IdentifierReference`.Identifier::from_str
should allow type names.ModuleStore
trait, implemented by ModuleCache
.While not advantageous immediately, it mirrors the separation of trait and
implementation that worked well for ModuleLoader
and ModuleResolver
.
IdentifierNotPreferredCase
, to enforce case
conventions.todo!
panics.sdml_error
.deprecated
terminology validation.iso_3166
for country codes, and iso_4217
for
currency codes.with_
constructors on Cardinality
to take option types.Clean-up release.
import!
macro for stdlib modules.println!
calls.sdml
stdlib module.is_stdlib_property
and is_datatype_facet
to
AnnotationProperty
.AnnotationBuilder
trait and impls on most definitions to allow
easy adding of annotation properties.ModuleCache
to make it more collection-like.dc
(elements) -- Complete.dc_terms
-- Not started.dc_am
-- Not started.dc_type
-- Not started.owl
-- Complete.rdf
-- Complete.rdfs
-- Complete.sdml
-- Mostly complete.skos
-- Complete.xsd
(part 2) -- Complete.This change affects the ModuleCache
as well, it's with_stdlib
constructor will
include all the library modules and their definitions. This can be checked out
with the command-line tool to either draw diagrams of the standard library
modules or convert into s-expressions, etc.
base
keyword.version
keyword after module URI with:
owl:versionInfo
.owl:verionIRI
.rdf
followed by either structure
or property
with name and
annotation body.SimpleModuleWalker
with support for RDF class/property definitions.Cardinality::to_uml_string
to output constraints.mapping_type
and mapping_value
rules.Option
.tree-sitter-sdml
version 0.1.29
stdlib
module and moved all the SDML and relevant RDF files into it.tree-sitter-sdml
version 0.1.21
.tree-sitter-sdml
dependency with updated constraints.
TypeDefinition
to Definition
to address the fact that property
definitions aren't types.EnumVariant
to ValueVariant
to align with TypeVariant
on unions.
This required change to walker methods.Previously part of a single crate sdml.