MatSci-SAM

Identifier policy

Public identifiers distinguish vocabulary schemes, terms, candidates, and immutable definition revisions. Other resources include tags, collections, models, studies, assertions, and metadata elements. Identifiers and citation gives citation examples.

What is identified

A vocabulary is a concept scheme. A term is one concept in that scheme. A definition is a contributed interpretation of the term, and a revision fixes one version of its text. Slugs and scoped numbers form their paths. Database primary keys are used internally and in legacy route lookups.

Grammar

{base}/vocabulary
{base}/vocabulary/{term}
{base}/vocabulary/{term}/definitions/{n}
{base}/vocabulary/{term}/definitions/{n}/revisions/{v}
{base}/vocabulary/{community}
{base}/vocabulary/{community}/{term}
{base}/vocabulary/{community}/{term}/definitions/{n}
{base}/vocabulary/{community}/{term}/definitions/{n}/revisions/{v}
{base}/tags/{scheme}
{base}/tags/{scheme}/{tag}
{base}/collections/{collection}
{base}/models/{model}
{base}/studies/{study}
{base}/metadata#{term}
{base}/metadata/matcore#{element}
{base}/graphs/{graph}
{base}/dataset

{base} is the configured identifier base. /vocabulary identifies the default scheme and its HTML page also lists community vocabularies. A collection may reference a term from another vocabulary without changing its identity or owning scheme.

Slugs

Term slugs use lowercase ASCII letters, digits, underscores, and hyphens. Spaces become underscores, diacritics are removed, and other characters are dropped. For example, "density functional theory (DFT)" becomes density_functional_theory_dft.

Slugs are unique within a vocabulary. A numeric suffix distinguishes normalized-label collisions. Community slugs are reserved from the default term namespace because both use one segment below /vocabulary.

Tag and collection slugs follow the label normalization rule. Tag slugs are unique within a scheme, and scheme slugs cannot be all digits. Numeric legacy tag routes therefore remain unambiguous.

Model slugs use the runtime tag, with runs of non-alphanumeric characters replaced by underscores. Hyphens are replaced too. For example, gemma4:26b becomes gemma4_26b.

Assigned slugs remain identifier data after display labels change.

Numbers

A definition receives a positive creation-order number within its term. A revision receives a positive number within its definition. The application stores these numbers and retains them through score changes, edits, and restorations. Removal does not release numbers for reuse. The interface shows both coordinates, such as Definition 2 · revision 1.

Stability

A merged tag retains its identifier and redirects permanently to its replacement. A retired tag without a replacement retains a status page. Retired model identities retain attributed contributions. Ordinary definition edits preserve the candidate and earlier revision addresses.

Exceptional administrator cleanup permanently deletes test definitions, revisions, and dependent records. Those resources then cease to resolve, although their numbers are not reused. The implementation does not provide historical tombstones for purged definitions.

Numeric /terms/{id}, /definition/{id}, and /tags/{id} routes redirect to readable paths. Controlled vocabulary migrations retain former term paths as aliases. Ordinary contribution actions do not move terms between schemes.

Statements and acts

An assertion has a permanent opaque key at {subject-IRI}#statement-{key}. A voting act uses {revision-IRI}#vote-event-{id}. The event row identifier is not reused.

A person in a provenance document uses {document-IRI}#user_{id}. The account number is consistent across documents. It identifies a fragment node, not a public profile page. The provenance model explains attribution and voter privacy.

Dynamic selectors

Append /rank/{n} to a default or community term path for a temporary redirect to the candidate at that rank. Highest net score wins, followed by newest candidate creation time and higher definition number. Revision publication time is not a tie-breaker. A rank URL is a changing selector and should not be stored as a candidate identity.

Authority

The public namespace is https://w3id.org/matsci-sam. Its resolver redirects to the website that provides HTML or RDF. The document location can change independently of the resource identifier. Separate deployments can configure a different base for their own data.