Multiple M:N relationshipclasses with a shared intermediate table

01-07-2022 02:51 AM
Labels (2)
New Contributor III

I have 3 seperate feature classes containing assets, with different geometries (point/line/polygon). In addition, I have a table containing document metadata. Each asset featureclass has a many-to-many relationship with the document table. Once ready, I will publish the set to ArcGIS Online (AGO). 

For this purpose I have created a M:N relationshipclass for each of the feature classes in ArcGIS Pro, using the asset and document identifiers (which are guids)  as PK/FK pairs. The relationshipclass is attributed as I want to be able to give the relationship a status.

Now I have 3 seperate intermediate tables with identical field names.

However, for effiency (mainly as I have to communicate the document relations with a client) I prefer to have a single intermediate table listing ALL the asset-document relation pairs.

I have tried the following:

- I cannot seem to accomplish this in ArcGIS Pro, the Create Relationshipclass GP tool creates a new intermediate table for each relationshipclass. If I choose the existing relationshipclass it will be overwritten rather than added. 

- I published the set to AGO where only one of the asset featureclasses has a relationship with the document table. I then added the remaining two relationships via the admin ArcGIS rest interface (add to definition). This does actually work and the service continues to function as expected. Additionally, in features such as pop-ups, WebAppBuilder apps, etc, the relations are properly visualized. However, whereas ArcGIS Pro does recognize newly added relationships, the document table relate properties shows 3 duplicated relations to the asset feature service layer originally created in ArcGIS Pro and not the other 2. Also, when navigating to the document attribute table and selecting to show related data, only the first relation is shown. 


The relations shown for the missing asset feature layers in their respective properties are actually shown correctly:


Any ideas to how to accomplish a shared intermediate table or where else to look than the AGO service definition would be highly appreciated. 

0 Kudos
0 Replies