I want to create a site where many things link to each other within the site but I don't have a clue how to start and what architecture I should use.

Here's the idea:
content type A is text
content type B is text
content type C is text

entity 01 of content type A is linked to entity 01 of content type B and also to entity 01 of content type C.

content type D is audio
content type E is audio
content type F is audio

entity 01 of content type A is linked to entity 01 of content type D
entity 01 of content type B is linked to entity 01 of content type E
entity 01 of content type C is linked to entity 01 of content type F

entity 01 of content type A is linked to entity 01 of content type B and also to entity 01 of content type C.

entity01CT-A (entity 01 content type A) is created by user A
entity01CT-B (entity 01 content type B) is created by user B
entity01CT-C (entity 01 content type C) is created by user C

Scenario: a user searches for a entity of content type A, finds it and clicks it.
Now all 3 entitys entity01CT-A, entity01CT-B, entity01CT-C show up.

Each entity (A-C) shows the text but also the author information such as nick name, region, country, etc.

Scenario: a user searches for a entity of content type B, finds it and clicks it.
Now all 3 entitys entity01CT-B, entity01CT-A, entity01CT-C show up.

This time in a different order but still all connected to each other. This means that they can't be connected to any other entity, they belong to each other although they are entitys.

I don't know "how I can link all these entities" automatically. Let's say entity20CT-A is being created, then there should be automatically 5 more entities created that are all linked to each other because who's going to link them? Who's to know that they belong together?

Also, each user will create an entity for which they have the correct permission for.

So how do we display all this content into one single page?
So how do we link these entities together so that they always stay together but that they can be modified separately and that the author and author content is shown next or below each of the entities that are linked and shown on the page.

Should I use rules to create empty entities that automatically link to each other?

The reason why I don't want to choose for different fields inside one entity is because I want to keep track of which user creates which amount of content. If it's a field within an entity, that won't be possible. Furthermore, it won't be possible to show all the user data of each collaborator next to the field. Hence my decision to create different entities which are automatically linked.

Also, a visitor should be able to select which content type they consider more important. If they think content-type-B is more important than content-type-A, then B should be placed differently on the page each time, depending on for example some setting in the visitor's profile, a bit like the theme they like.

It's a whole lot, I know but if someone could give me a helping hand on how do this, I'd be very happy.

Best,
BassPlaya