0

我想使用 REST API 在 Azure 数字孪生中检索 Twin Graph 的资产层次结构,有什么办法吗?

4

1 回答 1

1

您在问题(和评论)中描述的情况可以通过编写多个查询来解决。要将完整图表作为层次结构,您首先需要查询顶级项目(在您的案例中为组织),然后您可以为每个组织运行查询或将其全部放入一个查询中。在这些示例中,我对您的层次结构做出了一些假设,您需要使它们适应您的本体。

获取所有组织:

SELECT ROOM FROM DIGITALTWINS DT WHERE IS_OF_MODEL(DT, 'dtmi:example:organisation;1', exact)

获取一个组织的层次结构:

SELECT Organisation, Factory, ProductionLine, Equipment
FROM DIGITALTWINS Organisation
JOIN Factory RELATED Organisation.contains
JOIN ProductionLine RELATED Factory.contains
JOIN Equipment RELATED ProductionLine.contains
WHERE Organisation.$dtId = 'Organisation1'

获取所有先前找到的组织的层次结构:

SELECT Organisation, Factory, ProductionLine, Equipment
FROM DIGITALTWINS Organisation
JOIN Factory RELATED Organisation.contains
JOIN ProductionLine RELATED Factory.contains
JOIN Equipment RELATED ProductionLine.contains
WHERE Organisation.$dtId IN ['Organisation1', 'Organisation2', 'Organisation3', 'etc...']

需要考虑 5 个 JOIN 语句的限制。并且两个查询都会为每个设备双胞胎返回一行,因此您需要稍微转换一下结果。

在 SDK 和 REST API 中,您都可以通过Query操作来实现这一点。

于 2021-12-30T07:51:03.927 回答