Performance: Using shapes to serialize only a subset of fields
(Shapes are documents which describe graph constraints. They're useful for describing how data should look in an RDF context, where different servers might be serving different schemas for the same type of resource)
In an early performance investigation it was identified that depending on the needs of a front-end application, we probably don't always need to serialize every field on an object. Nested fields in particular lead to a lot more serialization (which is expensive), and serializing only @id
for example could lead to big performance improvements in certain applications
I would propose that a client application could send a shape with its' request (in a custom header if one isn't already proposed by the W3C), and that this shape can be used by the backend to see which fields should be serialized on the objects returned
In essence this is the client saying "I only want these fields", so that it can optimise performance