We want to be able to respond to GET requests on entity pages like node/1 with a JSON-LD representation of the node.
We can leverage Symfony's Serializer component to do this. We simply need to provide a Normalizer and Encoder for JSON-LD.
The Normalizer receives an entity and processes it into the correct object/array structure for JSON-LD. The encoder then takes that normalized object and spits it out as JSON. Both Normalizers and Encoders can specify what they are able to process. The JSON-LD N/E should only be used when the object is a subclass of Entity (or EntityNG for now) and the requested format is 'jsonld'.
This activity diagram demonstrates how it could work. The section in purple is addressed in this issue. The section in green is the duty of the Symfony Serializer, to be added with. Sections in white are still in discussion and outside the scope of this issue.
PASSED: [[SimpleTest]]: [MySQL] 47,816 pass(es).
PASSED: [[SimpleTest]]: [MySQL] 46,956 pass(es).
PASSED: [[SimpleTest]]: [MySQL] 46,454 pass(es).