Unify and manage your data

Generate pivoted view of crosswalks

The attribute values in entities and relations belong to specific crosswalks.

You can export entities and relations in the sliced by crosswalks format. This will help you to get the details of which crosswalks contributed what attribute values to the entity or the relation. In the sliced by crosswalks format, attribute values for each crosswalk are represented as a separate line in the output.

You can find this mapping in the attributes field of a crosswalk.

The Table 1: Overview defines the new query parameters for entity and relation export APIs:
Table 1. Overview
Name Required Details Type Default Example
anchorAttribute No This parameter is only applicable for CSV export. The parameter specifies an anchor attribute, it will precede all the other attributes. Only a single OV value for that attribute will be present on a CSV line for an entity. If it's used with the slicedByCrosswalks option, the value will be put on each CSV line no matter which crosswalk that value belongs to. The select parameter doesn’t affect this option. String attributes.UUID
slicedByCrosswalks No This parameter is only applicable for CSV export.

If the value of the parameter is set to be true, you can slice the objects by crosswalks. Each set of attribute values is placed on a separate CSV line that represents a crosswalk these attributes belong to. You can’t use the option with the exploded option.

Boolean false

Example

    Entity
{
    "uri": "entities/e1",
    "type": "configuration/entityTypes/Individual",
    "attributes": {
        "LastName": [
            {
                "type": "configuration/entityTypes/Individual/attributes/LastName",
                "ov": false,
                "value": "K.",
                "uri": "entities/e1/attributes/LastName/101"
            },
            {
                "type": "configuration/entityTypes/Individual/attributes/LastName",
                "ov": true,
                "value": "Krasko",
                "uri": "entities/e1/attributes/LastName/1"
            }
        ],
        "FirstName": [
            {
                "type": "configuration/entityTypes/Individual/attributes/FirstName",
                "ov": false,
                "value": "Vanya",
                "uri": "entities/e1/attributes/FirstName/100"
            },
            {
                "type": "configuration/entityTypes/Individual/attributes/FirstName",
                "ov": true,
                "value": "Ivan",
                "uri": "entities/e1/attributes/FirstName/0"
            }
        ],
        "Description": [
            {
                "type": "configuration/entityTypes/Individual/attributes/Description",
                "ov": true,
                "value": "VIP",
                "uri": "entities/e1/attributes/Description/3"
            }
        ],
        "Identifiers": [
            {
                "label": "RU-7401-123456 Active",
                "value": {
                    "ID": [
                        {
                            "type": "configuration/entityTypes/Individual/attributes/Identifiers/attributes/ID",
                            "ov": true,
                            "value": "RU-7401-123456",
                            "uri": "entities/e1/attributes/Identifiers/4/ID/5"
                        }
                    ],
"Status": [
                        {
                            "type": "configuration/entityTypes/Individual/attributes/Identifiers/attributes/Status",
                            "ov": true,
                            "value": "Active",
                            "uri": "entities/e1/attributes/Identifiers/4/Status/6"
                        }
                    ]
                },
                "ov": true,
                "uri": "entities/e1/attributes/Identifiers/4"
            },
            {
                "label": "RU-0000-000000",
                "value": {
                    "ID": [
                        {
                            "type": "configuration/entityTypes/Individual/attributes/Identifiers/attributes/ID",
                            "ov": false,
                            "value": "RU-0000-000000",
                            "uri": "entities/e1/attributes/Identifiers/102/ID/103"
                        }
                    ]
                },
                "ov": false,
                "uri": "entities/e1/attributes/Identifiers/102"
            }
        ]
    },
    "crosswalks": [
        {
            "uri": "entities/e1/crosswalks/773387554823476",
            "type": "configuration/sources/AMA",
            "value": "CW-AMA-ID-1",
            "attributes": [
                "entities/e1/attributes/FirstName/0",
                "entities/e1/attributes/LastName/1",
                "entities/e1/attributes/Description/3",
                "entities/e1/attributes/Identifiers/4",
                "entities/e1/attributes/Identifiers/4/ID/5",
                "entities/e1/attributes/Identifiers/4/Status/6"
            ],
            "singleAttributeUpdateDates": {}
        },
        {
            "uri": "entities/e1/crosswalks/773387567359003",
            "type": "configuration/sources/AMA",
            "value": "CW-AMA-ID-2",
            "attributes": [
                "entities/e1/attributes/FirstName/100",
                "entities/e1/attributes/LastName/101",
                "entities/e1/attributes/Identifiers/102",
                "entities/e1/attributes/Identifiers/102/ID/103"
            ],
            "singleAttributeUpdateDates": {}
        }
    ]
}

}

Regular CSV Format

The example below shows an export output in the regular CSV format, when the new options aren’t used.

POST /export/{tenantId}/entities
{
    "ovOnly": false
}
See Table 2: Regular CSV Format to find out the list of attributes that are displayed in the CSV file.
Table 2. Regular CSV format
ID Type Attributes.Description Attributes.FirstName Attributes.FirstName2 Attributes.Last name Attributes.LastName2 Attributes.Identifiers.ID Attributes.Identifiers.Status Attributes.Identifiers2.ID Crosswalks.AMA.ID Crosswalks.AMA2.ID
e1 Individual VIP Ivan Vanya Krasto K RU-7401-123456 Active RU-0000-000000 CW-AMA-ID-1 CW-AMA-ID-2

Anchor attributes

The following example explains how anchorAttribute is present on CSV lines. Comparing to the regular export, the non-ov values of attributes.Identifiers.ID are ignored. The anchor attribute goes first in the set of attribute columns.

POST /export/{tenantId}/entities?anchorAttribute=attributes.Identifiers.ID
{
    "ovOnly": false
}
See Table 3: Anchor Attributes to find out the list of Anchor attributes that are displayed in the CSV file.
Table 3. Anchor attributes
ID Type Attributes.Identifiers.ID Attributes.Description Attributes.FirstName Attributes.FirstName2 Attributes.Last name Attributes.LastName2 Attributes.Identifiers.Status Crosswalks.AMA.ID Crosswalks.AMA2.ID
e1 Individual RU-7401-123456 VIP Ivan Vanya Krasto K Active CW-AMA-ID-1 CW-AMA-ID-2

Sliced by crosswalks

POST /export/{tenantId}/entities?slicedByCrosswalks=true
{
    "ovOnly": false
}
Table 4: Sliced by Crosswalks to find out the list of Sliced by Crosswalks attributes that are displayed in the CSV file.
Table 4. Sliced by crosswalks
ID Type Attributes.Description Attributes.FirstName Attributes.Last name Attributes.Identifiers.ID Attributes.Identifiers.Status Crosswalk.Source table Crosswalk. Type Crosswalks.Value
e1 Individual VIP Ivan Krasto RU-7401-123456 Active AMA CW-AMA-ID-1
e1 Individual Vanya K RU-0000-000000 AMA CW-AMA-ID-2

Anchor Attribute and sliced by crosswalks

POST /export/{tenantId}/entities?slicedByCrosswalks=true&anchorAttribute=attributes.Identifiers.ID
{
    "ovOnly": false
}
See Table 5: Anchor Attributes and Sliced by Crosswalks to find out the list of attributes that are displayed in the CSV file.
Table 5. Anchor attribute and sliced by crosswalks
ID Type Attributes.Identifiers.ID Attributes.Description Attributes.FirstName Attributes.LastName Attributes.Identifiers.Status Crosswalks.SourceTable Crosswalks.Type Crosswalk.Value
e1 Individual RU-7401-123456 VIP Ivan Krasko Active AMA CW-AMA-ID-1
e1 Individual RU-7401-123456

The Anchor Attribute value is propagated to each CSV line, even though it belongs to another crosswalk.

Vanya K AMA CW-AMA-ID-1

Anchor attribute and sliced by crosswalks with select parameter

The example shows how the Select parameter works with the parameters: slicedByCrosswalks and anchorAttribute.

POST /export/{tenantId}/entities?slicedByCrosswalks=true&anchorAttribute=attributes.Identifiers.ID&select=id,crosswalks
{
    "ovOnly": false
}
See Table 6: Anchor Attributes and Sliced by Crosswalks and select Parameter to find out the list of attributes that are displayed in the CSV file.
Table 6. Anchor attribute and sliced by crosswalks with select parameter
ID Attributes.Identifiers.ID Crosswalks.SourceTable Crosswalks.Type Crosswalks.Value
e1 RU-7401-123456 AMA CW-AMA-ID-1
e1 RU-7401-123456

The Anchor Attribute value is propagated to each CSV line, even though it belongs to another crosswalk.

AMA CW-AMA-ID-2

Dates in crosswalks

The reltioLoadDate, createDate, updateDate, and deleteDate values of crosswalks of entities, reference attributes, relations, and startObjects are exported in CSV file only in the pivoted view of crosswalks.
Note: In pivoted view columns for crosswalks dates are present in the CSV file even if they’re empty.

Example

Entity with reference attribute:

    {
    "uri": "entities/1d1HcCI3",
    "type": "configuration/entityTypes/Individual",
    "endDate": 1687340645000,
    "attributes": {
        "FirstName": [
            {
                "type": "configuration/entityTypes/Individual/attributes/FirstName",
                "ov": true,
                "value": "John",
                "uri": "entities/1d1HcCI3/attributes/FirstName/4yrrf0oN5"
            }
        ],
        "Address": [
            {
                "label": "",
                "relationshipLabel": "",
                "value": {
                    "Country": [
                        {
                            "type": "configuration/entityTypes/Location/attributes/Country",
                            "ov": true,
                            "value": "US",
                            "uri": "entities/1d1HcCI3/attributes/Address/1DSv6fkd/Country/4yrrf0wtb"
                        }
                    ]
                },
                "ov": true,
                "uri": "entities/1d1HcCI3/attributes/Address/1DSv6fkd",
                "refEntity": {
                    "type": "configuration/entityTypes/Location",
                    "crosswalks": [
                        {
                            "uri": "entities/1d1HcCI3/crosswalks/1d1HcGYJ.4yrrf15Q7",
                            "type": "configuration/sources/Reltio",
                            "value": "1d1HcGYJ",
                            "createDate": "2022-06-23T12:07:11.686Z",
                            "updateDate": "2022-06-23T12:07:11.686Z",
                            "attributeURIs": [
                                "entities/1d1HcCI3/attributes/Address/1DSv6fkd",
                                "entities/1d1HcCI3/attributes/Address/1DSv6fkd/Country/4yrrf0wtb"
                            ]
                        }
                    ],
                    "objectURI": "entities/1d1HcGYJ"
                },
                "refRelation": {
                    "type": "configuration/relationTypes/HasAddress",
                    "crosswalks": [
                        {
                            "uri": "entities/1d1HcCI3/crosswalks/1DSv6fkd.4yrrf19gN",
                            "type": "configuration/sources/Reltio",
                            "value": "1DSv6fkd",
                            "createDate": "2022-06-23T12:07:11.686Z",
                            "updateDate": "2022-06-23T12:07:11.686Z"
                        }
                    ],
                    "startRefPinned": false,
                    "endRefPinned": false,
                    "startRefIgnored": false,
                    "endRefIgnored": false,
                    "objectURI": "relations/1DSv6fkd"
                },
                "startObjectCrosswalks": [
                    {
                        "type": "configuration/sources/AHA",
                        "value": "cr1"
                    }
                ]
            }
        ]
    },
    "isFavorite": false,
    "crosswalks": [
        {
            "uri": "entities/1d1HcCI3/crosswalks/4yrrf119r",
            "type": "configuration/sources/AHA",
            "value": "cr1",
            "reltioLoadDate": "2022-06-23T12:07:11.686Z",
            "createDate": "2022-06-21T09:44:05.000Z",
            "updateDate": "2022-06-22T09:44:05.000Z",
            "deleteDate": "2023-06-21T09:44:05.000Z",
            "attributes": [
                "entities/1d1HcCI3/attributes/FirstName/4yrrf0oN5"
            ],
            "singleAttributeUpdateDates": {}
        }
    ]
}
The Example explains how the crosswalks dates are exported using the slicedByCrosswalksparameter.

POST /export/{tenantId}/entities?slicedByCrosswalks=true
{
    "ovOnly": false
}
See Table 7: Crosswalks dates with Sliced by Crosswalks to find out the list of attributes that are displayed in the CSV file.
Table 7. Crosswalks dates with sliced by crosswalks
Headers Values
ID 1d1HcCI3
Type Individual
Attributes.FirstName John
Attributes.Address.refEntityCrosswalk.CreateDate 1655986031686
Attributes.Address.refEntityCrosswalk.DeleteDate
Attributes.Address.refEntityCrosswalk.ReltioLoadDate 1655986031686
Attributes.Address.refEntityCrosswalk.SourceTable
Attributes.Address.refEntityCrosswalk.Type Reltio
Attributes.Address.refEntityCrosswalk.UpdateDate 1655986031686
Attributes.Address.refEntityCrosswalk.Value 1d1HcGYJ
Attributes.Address.refRelationCrosswalk.CreateDate 1655986031686
Attributes.Address.refRelationCrosswalk.DeleteDate
Attributes.Address.refRelationCrosswalk.ReltioLoadDate 1655986031686
Attributes.Address.refRelationCrosswalk.SourceTable
Attributes.Address.refRelationCrosswalk.Type Reltio
Attributes.Address.refRelationCrosswalk.UpdateDate 1655986031686
Attributes.Address.refRelationCrosswalk.Value 1DSv6fkd
Crosswalks.CreateDate 1655804645000
Crosswalks.DeleteDate 1687340645000
Crosswalks.ReltioLoadDate 1655986031686
Crosswalks.SourceTable
Crosswalks.Type AHA
Crosswalks.UpdateDate 1655891045000

Filtering by source type in crosswalks slices export

Slice Filter

You can filter the individual crosswalks slices by source type in the pivoted view of crosswalks using the sliceFilter body parameter in the entities/relations CSV export.

See Table 8: Body Parameters to find the parameters with the corresponding values and value types.

Table 8. Body parameters
Parameter Required Value Value type Example

sliceFilter

No This parameter is only applicable to the CSV export format. You can use the parameter with the slicedByCrosswalks query parameter.

This parameter provides an ability to filter individual slices generated by the slicedByCrosswalks parameter.

The sourceSystems property is available for filtering by source type in sliceFilter parameter.

String not equals(sourceSystems, 'ReltioCleanser')

Example

Entity JSON

{
    "uri": "entities/e1",
    "type": "configuration/entityTypes/Individual",
    "attributes": {
        "LastName": [
            {
                "type": "configuration/entityTypes/Individual/attributes/LastName",
                "ov": false,
                "value": "K.",
                "uri": "entities/e1/attributes/LastName/101"
            },
            {
                "type": "configuration/entityTypes/Individual/attributes/LastName",
                "ov": true,
                "value": "Krasko",
                "uri": "entities/e1/attributes/LastName/1"
            }
        ],
        "FirstName": [
            {
                "type": "configuration/entityTypes/Individual/attributes/FirstName",
                "ov": false,
                "value": "Vanya",
                "uri": "entities/e1/attributes/FirstName/100"
            },
            {
                "type": "configuration/entityTypes/Individual/attributes/FirstName",
                "ov": true,
                "value": "Ivan",
                "uri": "entities/e1/attributes/FirstName/0"
            }
        ]
    },
    "crosswalks": [
        {
            "uri": "entities/e1/crosswalks/773387554823476",
            "type": "configuration/sources/AMA",
            "value": "CW-AMA-ID-1",
            "attributes": [
                "entities/e1/attributes/FirstName/0",
                "entities/e1/attributes/LastName/1"
            ],
            "singleAttributeUpdateDates": {}
        },
        {
            "uri": "entities/e1/crosswalks/773387567359003",
            "type": "configuration/sources/AHA",
            "value": "CW-AHA-ID-1",
            "attributes": [
                "entities/e1/attributes/FirstName/100",
                "entities/e1/attributes/LastName/101"
            ],
            "singleAttributeUpdateDates": {}
        }
    ]
}

Regular Pivoted View of Crosswalks

Request
POST /export/{tenantId}/entities?slicedByCrosswalks=true
{
    "ovOnly": false
}

CSV Output File

See Table 9: CSV Output File to find out the list of attributes that are displayed in the CSV output file.
Table 9. CSV Output File
ID Type Attributes.FirstName Attributes.Last name Crosswalks.SourceTable Crosswalks.Type Crosswalks.Value
e1 Individual Ivan Krasto AMA CW-AMA-ID-1
e1 Individual Vanya K AHA CW-AHA-ID-1

Pivoted view of Crosswalks with SliceFilter Parameter

Request
POST /export/{tenantId}/entities?slicedByCrosswalks=true
{
    "ovOnly": false,
    "sliceFilter": "not equals(sourceSystems, 'AHA')"
}

CSV Output File

See Table 10: CSV Output File to find out the list of attributes that are displayed in the CSV output file.
Table 10. CSV output file
ID Type Attributes.FirstName Attributes.Last name Crosswalks.SourceTable Crosswalks.Type Crosswalks.Value
e1 Individual Ivan Krasto AMA CW-AMA-ID-1