You have the nms:recipient schema it all its glory. It is populated with MLB Data. Yankees, Mets, and all those guys. You are getting 3rd party data from the NFL. They are sending you 10 different tables that are specific to the NFL. One table is users, another one is referees, penalties, etc. They have 1 field in common which is username.
The ask is to check nms:recipient (MLB) and see if any NFL players are present. If they are, update a flag. If they are not present, go ahead and push them in there. Simple enough stuff.
The question is: Do you extend the nms:recipient to include fields(attributes) from the nfl user table or do you create NFL separately and join them based on username. Would you lose any functionality doing it the 2nd way? What's standard practice? And understand, I need to add NBA down the road.
I guess that there are several possibilities, which mainly depend on what you would do with all this data, and if you will continue adding more data from more sources in the future (like NHL? )
You can either extend the nms:recipients schema with a few fields to indicate their nature and role. For example one extra field for sport (can be NHL, NBA, etc.) and one other for their role (referee, player).
If the structure and needed fields matches from one sport to another.
If there are too much differences to anticipate, I'd recommend creating new schemas for each, to ensure your database and recipients schema does not become hard to maintain and understand/use.
Other question to take into account is: how much do you need to have them under recipients (vs. creating new target mappings for each?)
Do you have ways to test that in a test environment?