An easy way would be to have a Map<K,V>, but since this is not possible, having an array of an abject is also doable.
Something like contributions: [AssetContributions!] @derivedFrom(field: "entity") on a given entity, and
type AssetContributions @entity {
id: ID!
asset: Bytes!
amount: BigDecimal!
entity: dont-know-yet!
}
see impactMarket/smart-contracts-dao#91 for reference