在 hyperledger composer 中定义唯一关系

Define unique relationships in hyperledger composer

我有这个简化的场景:

asset device identified by deviceID
{
    o String deviceID
    o Data reading
}

concept Data identified by readingID
{
    o String ReadingID
    o Double Lng
    o Double Lat
}

是否可以避免不同的设备具有相同的读数相关联,例如独特的关系?一个例子:

deviceID = 1111 --> readingID = aaaa

deviceID = 2222 --> readingID = aaaa

我正在努力避免这种情况。我尝试使用关系使用:

asset device identified by deviceID
{
    o String deviceID
    --> Data reading
}

把数据当作资产,我也有同样的问题

首先你的模型是:

asset device identified by deviceID
{
    o String deviceID
    o Data reading
}

concept Data 
{
    o String readingID
    o Double Lng
    o Double Lat
}

其次,Composer 中的关系不习惯 'enforce' la RDBMS 的唯一性(因为它不使用 RDBMS,它使用 key/value 存储)。

检查您的设备资产是否尝试使用已与资产关联的 readingID(存储在概念中,藏在资产注册表中的资产中)的最简单方法是 运行 查询注册表并在您的事务代码中使用 true 或 false。除非您将已经使用过的 ID 作为注册表存储在其他地方,但增加了更多的维护等。