OData is another hypermedia format which statically attempts to provide contextual information which allows the message to be self descriptive. The similarities you see between the two formats come from the fact that they are both the same type of solution, a way to format the data which adds context.
The idea is not unique, there many are other formats as well including collection+json, json-ld, sirien, hydra, hal, uber, and more. Each format has a different goal, and is applicable for different situations because of innate properties in their design.
If you would like an understanding of the fundamentals of the concept, I have written some guidelines on hypermedia APIs which explore some fundamental ideas of the concept and should help you understand why there are similarities between these different formats.