DTDL - 如何在 Azure 数字孪生模型中对电梯间及其各层之间的移动进行建模?

问题描述

我使用的是根据 RealEstateCore ontology 定义的 DTDL 模型。我希望能够添加描述 ElevatorRoom 双胞胎位于建筑物中的哪个级别的数据。当前模型不包含该信息,扩展 RoomSpaceElevatorRoom 模型也不包含该信息。

我的问题是定义级别信息的最佳方法是什么?当电梯在楼层之间移动时,该数据通常会频繁更新。我可以看到至少两个我正在考虑的替代方案:

  1. 当前的 ElevatorRoom 已扩展,并且新的 levelId 属性添加到扩展模型中。 levelId 可以是级别编号或对应于特定的级别孪生 ID。
  2. 使用 RelationShip 定义 ElevatorRoom 所在的位置。例如,ElevatorRoom 具有 isPartOfisLocationOf 关系,可用于将其链接到与电梯当前所在层对应的某个 Level 孪生对象。

那么您推荐使用哪一个,或者有比选项 1 和选项 2 更好的方法吗?

解决方法

我认为您误解了本体 - ElevatorRoom 肯定不会移动。

据我所知,ElevatorElevatorShaft 中移动,作为 asset,它已经有了 locatedIn - 与空间的关系,例如LevelElevatorRoom 可能是电梯的维修室。

您可以对它进行建模,使电梯有两个 locatedIn-关系,一个与楼层相关,一个与电梯井道相关。或者,还有一个 serves-Relation 你可以像这样使用 Elevator -serves-> ElevatorShaftElevator -locatedIn->Level

最好的问候 塞巴斯蒂安