EA导出RDFS文件:如何修改cims:stereotype的rdf:resource并理解URI差异?
关于EA Schema Composer导出RDFS文件中cims:stereotype URI的问题
背景
我使用Enterprise Architect(EA)的Schema Composer工具生成RDFS增强文件,下游使用者要求文件中cims:stereotype的rdf:resource值为:
cims:stereotype rdf:resource="http://iec.ch/TC57/NonStandard/UML#enumeration"/
但无论我使用EA内置的枚举构造型还是自定义枚举构造型,导出的文件中该字段始终为:
cims:stereotype rdf:resource="http://langdale.com.au/2005/UML#enumeration"/;
补充说明:EA中可创建UML类图,通过内置的Schema Composer导出为RDFS文件,供下游用于自动生成代码。构造型用于扩展标准UML语义,例如带«enumeration»构造型的类会被识别为枚举类型。
1. 两个URI的区别是什么?
http://langdale.com.au/2005/UML#enumeration:这是EA默认使用的UML扩展构造型命名空间,langdale是EA开发商Sparx Systems关联的域名,属于EA内部定义的非标准UML构造型标识,仅在EA自身工具链内通用。http://iec.ch/TC57/NonStandard/UML#enumeration:这是国际电工委员会(IEC)TC57工作组定义的非标准UML构造型命名空间,属于电力行业标准化的扩展标识,是下游系统遵循的行业统一规范。
2. 如何修改导出文件中的rdf:resource值以符合要求?
有两种可行方案:
- 方案一:修改EA构造型的命名空间映射
- 打开EA,依次进入
Settings > UML Types > Stereotypes - 找到你使用的
enumeration构造型(或自定义的枚举构造型),编辑其「Namespace URI」字段,将值改为http://iec.ch/TC57/NonStandard/UML - 保存修改后重新导出RDFS文件,检查
rdf:resource是否更新
- 打开EA,依次进入
- 方案二:批量替换导出文件内容
如果EA内部修改受限,可导出文件后用文本编辑器的批量替换功能,把所有http://langdale.com.au/2005/UML#enumeration替换为http://iec.ch/TC57/NonStandard/UML#enumeration。注意要确认文件中没有其他需要保留的langdale域名URI。
3. 该rdf:resource的含义是什么,毕竟UML是标准化的?
UML本身是标准化的,但它允许通过**构造型(Stereotype)**扩展语义,用来适配不同行业、领域的定制需求。这里的rdf:resource就是用来唯一标识这个构造型的全局URI:
- 它相当于构造型的「身份ID」,确保不同工具、系统之间能准确识别同一个扩展语义(比如这里的枚举类型)
- 标准UML的枚举是内置元类型,但有些场景下会用构造型实现自定义枚举逻辑,或者行业需要统一的标识规范,这时就需要用特定命名空间的URI来区分,避免不同工具的自定义扩展出现识别冲突。
内容的提问来源于stack exchange,提问作者user14793079
相关产品推荐
相关产品推荐

