A few years ago I learned that the nba releases json files daily to the public. Immediately, I jumped on the opportunity to build nba related applications, yet one thing that always stood out to me about their api is the difficulty building relationships between its data collections. Take for example this snippet of json for a collection of players: [ { "firstName": "Ben", "lastName": "Simmons", "teams": [ { "teamId": "1610612755", "seasonStart": "2016", "seasonEnd": "2020" }, { "teamId": "1610612751", "seasonStart": "2021", "seasonEnd": "2021" } ], "draft": { "teamId": "1610612755", "pickNum": "1", "roundNum": "1", "seasonYear": "2016" }, } ] Here we have we have some basic information about the player such as his first and last name.