如何解决关系以获取指向的引用?

How to resolve a relationship to get a hold of the reference being pointed to?

我一直在创建一个模型,其中我的一项资产具有对特定参与者的引用。

当我使用 composer-client API 检索我的资产时,我想检索被引用的参与者的详细信息。

CTO language document我看到了这句话: "Relationships must be resolved to retrieve an instance of the object being referenced. The act of resolution may result in null, if the object no longer exists or the information in the relationship is invalid." 但它没有描述如何去做。

有人可以告诉我什么是解决关系的最佳方法,以便我可以检索我指向的对象(在本例中为参与者)的实例吗?

您可以通过多种方式解决关系

假设我们有一个资产小部件定义为:

namespace SO

participant Person identified by email {
    o String email
}

asset Widget identified by assetId {
    o String email
    --> Person owner
}
  1. 一旦您拥有 Widget 资产,您可以调用 Widget.owner.getFullyQualifiedType() returns owner 所在的参与者注册表的名称。然后调用 Widget.owner.getIdentifier() 获取 PersonRegistryowner 的 ID,然后调用 PersonRegistry.get(identifier) 获取 owner 参与者
  2. WidgetRegistry获取Widget时,可以调用WidgetRegistry.resolve(identifier)解析所有关系