Question
How is this ContributorProvider determined, and how are different crosswalks integrated within a single ContributorProvider?
Answer
A contributor is a group of crosswalks. You unmerge by contributor URI, not by individual crosswalk. If two crosswalks are in the same contributor, they can’t be split using the unmerge APIs or Unmerge JARs.
How crosswalks get grouped is controlled by the payload you POST, using the dataProvider and contributorProvider flags:
- When creating a new entity, you may include multiple contributorProvider: true crosswalks to create multiple contributors in a single step. If you don’t steer things, all new crosswalks in the request default into a single new contributor.
- On an existing entity override, you may include exactly one crosswalk from the target contributor with "dataProvider": false, "contributorProvider": true to anchor any new dataProvider crosswalk(s) to that same contributor. You cannot move an existing crosswalk to a different contributor.
If both dataProvider and contributorProvider are absent, then:
- dataProvider defaults to true (Reltio treats “absent” as data-provider).
- The incoming crosswalk contributes attribute values and, by default, new crosswalks in the request are put into a single newly created contributor (unless you explicitly anchor them).
If dataProvider is set to true and contributorProvider is absent, then:
- Same as above: the crosswalk is a data-provider (contributes attributes) and, without an anchor, newly added crosswalks go to a new contributor by default.
If dataProvider is absent and contributorProvider is set to true, then:
- This is an invalid combination. Because “absent” means dataProvider=true, setting contributorProvider:true on a data-provider crosswalk throws an error (contributorProvider can be used only on a non-data-provider crosswalk).
Let's look at this example below.
{
"type": "configuration/entityTypes/HCP",
"crosswalks": [
{ "type": "configuration/sources/ONKY", "value": "WUSM03812394" },
{ "type": "configuration/sources/ADOB", "value": "2006772045",
"dataProvider": false, "contributorProvider": true } // anchor existing contributor
],
"attributes": {
"FirstName": [{ "type": "configuration/entityTypes/HCP/attributes/FirstName", "value": "Alex" }],
"LastName": [{ "type": "configuration/entityTypes/HCP/attributes/LastName", "value": "Rivera" }]
}
}
In this example, this is what we know about the crosswalk definition.
- The ONKY crosswalk (present or absent dataProvider → treated as data-provider) ensures we’re updating the existing entity that already has this crosswalk.
- The ADOB crosswalk flags dataProvider:false and contributorProvider:true, anchoring the request so that any new crosswalks you add in the same payload join that contributor rather than creating a new one.
Comments
Please sign in to leave a comment.