The connectRelationsToDefaultCrosswalk Property
Learn about the the connectRelationsToDefaultCrosswalk property for the Relations API .
The operation explains the behavior of the connectRelationsToDefaultCrosswalk property while creating relationships.
When a new relation is created by using the POST/relations API with URIs for start and end objects (for example in UI) or using /entities with a reference attribute, inconsistencies may appear because the relation may be created with empty crosswalks inside the startObject and endObject sections. If the connectRelationsToDefaultCrosswalk property, which is available in the physical configuration, is enabled and you create a relation, the startObject and endObject sections are filled with the default crosswalks automatically.
A crosswalk with the source, which is equal to the value of the default crosswalk in the physical configuration (default value is Reltio), and value=<entity_id> is considered as the default crosswalk.
- A URI-URI relation is created
 - Relation is created while posting an entity with a reference attribute
 
Important Points
- The default value of the 
connectRelationsToDefaultCrosswalkproperty istrue. - The 
connectRelationsToDefaultCrosswalkproperty is not applicable when a relationCW-URIorURI-CWis created. - Any relations created before the 
connectRelationsToDefaultCrosswalkproperty is enabled are not automatically updated. They must be recreated or updated (activenessparameter is not considered) to get default crosswalks. - If the 
connectRelationsToDefaultCrosswalkproperty is disabled, the content of the relation crosswalks is not removed. - If an entity that is a start or end object of a relation is updated after enabling the 
connectRelationsToDefaultCrosswalkproperty, the relation's start and end object crosswalks do not change. 
Example - (Behavior of the Hub): Start (non-Default CW) + Relation (Default CW / URI-URI)+ End (non-Default CW)
Precondition
Create Start Object with the Non-Default Crosswalk
POST /entities
[
  {
    "type": "configuration/entityTypes/Account",
    "attributes": {
      "HierarchyLevel": [
        {
          "value": "Account002"
        }
      ]
    },
    "crosswalks": [
      {
        "type": "configuration/sources/JDE",
        "value": "Account002"
      }
    ]
  }
]
The result:
{
  "uri": "entities/dDO1gYH",
  "type": "configuration/entityTypes/Customer",
  "createdBy": "reltiouser",
  "createdTime": 1594216127472,
  "updatedBy": "reltioUser",
  "updatedTime": 1594216127472,
  "attributes": {
    "Source": [
      {
        "type": "configuration/entityTypes/Customer/attributes/Source",
        "ov": false,
        "value": "Customer002",
        "uri": "entities/dDO1gYH/attributes/Source/1avhZLJO9"
      }
    ]
  },
  "isFavorite": false,
  "crosswalks": [
    {
      "uri": "entities/dDO1gYH/crosswalks/1avhZLNeP",
      "type": "configuration/sources/JDE",
      "value": "Customer002",
      "reltioLoadDate": "2020-07-08T13:48:47.472Z",
      "createDate": "2020-07-08T13:48:47.472Z",
      "updateDate": "2020-07-08T13:48:47.472Z",
      "attributes": [
        "entities/dDO1gYH/attributes/Source/1avhZLJO9"
      ],
      "singleAttributeUpdateDates": {}
    }
  ],
  "analyticsAttributes": {},
  "label": "| | | Customer002",
  "secondaryLabel": ""
}
            Create End Object with the Non-Default Crosswalk
POST /entities
[
  {
    "type": "configuration/entityTypes/Customer",
    "attributes": {
      "Source": [
        {
          "value": "Customer002"
        }
      ]
    },
    "crosswalks": [
      {
        "type": "configuration/sources/JDE",
        "value": "Customer002"
      }
    ]
  }
]
The result:
{
  "uri": "entities/dDO1koX",
  "type": "configuration/entityTypes/Account",
  "createdBy": "reltioUser",
  "createdTime": 1594216127472,
  "updatedBy": "reltioUser",
  "updatedTime": 1594216127472,
  "attributes": {
    "HierarchyLevel": [
      {
        "type": "configuration/entityTypes/Account/attributes/HierarchyLevel",
        "ov": true,
        "value": "Account002",
        "uri": "entities/dDO1koX/attributes/HierarchyLevel/1avhZLRuf"
      }
    ]
  },
  "isFavorite": false,
  "crosswalks": [
    {
      "uri": "entities/dDO1koX/crosswalks/1avhZLWAv",
      "type": "configuration/sources/JDE",
      "value": "Account002",
      "reltioLoadDate": "2020-07-08T13:48:47.472Z",
      "createDate": "2020-07-08T13:48:47.472Z",
      "updateDate": "2020-07-08T13:48:47.472Z",
      "attributes": [
        "entities/dDO1koX/attributes/HierarchyLevel/1avhZLRuf"
      ],
      "singleAttributeUpdateDates": {}
    }
  ],
  "analyticsAttributes": {},
  "label": "| | Account002 |",
  "secondaryLabel": ""
}
            Default Behavior
The Hub sends the IGNORE request for the reference attribute instead of DELETE.
Create a relation with the default crosswalk by using the object URI in the startObject and endObject sections as follows:
POST /relations
[
  {
    "type": "configuration/relationTypes/AccountToCustomer",
    "startObject": {
      "objectURI": "entities/dDO1koX"
    },
    "endObject": {
      "objectURI": "entities/dDO1gYH"
    }
  }
]
The result:
{
    "uri": "relations/VjNaLeN",
    "type": "configuration/relationTypes/AccountToCustomer",
    "createdBy": "reltioUser",
    "createdTime": 1594219291706,
    "updatedBy": "reltioUser",
    "updatedTime": 1594219291706,
    "startRefPinned": false,
    "startRefIgnored": false,
    "endRefPinned": false,
    "endRefIgnored": false,
    "attributes": {},
    "crosswalks": [
        {
            "uri": "relations/VjNaLeN/crosswalks/1H8V87Ybb",
            "type": "configuration/sources/Reltio",
            "value": "VjNaLeN",
            "reltioLoadDate": "2020-07-08T14:41:31.706Z",
            "createDate": "2020-07-08T14:41:31.706Z",
            "updateDate": "2020-07-08T14:41:31.706Z",
            "attributes": [],
            "singleAttributeUpdateDates": {}
        }
    ],
    "startObject": {
        "type": "configuration/entityTypes/Account",
        "objectURI": "entities/dDO1koX",
        "label": "| | Account002 |",
        "directionalLabel": "Parent",
        "crosswalks": []
    },
    "endObject": {
        "type": "configuration/entityTypes/Customer",
        "objectURI": "entities/dDO1gYH",
        "label": "| | |",
        "directionalLabel": "Child",
        "crosswalks": []
    }
}
            The modified object is shown below.
GET /entities/dDO1gYH/?options=sendHidden,addRefAttrUriToCrosswalk
{
    "uri": "entities/dDO1gYH",
    "type": "configuration/entityTypes/Customer",
    "createdBy": "reltioUser",
    "createdTime": 1594216127472,
    "updatedBy": "reltioUser",
    "updatedTime": 1594219538050,
    "attributes": {
        "Source": [
            {
                "type": "configuration/entityTypes/Customer/attributes/Source",
                "ov": false,
                "value": "Customer002",
                "uri": "entities/dDO1gYH/attributes/Source/1avhZLJO9"
            }
        ],
        "HierarchyParent": [
            {
                "label": "| | Account002 |",
                "relationshipLabel": "Account002",
                "value": {
                    "HierarchyLevel": [
                        {
                            "type": "configuration/entityTypes/Account/attributes/HierarchyLevel",
                            "ov": true,
                            "value": "Account002",
                            "uri": "entities/dDO1gYH/attributes/HierarchyParent/VjNaLeN/HierarchyLevel/1avhZLRuf"
                        }
                    ]
                },
                "ov": true,
                "uri": "entities/dDO1gYH/attributes/HierarchyParent/VjNaLeN",
                "refEntity": {
                    "type": "configuration/entityTypes/Account",
                    "crosswalks": [
                        {
                            "uri": "entities/dDO1gYH/crosswalks/dDO1koX.1avhZLWAv",
                            "type": "configuration/sources/JDE",
                            "value": "Account002",
                            "createDate": "2020-07-08T13:48:47.472Z",
                            "updateDate": "2020-07-08T13:48:47.472Z",
                            "attributeURIs": [
                                "entities/dDO1gYH/attributes/HierarchyParent/VjNaLeN/HierarchyLevel/1avhZLRuf",
                                "entities/dDO1gYH/attributes/HierarchyParent/VjNaLeN"
                            ]
                        }
                    ],
                    "objectURI": "entities/dDO1koX"
                },
                "refRelation": {
                    "type": "configuration/relationTypes/AccountToCustomer",
                    "crosswalks": [
                        {
                            "uri": "entities/dDO1gYH/crosswalks/VjNaLeN.1H8V87Ybb",
                            "type": "configuration/sources/Reltio",
                            "value": "VjNaLeN",
                            "createDate": "2020-07-08T14:41:31.706Z",
                            "updateDate": "2020-07-08T14:41:31.706Z"
                        }
                    ],
                    "startRefPinned": false,
                    "endRefPinned": false,
                    "startRefIgnored": false,
                    "endRefIgnored": false,
                    "objectURI": "relations/VjNaLeN"
                }
            }
        ]
    },
    "isFavorite": false,
    "crosswalks": [
        {
            "uri": "entities/dDO1gYH/crosswalks/1avhZLNeP",
            "type": "configuration/sources/JDE",
            "value": "Customer002",
            "reltioLoadDate": "2020-07-08T13:48:47.472Z",
            "createDate": "2020-07-08T13:48:47.472Z",
            "updateDate": "2020-07-08T13:48:47.472Z",
            "attributes": [
                "entities/dDO1gYH/attributes/Source/1avhZLJO9",
                "entities/dDO1gYH/attributes/HierarchyParent/VjNaLeN"
            ],
            "singleAttributeUpdateDates": {}
        }
    ],
    "analyticsAttributes": {},
    "label": "| | |",
    "secondaryLabel": ""
}
            The response below with addRefAttrUriToCrosswalk option shows that the reference attribute (when crosswalks for start and end objects of the relation are empty) is assigned to the main crosswalk of the entity and it is the non-default crosswalk (in this case JDE).
GET /entities/dDO1gYH/?options=sendHidden,addRefAttrUriToCrosswalk
{
    "uri": "entities/dDO1gYH",
    "type": "configuration/entityTypes/Customer",
    ...
    "attributes": {
        ...
        "HierarchyParent": [
            {
                "uri": "entities/dDO1gYH/attributes/HierarchyParent/VjNaLeN",
                ...
            }
        ]
    },
    "crosswalks": [
        {
            "type": "configuration/sources/JDE",
            "value": "Customer002",
            ...
            "attributes": [
                ...
                "entities/dDO1gYH/attributes/HierarchyParent/VjNaLeN"
            ]
        }
    ]
}
            In this case (Reference attribute is linked to the non-Reltio crosswalk), the Hub sends the IGNORE_ATTRIBUTE request.
[
  {
    "type": "IGNORE_ATTRIBUTE",
    "uri": "entities/dDO1gYH/attributes/HierarchyParent/VjNaLeN",
    "newValue": {
      "value": true
    }
  }
]
            Changed Behavior
The connectRelationsToDefaultCrosswalk property if set to true, changes the result of the creation of relations.
To set the connectRelationsToDefaultCrosswalk property to true, contact Reltio Customer Support.
Create a relation with the default crosswalk by using the object URI in the startObject and endObject sections as follows:
POST /relations
[
  {
    "type": "configuration/relationTypes/AccountToCustomer",
    "startObject": {
      "objectURI": "entities/dDO1koX"
    },
    "endObject": {
      "objectURI": "entities/dDO1gYH"
    }
  }
]
The result (with new behavior):
{
    "uri": "relations/YhBFKzV",
    "type": "configuration/relationTypes/AccountToCustomer",
    "createdBy": "reltioUser",
    "createdTime": 1594220685086,
    "updatedBy": "reltioUser",
    "updatedTime": 1594220685086,
    "startRefPinned": false,
    "startRefIgnored": false,
    "endRefPinned": false,
    "endRefIgnored": false,
    "attributes": {},
    "crosswalks": [
        {
            "uri": "relations/YhBFKzV/crosswalks/1avi6wVeH",
            "type": "configuration/sources/Reltio",
            "value": "YhBFKzV",
            "reltioLoadDate": "2020-07-08T15:04:45.086Z",
            "createDate": "2020-07-08T15:04:45.086Z",
            "updateDate": "2020-07-08T15:04:45.086Z",
            "attributes": [],
            "singleAttributeUpdateDates": {}
        }
    ],
    "startObject": {
        "type": "configuration/entityTypes/Account",
        "objectURI": "entities/dDO1koX",
        "label": "| | Account002 |",
        "directionalLabel": "Parent",
        "crosswalks": [
            {
                "uri": "entities/dDO1koX/crosswalks/1avi6wZuX",
                "type": "configuration/sources/Reltio",
                "value": "dDO1koX",
                "reltioLoadDate": "2020-07-08T15:04:45.086Z",
                "createDate": "2020-07-08T15:04:45.086Z",
                "updateDate": "2020-07-08T15:04:45.086Z",
                "attributes": [],
                "singleAttributeUpdateDates": {}
            }
        ]
    },
    "endObject": {
        "type": "configuration/entityTypes/Customer",
        "objectURI": "entities/dDO1gYH",
        "label": "| | |",
        "directionalLabel": "Child",
        "crosswalks": [
            {
                "uri": "entities/dDO1gYH/crosswalks/1avi6weAn",
                "type": "configuration/sources/Reltio",
                "value": "dDO1gYH",
                "reltioLoadDate": "2020-07-08T15:04:45.086Z",
                "createDate": "2020-07-08T15:04:45.086Z",
                "updateDate": "2020-07-08T15:04:45.086Z",
                "attributes": [],
                "singleAttributeUpdateDates": {}
            }
        ]
    }
}
            In this case, the startObject and endObject are filled not only with the objectURI but also with the crosswalk section. And the crosswalk sections in both start and end objects, are filled with the default crosswalk (in this case, it is Reltio).
The modified object is shown below.
GET /entities/dDO1gYH/?options=sendHidden,addRefAttrUriToCrosswalk
{
    "uri": "entities/dDO1gYH",
    "type": "configuration/entityTypes/Customer",
    "createdBy": "reltioUser",
    "createdTime": 1594216127472,
    "updatedBy": "reltioUser",
    "updatedTime": 1594220685086,
    "attributes": {
        "Source": [
            {
                "type": "configuration/entityTypes/Customer/attributes/Source",
                "ov": false,
                "value": "Customer002",
                "uri": "entities/dDO1gYH/attributes/Source/1avhZLJO9"
            }
        ],
        "HierarchyParent": [
            {
                "label": "| | Account002 |",
                "relationshipLabel": "Account002",
                "value": {
                    "HierarchyLevel": [
                        {
                            "type": "configuration/entityTypes/Account/attributes/HierarchyLevel",
                            "ov": true,
                            "value": "Account002",
                            "uri": "entities/dDO1gYH/attributes/HierarchyParent/YhBFKzV/HierarchyLevel/1avhZLRuf"
                        }
                    ]
                },
                "ov": true,
                "uri": "entities/dDO1gYH/attributes/HierarchyParent/YhBFKzV",
                "refEntity": {
                    "type": "configuration/entityTypes/Account",
                    "crosswalks": [
                        {
                            "uri": "entities/dDO1gYH/crosswalks/dDO1koX.1avhZLWAv",
                            "type": "configuration/sources/JDE",
                            "value": "Account002",
                            "createDate": "2020-07-08T13:48:47.472Z",
                            "updateDate": "2020-07-08T13:48:47.472Z",
                            "attributeURIs": [
                                "entities/dDO1gYH/attributes/HierarchyParent/YhBFKzV",
                                "entities/dDO1gYH/attributes/HierarchyParent/YhBFKzV/HierarchyLevel/1avhZLRuf"
                            ]
                        },
                        {
                            "uri": "entities/dDO1gYH/crosswalks/dDO1koX.1avi6wZuX",
                            "type": "configuration/sources/Reltio",
                            "value": "dDO1koX",
                            "createDate": "2020-07-08T15:04:45.086Z",
                            "updateDate": "2020-07-08T15:04:45.086Z"
                        }
                    ],
                    "objectURI": "entities/dDO1koX"
                },
                "refRelation": {
                    "type": "configuration/relationTypes/AccountToCustomer",
                    "crosswalks": [
                        {
                            "uri": "entities/dDO1gYH/crosswalks/YhBFKzV.1avi6wVeH",
                            "type": "configuration/sources/Reltio",
                            "value": "YhBFKzV",
                            "createDate": "2020-07-08T15:04:45.086Z",
                            "updateDate": "2020-07-08T15:04:45.086Z"
                        }
                    ],
                    "startRefPinned": false,
                    "endRefPinned": false,
                    "startRefIgnored": false,
                    "endRefIgnored": false,
                    "objectURI": "relations/YhBFKzV"
                },
                "startObjectCrosswalks": [
                    {
                        "type": "configuration/sources/Reltio",
                        "value": "dDO1koX"
                    }
                ],
                "endObjectCrosswalks": [
                    {
                        "type": "configuration/sources/Reltio",
                        "value": "dDO1gYH",
                     ],
                        "singleAttributeUpdateDates": {}
                    }
                ]
            }
        ]
    },
    "isFavorite": false,
    "crosswalks": [
        {
            "uri": "entities/dDO1gYH/crosswalks/1avhZLNeP",
            "type": "configuration/sources/JDE",
            "value": "Customer002",
            "reltioLoadDate": "2020-07-08T13:48:47.472Z",
            "createDate": "2020-07-08T13:48:47.472Z",
            "updateDate": "2020-07-08T13:48:47.472Z",
            "attributes": [
                "entities/dDO1gYH/attributes/Source/1avhZLJO9"
            ],
            "singleAttributeUpdateDates": {}
        },
        {
            "uri": "entities/dDO1gYH/crosswalks/1avi6weAn",
            "type": "configuration/sources/Reltio",
            "value": "dDO1gYH",
            "reltioLoadDate": "2020-07-08T15:04:45.086Z",
            "createDate": "2020-07-08T15:04:45.086Z",
            "updateDate": "2020-07-08T15:04:45.086Z",
            "attributes": [
                "entities/dDO1gYH/attributes/HierarchyParent/YhBFKzV"
            ],
            "singleAttributeUpdateDates": {}
        }
    ],
    "analyticsAttributes": {},
    "label": "| | |",
    "secondaryLabel": ""
}
            The response below with the addRefAttrUriToCrosswalk option shows that the reference attribute (when the relation has both start and end object crosswalks) is assigned to the default (Reltio) crosswalk of the entity and the value of the crosswalk is the entity ID dDO1gYH.
GET /entities/dDO1gYH/?options=sendHidden,addRefAttrUriToCrosswalk
{
    "uri": "entities/dDO1gYH",
    "type": "configuration/entityTypes/Customer",
    ...
    "attributes": {
        ...
        "HierarchyParent": [
            {
                "uri": "entities/dDO1gYH/attributes/HierarchyParent/VjNaLeN",
                ...
            }
        ]
    },
    "crosswalks": [
        {
            "type": "configuration/sources/Reltio",
            "value": "dDO1gYH",
            ...
            "attributes": [
                "entities/dDO1gYH/attributes/HierarchyParent/YhBFKzV"
            ]
        }
    ]
    
}
            In this case (Reference attribute is linked to the non-Reltio crosswalk), the Hub sends the DELETE_ATTRIBUTE request.
[
  {
    "type": "DELETE_ATTRIBUTE",
    "uri": "entities/dDO1gYH/attributes/HierarchyParent/YhBFKzV",
    "crosswalk": {
      "type": "configuration/sources/Reltio",
      "value": "dDO1gYH"
    }
  }
]