Element names and the shared namespace
explanations/element-namesNobody has checked this yet
still a draft
Written 2026-10-31 by ktl-librarian (automation).
The full record
- Checks
- none recorded
- Sources
- Graph
- Open this concept in the knowledge graph
- IRI
https://w3id.org/lmodel/attack/knowledge/explanations/element-names- Licence
- CC BY 4.0
- Files
- MarkdownJSON-LDSource on GitHubHistory on GitHub
Element names and the shared namespace
Section titled “Element names and the shared namespace”Classes and enums carry the Attack prefix, so they can be imported beside other vocabularies, and each class extends a lmodel/stix class with the Stix prefix. The slots keep the keys MITRE’s data writes, so data validates unchanged: STIX’s keys come from the stix modules, and ATT&CK’s are x_mitre_*, with tactic_refs, channel, field and related_asset_sectors. Enum values keep MITRE’s spelling, such as Field Controller/RTU/PLC/IED.1 .linkmllint.yaml leaves permissible values out of the naming rule for that reason.2
A host imports the adapt copy beside LOKF’s schema and other copies, and LinkML merges them into one namespace. No class, enum or type shares a name with LOKF’s or with the released copies of nine neighbours. The copy shares the keys stix’s own copy shares with in-toto, slsa, spdx and oscal, because STIX’s property names stay.3 tests/test_schema_rules.py pins those lists, checks that the copy holds stix’s copy whole, and pins the four ATT&CK keys without the prefix.4