That's not linking, basically, that's just resource expansion (as it seems to me).
And actually it's OK to use it, though it depends a lot on your use case. For example, the
BackboneRelational library for Backbone can be configured so that any embedded objects (or arrays of objects) will be automatically treated as relations, and your client code will have correct relational mappings. Though in some cases you could prefer to fetch these sub-resources manually.
The properties you should expose in embedded resources actually depend on the use case, too. You should figure out what is necessary in each of your cases.
When using FOSRestBundle with JMSSerializer, you can always either configure the serializer so that it fetches and serializes embedded collections into resulting JSON properties:
properties:
some-property:
type: Your\Namespace\Entities\SomeEntityToEmbed
In this case serializer shold be configured to serialize the SomeEntityToEmbed, too.
Or you could create an embedded resource action. Doing this is pretty easy with FOSRestBundle, too (see
the doc). If you stick with auto-generated routes, that would be pretty easy to implement.
Hope this answers some of your questions.