We have a server provisioning tool which triggers a scan in a standalone ADDM scanning appliance which in turn sync data into its ADDM dataset which goes into ASSET dataset after reconciliation.

Now we have a computerSystem CI and Operating system, IP address related to it in ASSET Dataset.

After a while same computersystem CI get discovered by a different scanning appliance which in turn is synced into CMDB in its own ADDM1 dataset which then get merged with existing record in ASSET dataset.

After this we get duplicate Operating System and IP address relationship as shown in the screenshot.

You can enable RE job log in debug mode and see how Operating System CI is identified in source dataset.

Ideally the operating system CI from source dataset should get identified with existing Operating System CI from target dataset. You can verify it from RE job log i.e. which Identification rule is triggered to identify the source CI. The values of source CIs are also listed in RE job log. In case source CI is getting auto identified then it shows you have to add/modify identification rule for Operating System class so that it will find match with target CI. This also shows that the current set of Identification rules of Operating System class are not enough to match with target instances.

Basically RE job log in debug mode will help to you figure out the reason of duplicate.