/req/global/bound-feature-attribute
要求: 如果一个填充“globalProperty”角色的要素属性没有在要素属性定义中指定有效的“valueType”,则必须为该属性指定“valueType”。要素属性和指定了“valueType”的要素类型之间的绑定必须通过一个绑定的要素属性实体来实现,该实体继承了绑定实体的所有属性和关联。
具体解释
定义
- 要素属性(feature attribute):这是用于描述地理要素特性的属性,例如河流的长度、湖泊的面积。
- 全局属性角色(globalProperty role):适用于多个要素类型的属性,具有广泛的应用范围。
- 值类型(valueType):属性的值类型,例如字符串、整数、浮点数等。
- 绑定的要素属性实体(bound feature attribute entity):用于确保要素属性和要素类型之间绑定关系明确的中介实体,它继承了绑定实体的所有属性和关联。
作用和目的
- 确保属性定义明确:为每个要素属性指定一个明确的值类型,确保属性定义清晰,避免数据类型的不一致。
- 继承和绑定:通过绑定的要素属性实体,确保属性和要素类型之间的绑定关系明确,继承所有相关属性和关联。
- 数据模型的一致性:保持数据模型的一致性和完整性,确保所有属性在不同要素类型之间的使用保持一致。
示例说明
示例背景
假设我们有两个地理实体:
- 河流(River)
- 湖泊(Lake)
我们希望定义一个全局属性“水质”(WaterQuality),适用于所有水体。
具体应用
-
定义要素属性:
- 水质(WaterQuality):一个描述水体质量的属性,其可能的值包括“良好”、“中等”、“差”。
-
指定值类型:
- 如果在要素属性定义中未指定有效的值类型,则必须为“水质”属性指定值类型。
- 假设值类型为字符串(String)。
-
创建绑定的要素属性实体:
- WaterQualityAttributeBinding:
- 这是一个绑定的要素属性实体,用于表示“水质”属性和相关要素类型(如河流、湖泊)之间的绑定。
- 该实体继承了所有相关的属性和关联,例如值类型、描述等。
- WaterQualityAttributeBinding:
-
绑定和继承:
- 通过绑定的要素属性实体,“水质”属性可以明确地绑定到河流和湖泊这两个要素类型上。
- 确保在所有适用要素类型中,“水质”属性的定义和使用保持一致。
图示说明
属性名称 | 地理实体类型 | 值类型 | 绑定实体 | 描述 |
---|---|---|---|---|
水质(WaterQuality) | 河流 | 字符串 | WaterQualityAttributeBinding | 水质属性的值类型为字符串,适用于河流和湖泊 |
水质(WaterQuality) | 湖泊 | 字符串 | WaterQualityAttributeBinding | 水质属性的值类型为字符串,适用于河流和湖泊 |
结论
“/req/global/bound-feature-attribute”要求的目的是确保在地理信息系统中,所有填充“globalProperty”角色的要素属性都有明确的值类型,并通过绑定的要素属性实体来实现属性和要素类型之间的绑定。通过这种方式,可以保持数据模型的一致性和完整性,确保所有属性在不同要素类型之间的使用保持一致,避免数据类型的不一致和混淆。