Consider this case, which is very common in Germany:
You have a health centre inside the same single building, with multiple independent offices inside the health centre. Some of the offices may be operated by more then one physician and may have additional staff such as e.g. special prophylactic therapists. Physicians of the same office, even when their main specialty is most times the same, differ in their additional training.
Now you have only a picture of the board in or outside the building, with a sign for each office on it. On each sign the name of the operating physician and the specialty of the office, contact data such as phone and website and openeing hours are written. You have no data from inside the building and just took the picture of the board and now have the data of the say around ten offices inside the health centre. For many offices you can find detailed information about the staff and training of the physicians of the office on the website.
Now want to map all the offices inside the building, their staff including the specialties and the rceived (additional) training, besides common contact data and opening hours of the offices.
As the API/data model, until now, has no clean logical tag seperation for more then one object on the same location/possition or for logical object linking, you have to (mis)use relations as container for logical separation and stacked trees of relations for logical object linking as a (complicated) workaround.
With now used common “:”-namespaces you will get many different keys for the same thing, depending of the type, or other context information, of the affected main map object.
As the my proposal was written, I thought only about the special case of the health care system, but later had nearly the same problem, but less complicated, with office=lawyer. For now, somone should write a proposal for a generic type=person_role relation (first test of the idea) and one for a generic type=multifeature relation.
@IanH: In Germany we have physicians called “Hausarzt”, which are trained for internal medicine (which requires the formal training for family medicine), but are working as physicians for family medicine. Besides this, there are also physicians, which are trained for family medicine only. They are both tagged with healthcare:speciality=general now, but the physician of internal medicine has more knowledge, e.g. in case of an emergency. In some bigger offices of family medicine you may find some of each type working in the same office.
@Minh_Nguyen:
Creating multiple nodes implies that they don’t belong together or that it may look as you are having the location data of the objects (You can try to reliable parse the fixme=*-keys on the objects ).