在GraphQL中表示层次结构类型

在GraphQL中表示层次结构类型,graphql,Graphql,这是我试图解决的问题的一个例子。假设我想创建一个GraphQL模式,该模式对全球城市(typeCity)的管理实体(国家、州、省等)进行建模,用typeAdministrativeEntity)表示。每个城市都属于彼此具有层次关系的实体列表。然而,城市行政实体的“级别”数量可能有所不同。例如,“芝加哥”属于“美国”和“伊利诺伊州”(有两个级别),但新加坡只属于“新加坡”(只有一个级别)。我应该如何在GraphQL模式中表示类型AdministrativeEntity?它应该是标量、对象类型还是其

这是我试图解决的问题的一个例子。假设我想创建一个GraphQL模式,该模式对全球城市(type
City
)的管理实体(国家、州、省等)进行建模,用type
AdministrativeEntity
)表示。每个城市都属于彼此具有层次关系的实体列表。然而,城市行政实体的“级别”数量可能有所不同。例如,“芝加哥”属于“美国”和“伊利诺伊州”(有两个级别),但新加坡只属于“新加坡”(只有一个级别)。我应该如何在GraphQL模式中表示类型
AdministrativeEntity
?它应该是
标量
对象
类型还是其他类型

type City {
  entity: AdministrativeEntity!
}

您可以在
管理实体
类型中使用重现性-
父项
属性。这是最通用、可扩展、可管理的

。。。但为了节省(在规模上),您可以使用简单的[有序]名称数组

当然,您可以同时使用这两种解决方案(2个属性)(2个解析器在相同的数据/db上运行)