Introduction
IBM Match 360 (Beta) provides APIs that enable you to connect the IBM Match 360 service's powerful master data matching capabilities to your systems and processes. IBM Match 360 is an IBM Cloud service delivered through IBM Cloud Pak for Data as a Service that enables you to establish a single, trusted, 360-degree view of your customers -- a digital twin. IBM Match 360 includes cloud-native, machine learning-assisted, self-service analytics and matching tools that deliver better business insights.
Business users and systems can access IBM Match 360 data to search, view, and analyze master data entities. With IBM Match 360 on Cloud Pak for Data as a Service, you can ensure that your users and systems have a total view of your data. With a seamlessly integrated, cross-solution cloud experience, your users can discover master data directly in the space where they expect to consume it.
The IBM Match 360 APIs support:
- Loading and mapping data
- Customizing the data model
- Configuring the matching algorithm
- Running matching
- Retrieving master data entity and record details
- MDM job management
For more information about using the IBM Match 360 service, see the Cloud Pak for Data as a Service documentation.
Tip: To access the API documentation by using the Swagger UI tool, open a web browser and go to: https://api.{endpoint-location}.mdm.watson.cloud.ibm.com/api-{api-name}/explorer/
. Replace {endpoint-location}
in the URL with the location code of your deployment's multizone region, and replace {api-name}
with the name of the IBM Match 360 API service you are accessing: data
, model
, job
, matching
, or configuration
. For example, to access the APIs in the Dallas global endpoint (us-south
), go to the following URLs:
- Configuration API: https://api.us-south.mdm.watson.cloud.ibm.com/api-configuration/explorer/
- Entity Maintenance API: https://api.us-south.mdm.watson.cloud.ibm.com/api-data/explorer/
- Job API: https://api.us-south.mdm.watson.cloud.ibm.com/api-job/explorer/
- Matching API: https://api.us-south.mdm.watson.cloud.ibm.com/api-matching/explorer/
- Model API: https://api.us-south.mdm.watson.cloud.ibm.com/api-model/explorer/
The code examples on this tab use the client library that is provided for Node.js.
Installation
npm install --save master-data—management-cloud
The code examples on this tab use the client library that is provided for Java.
Maven
<dependency>
<groupId>com.ibm.cloud</groupId>
<artifactId>mdm</artifactId>
<version>1.0.6</version>
</dependency>
Gradle
implementation 'com.ibm.cloud:mdm:1.0.6'
The code examples on this tab use the client library that is provided for Python.
Installation
pip install master-data-management
Endpoint URLs
The IBM Match 360 API uses the Dallas global endpoint URL for all regions. When you call the API, add the path for each method to form the complete API endpoint for your requests.
https://api.dataplatform.cloud.ibm.com
Example request to the Dallas endpoint
curl -u "apikey:{apikey}" -X {request_method} "https://api.dataplatform.cloud.ibm.com/{method_endpoint}"
Replace {apikey}
, {request_method}
, and {method_endpoint}
in this example with the values for your particular API call.
Example request to the Dallas endpoint
const MasterDataManagementV1 = require('ibm/master-data-management/v4');
const { IamAuthenticator } = require('ibm/auth');
const masterDataManagement = new MasterDataManagementV1({
version: '{version}',
authenticator: new IamAuthenticator({
apikey: '{apikey}',
}),
url: 'https://api.dataplatform.cloud.ibm.com/{method_endpoint}',
});
Replace {apikey}
, {version}
, and {method_endpoint}
in this example with the values for your particular API call.
Example request to the Dallas endpoint
import com.ibm.cloud.sdk.core.security.BearerTokenAuthenticator;
import com.ibm.cloud.mdm.v1.Mdm;
Authenticator authenticator = new BearerTokenAuthenticator("<access-token>");
Mdm mdm = new Mdm(crn, Mdm.DEFAULT_SERVICE_NAME, authenticator);
Replace <access-token>
in this example with the values for your particular API call.
Later, when the access token expires, the application must acquire a new access token, then set it on the authenticator. Subsequent request invocations will include the new access token.
authenticator.setBearerToken("<new-access-token>")
Alternatively, use external configuration and provide values for the below properties
MDM_URL=https://api.dataplatform.cloud.ibm.com/
MDM_AUTH_TYPE=bearertoken
MDM_BEARER_TOKEN=<access-token>
and access the service using
Mdm service = Mdm.newInstance(crn);
Example request to the Dallas endpoint
from ibm import MasterDataManagementV1
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
authenticator = IAMAuthenticator('{apikey}')
master_data_management = MasterDataManagementV1(
version='{version}',
authenticator=authenticator
)
master_data_management.set_service_url('https://api.dataplatform.cloud.ibm.com/{method_endpoint}')
Replace {apikey}
, {version}
, and {method_endpoint}
in this example with the values for your particular API call.
Error handling
This API uses standard HTTP response codes to indicate whether a method completed successfully. A 200
response indicates success. A 400
type response indicates a failure, and a 500
type response indicates an internal system error.
HTTP error code | Description | Recovery |
---|---|---|
200 |
Success | The request was successful. |
400 |
Bad Request | The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all required parameters in your request. |
401 |
Unauthorized | You are not authorized to make this request. Log in to IBM Cloud and try again. If this error persists, contact the account owner to check your permissions. |
403 |
Forbidden | The supplied authentication is not authorized to access '{namespace}'. |
404 |
Not Found | The requested resource could not be found. |
408 |
Request Timeout | The connection to the server timed out. Wait a few minutes, then try again. |
409 |
Conflict | The entity is already in the requested state. |
500 |
Internal Server Error | offering_name is currently unavailable. Your request could not be processed. Wait a few minutes and try again. |
ErrorContainer
Field name | Type | Description |
---|---|---|
status_code | integer | The HTTP status code of the response. |
errors | List<ErrorMessage> |
A list of errors. |
trace | string | The lower case UUID that uniquely identies the request. |
ErrorMessage
Field name | Type | Description |
---|---|---|
code | string | A snake_case string succinctly identifying the problem. |
message | string | An explanation of the solution to the problem. |
more_info | string | A publicly-accessible URL where information about the error can be read in a web browser. |
target | ErrorTarget |
An error target model. |
ErrorTarget
Field name | Type | Description |
---|---|---|
type | string | The type of the error target. One of: field , parameter , or header . |
name | string | The name of the field, parameter, or header. |
When the Node SDK receives an error response from the IBM Match 360 service, it creates an Error object with information describing the error that occurred. This error object is passed as the first parameter to the callback function for the method. The contents of the error object are as shown in the following table:
Errors
Error field | Description |
---|---|
code | The HTTP status code returned. |
message | A message describing the error. |
The Java SDK generates an exception for any unsuccessful method invocation. All methods that accept an argument can also throw an IllegalArgumentException
.
Exception | Description |
---|---|
IllegalArgumentException | An invalid argument was passed to the method. |
When the Java SDK receives an error response from the IBM Match 360 service, it generates an exception from the com.ibm.master_data_management.service.exception
package. All service exceptions contain the following fields:
Error field | Description |
---|---|
statusCode | The HTTP status code returned |
message | A message describing the error |
The Python SDK generates an exception for any unsuccessful method invocation. When the Python SDK receives an error response from the IBM Match 360 service, it generates a MasterDataManagementAPIException
containing the following fields:
Error field | Description |
---|---|
code | The HTTP status code returned |
message | A message describing the error |
info | A dictionary of additional information about the error |
masterDataManagement.method(params,
function(err, response) {
// The error will be the first argument of the callback
if (err.code == 404) {
// Handle Not Found (404) error
} else if (err.code == 413) {
// Handle Request Too Large (413) error
} else {
console.log('Unexpected error: ', err.code);
console.log('error:', err);
}
});
Example error handling
try {
// Invoke an IBM Match 360 method
} catch (NotFoundException e) {
// Handle Not Found (404) exception
} catch (RequestTooLargeException e) {
// Handle Request Too Large (413) exception
} catch (ServiceResponseException e) {
// Base class for all exceptions caused by error responses from the service
System.out.println("Service returned status code " + e.getStatusCode() + ": " + e.getMessage());
}
Example error handling
from master_data_management import MasterDataManagementAPIException
try:
# Invoke an IBM Match 360 method
except MasterDataManagementAPIException as ex:
print "Method failed with status code " + str(ex.code) + ": " + ex.message
Authentication
To authenticate to the IBM Match 360 API, you pass a bearer token in an Authorization
header. The token is associated with a user name.
The bearer authentication token can be obtained using cURL:
curl -X POST https://iam.cloud.ibm.com/identity/token -H "content-type: application/x-www-form-urlencoded" -H "accept: application/json" -d "grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=APIKEY"
The following cURL example shows authentication being passed using a bearer token:
curl -X PUT --header "Authorization: Bearer {accessToken}" --header "Accept: application/json" "{url}/mdm/configuration/v1/config_data_model/publish_model?project_id=config_42d00915_1497_4d65_90af_cfd09d015769%3A31925406598685396&crn=CRN”
Replace {accessToken}
with your authentication bearer token.
Generating a bearer token. The response includes an accessToken
property.
Replace {cpd_cluster_host}
and {port}
with the details for the service instance. Replace {username}
and {password}
with your IBM Cloud Pak for Data credentials.
curl -k -u "{username}:{password}" "https://{cpd_cluster_host}{:port}/v1/preauth/validateAuth"
Authenticating to the API. Replace {accessToken}
with your authentication bearer token.
curl -H "Authorization: Bearer {accessToken}" "{url}/v1/{method}"
Example header parameter in a request
masterDataManagement.methodName(
{
parameters,
headers: {
'Custom-Header': '{header_value}'
}
}, function(err, response) {
if (err)
console.log('error:', err);
else
console.log(response);
}
);
Example header parameter in a request
ReturnType returnValue = masterDataManagement.methodName(parameters)
.addHeader("Custom-Header", "{header_value}")
.execute();
Example header parameter in a request
response = masterDataManagement.methodName(
parameters,
headers = {
'Custom-Header': '{header_value}'
})
Methods
Get config data model
Gets the data model present in configuration space.
Gets the data model present in configuration space.
GET /mdm/v1/config_data_model
ServiceCall<ConfigDataModel> getConfiguratorConfigDataModel(GetConfiguratorConfigDataModelOptions getConfiguratorConfigDataModelOptions)
Request
Use the GetConfiguratorConfigDataModelOptions.Builder
to create a GetConfiguratorConfigDataModelOptions
object that contains the parameter values for the getConfiguratorConfigDataModel
method.
Query Parameters
The cloud resource name of the service.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/config_data_model?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetConfiguratorConfigDataModelOptions getConfiguratorConfigDataModelOptions = new GetConfiguratorConfigDataModelOptions(); Response<ConfigDataModel> response = mdmService.getConfiguratorConfigDataModel(getConfiguratorConfigDataModelOptions).execute(); ConfigDataModel configDataModel = response.getResult(); System.out.println(configDataModel);
Response
Collection of locale, record types, relationship types, system properties definition in configuration space.
Collection of record data types.
- record_types
The data type identifier of Records.
The collection of data relationship types.
- relationship_types
Relationship Type definition.
Collection of data attribute types.
- attribute_types
Response wrapper with details of attribute type.
The locale of the data model.
Collection of system properties.
- system_properties
System Properties.
Collection of locale, record types, relationship types, system properties definition in configuration space.
Collection of record data types.
- recordTypes
The displayable text label for this record type element.
Collection of attributes belonging to this record type element.
- attributes
The classification of this Data Model Attribute.
Specifies whether the field property is indexed for text searches.
Examples:true
The displayable text for this Attribute element.
The description of this Data Model Attribute.
The data type of this Attribute element.
Examples:email
The number of data points the specific attribute can represen.
The description of the record type element.
Collection of entity types belonging to this record type element.
- entityTypes
The description of this entity type element.
The displayable text for this entity type element.
The collection of data relationship types.
- relationshipTypes
Collection of Relationship Rules.
- rules
Source rules.
- source
Collection of Relationship Rule record types.
Collection of entity types.
Target rules.
- target
Collection of Relationship Rule record types.
Collection of entity types.
The default label display text of a source record's relationship.
The default label display text of a target record's relationship.
Specifies whether the relationship is directional.
The displayable text for this relationship element.
The number of data points the specific property can represent.
The description of the model element.
Collection of attributes.
- attributes
The classification of this Data Model Attribute.
Specifies whether the field property is indexed for text searches.
Examples:true
The displayable text for this Attribute element.
The description of this Data Model Attribute.
The data type of this Attribute element.
Examples:email
The number of data points the specific attribute can represen.
Collection of data attribute types.
- attributeTypes
The displayable text for this attribute type.
The description of the attribute type.
The classification of the attribute type.
Collection of fields of the attribute type.
- fields
The description of the field type.
The classification of the field type.
Specifies whether the field type is indexed for text searches.
The displayable text for this field type.
The locale of the data model.
Collection of system properties.
- systemProperties
System property for record type.
- recordTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
System property for entity type.
- entityTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
System properties for relationship type.
- relationshipTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
System properties for attribute type.
- attributeTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
Status Code
Config data model is returned
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting config data model. An internal error occurred while attempting to get config data model.
{ "record_types": [ { "name": "person", "default_display_name": "person", "properties": [ { "name": "record_source", "data_type": "String", "default_display_name": "Record Source", "designation": "source" }, { "name": "social_security_number", "data_type": "identification", "cardinality": "*", "default_display_name": "Social Security Number" } ], "source_systems": [ { "name": "MDMSP", "default_display_name": "MDMS Person", "quality_factors": { "completeness": 100, "accuracy": 100, "correctness": 100, "age_relevancy": 100, "data_relevancy": 100, "consistency": 100 } } ] } ], "data_types": [ { "name": "identification", "default_display_name": "identification", "properties": [ { "name": "identification", "data_type": "String", "default_display_name": "Identification Value" }, { "name": "identification_number", "data_type": "String", "default_display_name": "Identification Number" } ] } ] }
{ "record_types": [ { "name": "person", "default_display_name": "person", "properties": [ { "name": "record_source", "data_type": "String", "default_display_name": "Record Source", "designation": "source" }, { "name": "social_security_number", "data_type": "identification", "cardinality": "*", "default_display_name": "Social Security Number" } ], "source_systems": [ { "name": "MDMSP", "default_display_name": "MDMS Person", "quality_factors": { "completeness": 100, "accuracy": 100, "correctness": 100, "age_relevancy": 100, "data_relevancy": 100, "consistency": 100 } } ] } ], "data_types": [ { "name": "identification", "default_display_name": "identification", "properties": [ { "name": "identification", "data_type": "String", "default_display_name": "Identification Value" }, { "name": "identification_number", "data_type": "String", "default_display_name": "Identification Number" } ] } ] }
Replace Config Data Model
Replaces the config data model present in configuration space.
Replaces the config data model present in configuration space.
PUT /mdm/v1/config_data_model
ServiceCall<ConfigDataModel> replaceConfiguratorConfigDataModel(ReplaceConfiguratorConfigDataModelOptions replaceConfiguratorConfigDataModelOptions)
Request
Use the ReplaceConfiguratorConfigDataModelOptions.Builder
to create a ReplaceConfiguratorConfigDataModelOptions
object that contains the parameter values for the replaceConfiguratorConfigDataModel
method.
Query Parameters
The cloud resource name of the service.
Collection of locale, record types, relationship types, system properties definition in configuration space.
{
"record_types": [
{
"name": "person",
"default_display_name": "person",
"properties": [
{
"name": "record_source",
"data_type": "String",
"default_display_name": "Record Source",
"designation": "source"
},
{
"name": "social_security_number",
"data_type": "identification",
"cardinality": "*",
"default_display_name": "Social Security Number"
}
],
"source_systems": [
{
"name": "MDMSP",
"default_display_name": "MDMS Person",
"quality_factors": {
"completeness": 100,
"accuracy": 100,
"correctness": 100,
"age_relevancy": 100,
"data_relevancy": 100,
"consistency": 100
}
}
]
}
],
"data_types": [
{
"name": "identification",
"default_display_name": "identification",
"properties": [
{
"name": "identification",
"data_type": "String",
"default_display_name": "Identification Value"
},
{
"name": "identification_number",
"data_type": "String",
"default_display_name": "Identification Number"
}
]
}
]
}
Collection of record data types.
- record_types
The data type identifier of Records.
The collection of data relationship types.
- relationship_types
Relationship Type definition.
Collection of data attribute types.
- attribute_types
Response wrapper with details of attribute type.
The locale of the data model.
Collection of system properties.
- system_properties
System Properties.
The replaceConfiguratorConfigDataModel options.
Collection of record data types.
Examples:[ { "name": "person", "default_display_name": "person", "properties": [ { "name": "record_source", "data_type": "String", "default_display_name": "Record Source", "designation": "source" }, { "name": "social_security_number", "data_type": "identification", "cardinality": "*", "default_display_name": "Social Security Number" } ], "source_systems": [ { "name": "MDMSP", "default_display_name": "MDMS Person", "quality_factors": { "completeness": 100, "accuracy": 100, "correctness": 100, "age_relevancy": 100, "data_relevancy": 100, "consistency": 100 } } ] } ]
- recordTypes
The displayable text label for this record type element.
Collection of attributes belonging to this record type element.
- attributes
The classification of this Data Model Attribute.
Specifies whether the field property is indexed for text searches.
Examples:true
The displayable text for this Attribute element.
The description of this Data Model Attribute.
The data type of this Attribute element.
Examples:email
The number of data points the specific attribute can represen.
The description of the record type element.
Collection of entity types belonging to this record type element.
- entityTypes
The description of this entity type element.
The displayable text for this entity type element.
The collection of data relationship types.
- relationshipTypes
Collection of Relationship Rules.
- rules
Source rules.
- source
Collection of Relationship Rule record types.
Collection of entity types.
Target rules.
- target
Collection of Relationship Rule record types.
Collection of entity types.
The default label display text of a source record's relationship.
The default label display text of a target record's relationship.
Specifies whether the relationship is directional.
The displayable text for this relationship element.
The number of data points the specific property can represent.
The description of the model element.
Collection of attributes.
- attributes
The classification of this Data Model Attribute.
Specifies whether the field property is indexed for text searches.
Examples:true
The displayable text for this Attribute element.
The description of this Data Model Attribute.
The data type of this Attribute element.
Examples:email
The number of data points the specific attribute can represen.
Collection of data attribute types.
- attributeTypes
The displayable text for this attribute type.
The description of the attribute type.
The classification of the attribute type.
Collection of fields of the attribute type.
- fields
The description of the field type.
The classification of the field type.
Specifies whether the field type is indexed for text searches.
The displayable text for this field type.
The locale of the data model.
Collection of system properties.
- systemProperties
System property for record type.
- recordTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
System property for entity type.
- entityTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
System properties for relationship type.
- relationshipTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
System properties for attribute type.
- attributeTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/config_data_model?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"locale":"en_us","system_properties":{"record_types":{"collection_id":{"label":"Collection ID","description":"Optional identifier for identifying a collection of records","data_type":"String","editable":true,"indexed":true},"record_source":{"label":"Record source","description":"A user provided record source.","data_type":"String","editable":true,"indexed":true},"record_id":{"label":"Record identifier","description":"User provided or autogenerated record identifier","data_type":"String","editable":true,"indexed":true},"record_number":{"label":"Record number","description":"System generated record number","data_type":"String","editable":false,"indexed":true},"record_last_updated":{"label":"Record last updated","description":"System generated record last updated","data_type":"Long","editable":false,"indexed":false}},"entity_types":{"entity_id":{"label":"Entity identifier","data_type":"String","editable":false,"indexed":true},"entity_last_updated":{"label":"Entity last updated time","data_type":"Long","editable":false,"indexed":false}},"attribute_types":{"attribute_last_updated":{"label":"Attribute last updated date","description":"Entity last updated time","data_type":"Long","editable":false,"indexed":false}},"relationship_types":{"relationship_last_updated":{"label":"Relationship last updated date","description":"Entity last updated time","data_type":"Long","editable":false,"indexed":false}}},"record_types":{"person":{"label":"Person","description":"The record type for person records.","entity_types":{"person_entity":{"label":"Person Entity","description":"The entity type for person records."}},"attributes":{"birth_date":{"label":"Birth Date","description":"The birth date associated with this person record.","attribute_type":"string","classification":"","cardinality":"LIST","indexed":true,"matching_type":"DATE"},"gender":{"label":"Gender","description":"The gender of the the person associated with this record.","attribute_type":"string","classification":"","cardinality":"LIST","indexed":true,"matching_type":"GENDER"},"primary_residence":{"label":"Primary Residence","description":"Indicates that this address is a primary residence.","attribute_type":"address","classification":"","cardinality":"LIST","indexed":true},"mailing_address":{"label":"Mailing Address","description":"Indicates that this address is a mailing address.","attribute_type":"address","classification":"","cardinality":"LIST","indexed":true},"home_telephone":{"label":"Home Telephone","description":"Indicates that this phone number is for a home telephone.","attribute_type":"telephone","classification":"","cardinality":"LIST","indexed":true},"mobile_telephone":{"label":"Mobile Telephone","description":"Indicates that this phone number is for a mobile telephone.","attribute_type":"telephone","classification":"","cardinality":"LIST","indexed":true},"personal_email":{"label":"Personal Email","description":"Indicates that this email address is a personal email address.","attribute_type":"email","classification":"","cardinality":"LIST","indexed":true},"twitter":{"label":"Twitter","description":"Indicates that this social media type is Twitter.","attribute_type":"social_media","classification":"","cardinality":"LIST","indexed":true},"drivers_licence":{"label":"Driver's Licence","description":"Indicates that this identifier is a driver's license.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"},"passport":{"label":"Passport","description":"Indicates that this identifier is a passport.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"},"credit_card":{"label":"Credit Card","description":"Indicates that this identifier is a credit card.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"PAYMENTCARDNUMBER"},"social_insurance_number":{"label":"Social Insurance Number","description":"Indicates that this identifier is a social insurance number.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"},"legal_name":{"label":"Legal Name","description":"Indicates that this name is a legal name.","attribute_type":"person_name","classification":"","cardinality":"LIST","indexed":true},"previous_name":{"label":"Previous Name","description":"Indicates that this name is a previous name.","attribute_type":"person_name","classification":"","cardinality":"LIST","indexed":true}}},"organization":{"label":"Organization","description":"The record type for organization records.","entity_types":{"organization_entity":{"label":"Organization Entity","description":"The entity type for org records."}},"attributes":{"business_name":{"label":"Business Name","description":"Indicates that this name is a business name.","attribute_type":"organization_name","classification":"","cardinality":"LIST","indexed":true},"doing_business_as":{"label":"Doing Business As","description":"Indicates that this name is a Doing Business As name.","attribute_type":"organization_name","classification":"","cardinality":"LIST","indexed":true},"abbreviated_name":{"label":"Abbreviated Name","description":"Indicates that this name is an abbreviated name.","attribute_type":"organization_name","classification":"","cardinality":"LIST","indexed":true},"business_address":{"label":"Business Address","description":"Indicates that this address is a business address.","attribute_type":"address","classification":"","cardinality":"LIST","indexed":true},"mailing_address":{"label":"Mailing Address","description":"Indicates that this address is a mailing address.","attribute_type":"address","classification":"","cardinality":"LIST","indexed":true},"business_telephone":{"label":"Business Telephone","description":"Indicates that this phone number is for a business telephone.","attribute_type":"telephone","classification":"","cardinality":"LIST","indexed":true},"business_email":{"label":"Business Email","description":"Indicates that this email address is a business email.","attribute_type":"email","classification":"","cardinality":"LIST","indexed":true},"business_tax_identification":{"label":"Business Tax Identification","description":"Indicates that this identifier is a business tax identification number.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"},"duns":{"label":"DUNS","description":"Indicates that this identifier is a D-U-N-S Number.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"}}}},"attribute_types":{"address":{"label":"Address","description":"The address locations associated with a record. Only one address per usage value is allowed. For example, there can only be one mailing address for a contact.","classification":"","matching_types":["ADDRESS"],"fields":{"residence":{"label":"Residence Value","description":"The type of residence for this address, such as home, apartment, or suite.","classification":"","indexed":true},"address_line1":{"label":"Address Line 1","description":"The first line of this address.","classification":"","indexed":true},"address_line2":{"label":"Address Line 2","description":"The second line of this address.","classification":"","indexed":true},"address_line3":{"label":"Address Line 3","description":"The third line of this address.","classification":"","indexed":true},"city":{"label":"City","description":"The city of this address.","classification":"","indexed":true},"zip_postal_code":{"label":"Postal Code","description":"The postal code of this address.","classification":"","indexed":true},"residence_number":{"label":"Residence Number","description":"The residence number of this address.","classification":"","indexed":true},"province_state":{"label":"State/Province Value","description":"The state or province of this address.","classification":"","indexed":true},"county":{"label":"County","description":"The county of this address.","classification":"","indexed":true},"country":{"label":"Country Value","description":"The country of this address.","classification":"","indexed":true},"latitude_degrees":{"label":"Latitude Degrees","description":"The latitude of this address.","classification":"","indexed":true},"longitude_degrees":{"label":"Longitude Degrees","description":"The longitude of this address.","classification":"","indexed":true}}},"telephone":{"label":"Telephone","description":"Indicates that this attribute is a telephone number. Create attributes of this type for each category of telephone number, such as mobile, home, or business.","classification":"","matching_types":["PHONE"],"fields":{"phone_number":{"label":"Phone Number","description":"A string containing the digits for this telephone number.","classification":"","indexed":true}}},"email":{"label":"Email","description":"Indicates that this attribute is an email address. Create attributes of this type for each category of email address, such as personal or business.","classification":"","matching_types":["EMAIL"],"fields":{"email_id":{"label":"Email Id","description":"A string containing the email address value.","classification":"","indexed":true}}},"social_media":{"label":"Social Media","description":"Indicates that this attribute is a social media handle or user name. Create attributes of this type for each social media platform, such as Twitter or Instagram.","classification":"","matching_types":["SOCIALMEDIA"],"fields":{"social_media_handle":{"label":"Social Media Handle","description":"A string containing the handle or user name value.","classification":"","indexed":true}}},"identification":{"label":"Identification","description":"A unique identifier that can be used to distinguish a party from others.","classification":"","matching_types":["NATIONALIDENTIFIER","PAYMENTCARDNUMBER","OTHERIDENTIFIER"],"fields":{"identification_number":{"label":"Identification Number","description":"The actual alphanumeric identifier. For example, if the identification type indicates a social security number, then this value contains the 9 characters of the social security number.","classification":"","indexed":true}}},"person_name":{"label":"Person Name","description":"Information about a name associated with a person record.","classification":"","matching_types":["PERSONNAME"],"fields":{"generation":{"label":"Generation Value","description":"Identifies familial generational information in the form of a generation type. Examples include The First, The Second, Junior or Senior.","classification":"","indexed":true},"prefix":{"label":"Prefix Value","description":"The name prefix, such as Mr, Mrs, Miss, Dr, and others.","classification":"","indexed":true},"given_name":{"label":"Given Name","description":"The first given name of a person. Commonly known as the first name.","classification":"","indexed":true},"middle_name":{"label":"Middle Name","description":"The second given name of a person. Commonly known as the middle name.","classification":"","indexed":true},"last_name":{"label":"Last Name","description":"The surname or family name of a person. Commonly known as the last name.","classification":"","indexed":true},"suffix":{"label":"suffix","description":"The name suffix, such as Jr, MD, Esq, PhD, and others.","classification":"","indexed":true},"full_name":{"label":"Full name","description":"The complete name of this person in a single string, including first, middle, and last names.","classification":"","indexed":true}}},"organization_name":{"label":"Organization Name","description":"Information about a name associated with an organization record.","classification":"","matching_types":["ORGNAME"],"fields":{"name":{"label":"name","description":"The organization name.","classification":"","indexed":true}}},"string":{"label":"Simple attribute","description":"A single field primitive attribute","classification":"","fields":{"value":{"label":"Value","description":"","classification":"","indexed":true}}}},"relationship_types":{"linkage":{"label":"Linkage","label_from_source":"Linked into","label_from_target":"Linked from","description":"This is the built in linkage relationship type the matching engine creates between records and their resolved entities","cardinality":"ONE2MANY","directional":true}}}"
RecordType recordTypeModel = new RecordType.Builder() .label("testString") .build(); ReplaceConfiguratorConfigDataModelOptions replaceConfiguratorConfigDataModelOptions = new ReplaceConfiguratorConfigDataModelOptions.Builder() .build(); Response<ConfigDataModel> response = mdmService.replaceConfiguratorConfigDataModel(replaceConfiguratorConfigDataModelOptions).execute(); ConfigDataModel configDataModel = response.getResult(); System.out.println(configDataModel);
Response
Collection of locale, record types, relationship types, system properties definition in configuration space.
Collection of record data types.
- record_types
The data type identifier of Records.
The collection of data relationship types.
- relationship_types
Relationship Type definition.
Collection of data attribute types.
- attribute_types
Response wrapper with details of attribute type.
The locale of the data model.
Collection of system properties.
- system_properties
System Properties.
Collection of locale, record types, relationship types, system properties definition in configuration space.
Collection of record data types.
- recordTypes
The displayable text label for this record type element.
Collection of attributes belonging to this record type element.
- attributes
The classification of this Data Model Attribute.
Specifies whether the field property is indexed for text searches.
Examples:true
The displayable text for this Attribute element.
The description of this Data Model Attribute.
The data type of this Attribute element.
Examples:email
The number of data points the specific attribute can represen.
The description of the record type element.
Collection of entity types belonging to this record type element.
- entityTypes
The description of this entity type element.
The displayable text for this entity type element.
The collection of data relationship types.
- relationshipTypes
Collection of Relationship Rules.
- rules
Source rules.
- source
Collection of Relationship Rule record types.
Collection of entity types.
Target rules.
- target
Collection of Relationship Rule record types.
Collection of entity types.
The default label display text of a source record's relationship.
The default label display text of a target record's relationship.
Specifies whether the relationship is directional.
The displayable text for this relationship element.
The number of data points the specific property can represent.
The description of the model element.
Collection of attributes.
- attributes
The classification of this Data Model Attribute.
Specifies whether the field property is indexed for text searches.
Examples:true
The displayable text for this Attribute element.
The description of this Data Model Attribute.
The data type of this Attribute element.
Examples:email
The number of data points the specific attribute can represen.
Collection of data attribute types.
- attributeTypes
The displayable text for this attribute type.
The description of the attribute type.
The classification of the attribute type.
Collection of fields of the attribute type.
- fields
The description of the field type.
The classification of the field type.
Specifies whether the field type is indexed for text searches.
The displayable text for this field type.
The locale of the data model.
Collection of system properties.
- systemProperties
System property for record type.
- recordTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
System property for entity type.
- entityTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
System properties for relationship type.
- relationshipTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
System properties for attribute type.
- attributeTypes
Specifies whether the user can set values for the system property.
The displayable text for this system property.
The description of the system property.
The data type of the system property.
Specifies whether the system property is indexed for text searches.
Status Code
Config data model is replaced.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem replacing config data model. An internal error occurred while attempting to replace the config data model.
{ "record_types": [ { "name": "person", "default_display_name": "person", "properties": [ { "name": "record_source", "data_type": "String", "default_display_name": "Record Source", "designation": "source" }, { "name": "social_security_number", "data_type": "identification", "cardinality": "*", "default_display_name": "Social Security Number" } ], "source_systems": [ { "name": "MDMSP", "default_display_name": "MDMS Person", "quality_factors": { "completeness": 100, "accuracy": 100, "correctness": 100, "age_relevancy": 100, "data_relevancy": 100, "consistency": 100 } } ] } ], "data_types": [ { "name": "identification", "default_display_name": "identification", "properties": [ { "name": "identification", "data_type": "String", "default_display_name": "Identification Value" }, { "name": "identification_number", "data_type": "String", "default_display_name": "Identification Number" } ] } ] }
{ "record_types": [ { "name": "person", "default_display_name": "person", "properties": [ { "name": "record_source", "data_type": "String", "default_display_name": "Record Source", "designation": "source" }, { "name": "social_security_number", "data_type": "identification", "cardinality": "*", "default_display_name": "Social Security Number" } ], "source_systems": [ { "name": "MDMSP", "default_display_name": "MDMS Person", "quality_factors": { "completeness": 100, "accuracy": 100, "correctness": 100, "age_relevancy": 100, "data_relevancy": 100, "consistency": 100 } } ] } ], "data_types": [ { "name": "identification", "default_display_name": "identification", "properties": [ { "name": "identification", "data_type": "String", "default_display_name": "Identification Value" }, { "name": "identification_number", "data_type": "String", "default_display_name": "Identification Number" } ] } ] }
Get Config Data Model Type Attributes
Gets all the attributes of a specific type for the data model present in configuration space.
Gets all the attributes of a specific type for the data model present in configuration space.
GET /mdm/v1/config_data_model/attributes
ServiceCall<ConfigDataModelAttributes> getConfiguratorConfigDataModelAttributes(GetConfiguratorConfigDataModelAttributesOptions getConfiguratorConfigDataModelAttributesOptions)
Request
Use the GetConfiguratorConfigDataModelAttributesOptions.Builder
to create a GetConfiguratorConfigDataModelAttributesOptions
object that contains the parameter values for the getConfiguratorConfigDataModelAttributes
method.
Query Parameters
The cloud resource name of the service.
The type category of the data model attributes
The type name of the type category to identify data model attributes
The getConfiguratorConfigDataModelAttributes options.
The type category of the data model attributes.
The type name of the type category to identify data model attributes.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/config_data_model/attributes?type_name=person&type_category=employee&crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
Response
The Config Data Model attributes for a record type.
Collection of Data Model Attribute property for a record type.
The Config Data Model attributes for a record type.
Collection of Data Model Attribute property for a record type.
- attributes
The data type of this property.
The displayable text for this property.
The designation of this property.
The name of this property.
Status Code
Config Data Model Type attributes retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Error in fetching Config Data Model Record Type attributes.
{ "attributes": [ { "name": "record_id", "default_display_name": "Record identifier" }, { "name": "record_source", "default_display_name": "Record source" } ] }
{ "attributes": [ { "name": "record_id", "default_display_name": "Record identifier" }, { "name": "record_source", "default_display_name": "Record source" } ] }
Get matching statistics
Gets the matching statistics (such as number of entities, entity size distributions, etc.) for the specified record type.
Gets the matching statistics (such as number of entities, entity size distributions, etc.) for the specified record type.
GET /mdm/v1/match_statistics
ServiceCall<MatchStatistics> getConfiguratorMatchingStatistics(GetConfiguratorMatchingStatisticsOptions getConfiguratorMatchingStatisticsOptions)
Request
Use the GetConfiguratorMatchingStatisticsOptions.Builder
to create a GetConfiguratorMatchingStatisticsOptions
object that contains the parameter values for the getConfiguratorMatchingStatistics
method.
Query Parameters
The cloud resource name of the service.
Record type of match statistics
Example:
person
Entity type of match statistics
Example:
person_entity
The getConfiguratorMatchingStatistics options.
Record type of match statistics.
Examples:person
Entity type of match statistics.
Examples:person_entity
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/match_statistics?record_type=person&entity_type=person_entity&crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetConfiguratorMatchingStatisticsOptions getConfiguratorMatchingStatisticsOptions = new GetConfiguratorMatchingStatisticsOptions.Builder() .recordType("person") .entityType("person_entity") .build(); Response<MatchStatistics> response = mdmService.getConfiguratorMatchingStatistics(getConfiguratorMatchingStatisticsOptions).execute(); MatchStatistics matchStatistics = response.getResult(); System.out.println(matchStatistics);
Response
The Statistics of the match process results.
The size statistics of entities generated by the match process.
The size distribution statistics of entities generated by the match process.
The breakdown statistics of entities generated by match process.
- entity_breakdown
The average of the entity sizes.
Example:
2
The standard deviation of the entity sizes.
The variance of the entity sizes.
The maximum size of the entity.
Example:
4
The minimum size of the entity.
Example:
1
The count of the entities.
Example:
500
The summary of statistics of the match process results.
- summary
The count of entities having size of one.
Example:
300
The number of distinct sources of data records.
Example:
4
The number of data assets processed by the match process.
Example:
9
The total number of entities generated by the match process.
Example:
950
The total number of data records processed by the match process.
Example:
2500
The status of match process execution.
- status
The match process execution completion date.
Example:
2021-03-16T13:04:34.000Z
Count of the comparisons made during match process.
Example:
120
Count of the comparison buckets created during match process.
Example:
9
The total time consumed to run match process.
Example:
159000
The Statistics of the match process results.
The size statistics of entities generated by the match process.
- largestEntities
The identifier of the entity.
Examples:40976536
The size of this entity.
Examples:4.0
The size distribution statistics of entities generated by the match process.
- entitySizeDistribution
Count of the entities of specified size.
Examples:5.0
Size of the entity.
Examples:120
The breakdown statistics of entities generated by match process.
- entityBreakdown
The average of the entity sizes.
Examples:2.0
The standard deviation of the entity sizes.
Examples:0.0
The variance of the entity sizes.
Examples:0.0
The maximum size of the entity.
Examples:4.0
The minimum size of the entity.
Examples:1.0
The count of the entities.
Examples:500.0
The summary of statistics of the match process results.
- summary
The count of entities having size of one.
Examples:300.0
The number of distinct sources of data records.
Examples:4
The number of data assets processed by the match process.
Examples:9
The total number of entities generated by the match process.
Examples:950.0
The total number of data records processed by the match process.
Examples:2500
The status of match process execution.
- status
The match process execution completion date.
Examples:2021-03-16 13:04:34+00:00
Count of the comparisons made during match process.
Count of the comparison buckets created during match process.
Examples:9
The total time consumed to run match process.
Examples:159000
Status Code
Statistics retrieved
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Error occurred in get resource process. Resource does not exist
Error in fetching statistics
{ "entity_breakdown": { "average": 2, "standard_deviation": 0, "variance": 0, "max": 4, "count": 500, "min": 1 }, "largest_entities": [ { "entity_id": 40976536, "entity_size": 4 } ], "entity_size_distribution": [ { "entity_count": 5, "entity_size": 120 } ], "summary": { "total_records": 2500, "singleton_count": 300, "distinct_sources": 4, "data_assets": 9, "entities_count": 950 }, "status": { "date_completed": {}, "comparison_count": 120, "bucket_count": 9, "run_time": 159000 } }
{ "entity_breakdown": { "average": 2, "standard_deviation": 0, "variance": 0, "max": 4, "count": 500, "min": 1 }, "largest_entities": [ { "entity_id": 40976536, "entity_size": 4 } ], "entity_size_distribution": [ { "entity_count": 5, "entity_size": 120 } ], "summary": { "total_records": 2500, "singleton_count": 300, "distinct_sources": 4, "data_assets": 9, "entities_count": 950 }, "status": { "date_completed": {}, "comparison_count": 120, "bucket_count": 9, "run_time": 159000 } }
List the process details
Lists the Configurator process details for all processes, optionally filtered by process status.
Lists the Configurator process details for all processes, optionally filtered by process status.
GET /mdm/v1/configuration_metadata/processes
ServiceCall<ProcessList> listConfiguratorProcesses(ListConfiguratorProcessesOptions listConfiguratorProcessesOptions)
Request
Use the ListConfiguratorProcessesOptions.Builder
to create a ListConfiguratorProcessesOptions
object that contains the parameter values for the listConfiguratorProcesses
method.
Query Parameters
The cloud resource name of the service.
Unique status param to get the processes based on it. i.e. Not-Initiated, In-progress, Complete and Error
Example:
In-progress
The listConfiguratorProcesses options.
Unique status param to get the processes based on it. i.e. Not-Initiated, In-progress, Complete and Error.
Examples:In-progress
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/configuration_metadata/processes?status=Complete&crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListConfiguratorProcessesOptions listConfiguratorProcessesOptions = new ListConfiguratorProcessesOptions.Builder() .status("In-progress") .build(); Response<ProcessList> response = mdmService.listConfiguratorProcesses(listConfiguratorProcessesOptions).execute(); ProcessList processList = response.getResult(); System.out.println(processList);
Response
Response wrapper with the list of Processes.
Collection of Processes with details.
Response wrapper with the list of Processes.
Collection of Processes with details.
- processes
The displayable text for the record type.
The data type identifier of source records under processing.
Name of the Process.
Count of process of this process name under execution.
Status of the Process execution.
Additional details about the Process execution.
Status Code
Processes retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Error in getting processes.
{ "processes": [ { "record_type_label": "Person", "record_type": "person", "process_name": "match", "process_count": "0", "message": "Match completed successfully and statistics updated.", "status": "Complete" } ] }
{ "processes": [ { "record_type_label": "Person", "record_type": "person", "process_name": "match", "process_count": "0", "message": "Match completed successfully and statistics updated.", "status": "Complete" } ] }
Create process
Create the Configurator process to publish data, publish model, match and delete assets.
Create the Configurator process to publish data, publish model, match and delete assets.
POST /mdm/v1/configuration_metadata/processes
ServiceCall<ProcessStatus> createConfiguratorProcess(CreateConfiguratorProcessOptions createConfiguratorProcessOptions)
Request
Use the CreateConfiguratorProcessOptions.Builder
to create a CreateConfiguratorProcessOptions
object that contains the parameter values for the createConfiguratorProcess
method.
Query Parameters
The cloud resource name of the service.
Process creation request details.
{
"process_name": "publish_data",
"asset_source_details": {
"project": {
"cos_endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud",
"cos_bucket_name": "bucket-name",
"cos_api_key": "project_api_key"
}
},
"initiator": "IAM ID"
}
{
"process_name": "publish_data",
"asset_source_details": {
"project": {
"cos_endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud",
"cos_bucket_name": "bucket-name",
"cos_api_key": "project_api_key"
}
},
"asset_ids": "asset-1,asset-2",
"initiator": "IAM ID"
}
{
"process_name": "delete_asset",
"asset_ids": "asset-id-1,asset-id-2",
"initiator": "IAM ID"
}
{
"process_name": "publish_model",
"initiator": "IAM ID"
}
{
"process_name": "match",
"record_type": "person",
"entity_type": "person_entity",
"do_derive": true,
"do_force_matching": true,
"initiator": "IAM ID"
}
The name of the Process to be created.
Example:
match
The asset source details for the data asset to be published for publish_data process.
- asset_source_details
The asset source details for project data asset
- project
Bucket Name of data asset file in the Cloud Object Storage.
API Key of the Cloud Object Storage account.
Endpoint URL of the Cloud Object Storage.
Identifier of source project or source catalog.
The asset source details for catalog data asset
- catalog
Bucket Name of data asset file in the Cloud Object Storage.
API Key of the Cloud Object Storage account.
Endpoint URL of the Cloud Object Storage.
Identifier of source project or source catalog.
The record type which needs to be processed for match and publish_data processes.
Example:
person
Flag to enable/disable force derive/match operations.
Comma separated asset ids of assets to be processed by delete_assets and publish_data processes.
User identifier of the initiator of processes. This identifier will be available in the headers of the messaging queue events generated by the initiated process.
Flag to enable/disable derive operation for match process.
The entity type which needs to be processed for match process.
Example:
person_entity
The createConfiguratorProcess options.
The name of the Process to be created.
Examples:publish_data
The asset source details for the data asset to be published for publish_data process.
Examples:{ "project": { "cos_endpoint": "https://s3.us-south.cloud-object-storage.appdomain.cloud", "cos_bucket_name": "bucket-name", "cos_api_key": "project_api_key" } }
- assetSourceDetails
The asset source details for project data asset.
- project
Bucket Name of data asset file in the Cloud Object Storage.
API Key of the Cloud Object Storage account.
Endpoint URL of the Cloud Object Storage.
Identifier of source project or source catalog.
The asset source details for catalog data asset.
- catalog
Bucket Name of data asset file in the Cloud Object Storage.
API Key of the Cloud Object Storage account.
Endpoint URL of the Cloud Object Storage.
Identifier of source project or source catalog.
The record type which needs to be processed for match and publish_data processes.
Flag to enable/disable force derive/match operations.
Comma separated asset ids of assets to be processed by delete_assets and publish_data processes.
User identifier of the initiator of processes. This identifier will be available in the headers of the messaging queue events generated by the initiated process.
Examples:IAM ID
Flag to enable/disable derive operation for match process.
The entity type which needs to be processed for match process.
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/configuration_metadata/processes?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"process_name":"publish_data","asset_source_details":{"project":{"cos_endpoint":"https://s3.us-south.cloud-object-storage.appdomain.cloud","cos_bucket_name":"bucket-name","cos_api_key":"project_api_key"}},"initiator":"IAM ID" }"
ProcessRequestAssetSourceDetailsProject processRequestAssetSourceDetailsProjectModel = new ProcessRequestAssetSourceDetailsProject.Builder() .cosBucketName("bucket-name") .cosApiKey("project_api_key") .cosEndpoint("https://s3.us-south.cloud-object-storage.appdomain.cloud") .build(); ProcessRequestAssetSourceDetails processRequestAssetSourceDetailsModel = new ProcessRequestAssetSourceDetails.Builder() .project(processRequestAssetSourceDetailsProjectModel) .build(); CreateConfiguratorProcessOptions createConfiguratorProcessOptions = new CreateConfiguratorProcessOptions.Builder() .processName("publish_data") .assetSourceDetails(processRequestAssetSourceDetailsModel) .initiator("IAM ID") .build(); Response<ProcessStatus> response = mdmService.createConfiguratorProcess(createConfiguratorProcessOptions).execute(); ProcessStatus processStatus = response.getResult(); System.out.println(processStatus);
Response
Process Status.
Optional summary of the processes.
- summary
Status of the Process execution.
Additional details about the Process status.
Process Status.
Optional summary of the processes.
Status of the Process execution.
Additional details about the Process status.
Status Code
Process created successfully.
Error in process creation. The request you used is invalid. Please revalidate and try again.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Error in getting processes.
{ "status": "In-Progress", "message": "Matching is in progress." }
{ "status": "In-Progress", "message": "Matching is in progress." }
{ "status": "In-progress", "message": "Publish model is initiated." }
{ "status": "In-progress", "message": "Publish model is initiated." }
{ "status": "In-progress", "message": "Asset Deletion is initiated!", "summary": { "asset_id_1": "Delete-in-progress" } }
{ "status": "In-progress", "message": "Asset Deletion is initiated!", "summary": { "asset_id_1": "Delete-in-progress" } }
{ "message": "Bulk load of data is initiated.", "status": "In-progress" }
{ "message": "Bulk load of data is initiated.", "status": "In-progress" }
Get configuration metadata
Gets the configuration metadata with all assets, their mappings, loading status, matching status, etc.
Gets the configuration metadata with all assets, their mappings, loading status, matching status, etc.
GET /mdm/v1/configuration_metadata
ServiceCall<ConfigurationMetadata> getConfiguratorConfigurationMetadata(GetConfiguratorConfigurationMetadataOptions getConfiguratorConfigurationMetadataOptions)
Request
Use the GetConfiguratorConfigurationMetadataOptions.Builder
to create a GetConfiguratorConfigurationMetadataOptions
object that contains the parameter values for the getConfiguratorConfigurationMetadata
method.
Query Parameters
The cloud resource name of the service.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/configuration_metadata?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetConfiguratorConfigurationMetadataOptions getConfiguratorConfigurationMetadataOptions = new GetConfiguratorConfigurationMetadataOptions(); Response<ConfigurationMetadata> response = mdmService.getConfiguratorConfigurationMetadata(getConfiguratorConfigurationMetadataOptions).execute(); ConfigurationMetadata configurationMetadata = response.getResult(); System.out.println(configurationMetadata);
Response
Configuration metadata details.
Last updated date of this Configuration metadata.
The date of Configuration metadata creation.
Pair analysis in configuration Metadata
- pair_analysis
- any property
The details of entities in Configuration metadata
The project id of the linked WKC project.
Example:
0e4bb17d-4871-40a5-b5a1-55b2866fe000
The catalog id from the linked WKC project.
Example:
ee1de5f6-54da-4246-95bc-7bc282151000
The description of the Configuration metadata.
The name of the Configuration metadata.
The identifier of this Configuration metadata.
Example:
0e4bb17d-4871-40a5-b5a1-0000000
Configuration metadata details.
Last updated date of this Configuration metadata.
The date of Configuration metadata creation.
Pair analysis in configuration Metadata.
- pairAnalysis
The job id of an entity in Configuration metadata.
pair offset.
tuned configuration.
current configuration.
job status.
The project id of the linked WKC project.
Examples:0e4bb17d-4871-40a5-b5a1-55b2866fe000
The catalog id from the linked WKC project.
Examples:ee1de5f6-54da-4246-95bc-7bc282151000
The description of the Configuration metadata.
The name of the Configuration metadata.
The identifier of this Configuration metadata.
Examples:0e4bb17d-4871-40a5-b5a1-0000000
Status Code
configuration metadata for given id is fetched successfullly.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Error in getting configuration metadata.
{ "name": "configuration_metadata", "description": "sample configuration metadata", "storage_type": "Cloud storage", "project_id": "52a72453-597c-4fb3-a518-c815225e3ea9", "catalog_id": "8a3cc967-81c4-49a3-86a2-208059819b24", "role": "admin", "collaborators": "AP", "assets": [ { "asset_name": "person-100.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_source": "project", "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_source", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" }, { "key": "COLUMN2", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_id", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" } ], "asset_id": "0777c0a7-9a3f-40a8-a094-c85091fa2ec7" } ] }
{ "name": "configuration_metadata", "description": "sample configuration metadata", "storage_type": "Cloud storage", "project_id": "52a72453-597c-4fb3-a518-c815225e3ea9", "catalog_id": "8a3cc967-81c4-49a3-86a2-208059819b24", "role": "admin", "collaborators": "AP", "assets": [ { "asset_name": "person-100.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_source": "project", "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_source", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" }, { "key": "COLUMN2", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_id", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" } ], "asset_id": "0777c0a7-9a3f-40a8-a094-c85091fa2ec7" } ] }
Replace configuration metadata
Replaces the configuration metadata. It would replace the configuration data including asset information, matching attributes, etc.
Replaces the configuration metadata. It would replace the configuration data including asset information, matching attributes, etc.
PUT /mdm/v1/configuration_metadata
ServiceCall<ConfigurationMetadata> replaceConfiguratorConfigurationMetadata(ReplaceConfiguratorConfigurationMetadataOptions replaceConfiguratorConfigurationMetadataOptions)
Request
Use the ReplaceConfiguratorConfigurationMetadataOptions.Builder
to create a ReplaceConfiguratorConfigurationMetadataOptions
object that contains the parameter values for the replaceConfiguratorConfigurationMetadata
method.
Query Parameters
The cloud resource name of the service.
Configuration metadata details.
{
"name": "configuration_metadata",
"description": "sample configuration metadata",
"storage_type": "Cloud storage",
"project_id": "52a72453-597c-4fb3-a518-c815225e3ea9",
"catalog_id": "8a3cc967-81c4-49a3-86a2-208059819b24",
"role": "admin",
"collaborators": "AP",
"assets": [
{
"asset_name": "person-100.csv",
"asset_status": "Mapped",
"asset_record_type": "Person",
"asset_source": "project",
"asset_mappings": [
{
"key": "COLUMN1",
"classified_class": "X",
"data_mapping_name": "record_id",
"data_mapping_default_display_name": "record_source",
"exclude_column": "FALSE",
"auto_mapped": true,
"completeness_percent": "90"
},
{
"key": "COLUMN2",
"classified_class": "X",
"data_mapping_name": "record_id",
"data_mapping_default_display_name": "record_id",
"exclude_column": "FALSE",
"auto_mapped": true,
"completeness_percent": "90"
}
],
"asset_id": "0777c0a7-9a3f-40a8-a094-c85091fa2ec7"
}
]
}
Pair analysis in configuration Metadata
- pair_analysis
- any property
The details of entities in Configuration metadata
The project id of the linked WKC project.
Example:
0e4bb17d-4871-40a5-b5a1-55b2866fe000
The catalog id from the linked WKC project.
Example:
ee1de5f6-54da-4246-95bc-7bc282151000
The description of the Configuration metadata.
The name of the Configuration metadata.
The replaceConfiguratorConfigurationMetadata options.
Pair analysis in configuration Metadata.
- pairAnalysis
The job id of an entity in Configuration metadata.
pair offset.
tuned configuration.
current configuration.
job status.
The project id of the linked WKC project.
Examples:52a72453-597c-4fb3-a518-c815225e3ea9
The catalog id from the linked WKC project.
Examples:8a3cc967-81c4-49a3-86a2-208059819b24
The description of the Configuration metadata.
Examples:sample configuration metadata
The name of the Configuration metadata.
Examples:configuration_metadata
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/configuration_metadata?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"collaborators":"AP","storage_type":"Cloud storage","project_id":"0e4bb17d-4871-40a5-b5a1-55b2866fe000","catalog_id":"ee1de5f6-54da-4246-95bc-7bc282151000","description":"Example project","role":"admin","name":"Project 1"}"
ReplaceConfiguratorConfigurationMetadataOptions replaceConfiguratorConfigurationMetadataOptions = new ReplaceConfiguratorConfigurationMetadataOptions.Builder() .projectId("52a72453-597c-4fb3-a518-c815225e3ea9") .catalogId("8a3cc967-81c4-49a3-86a2-208059819b24") .description("sample configuration metadata") .name("configuration_metadata") .build(); Response<ConfigurationMetadata> response = mdmService.replaceConfiguratorConfigurationMetadata(replaceConfiguratorConfigurationMetadataOptions).execute(); ConfigurationMetadata configurationMetadata = response.getResult(); System.out.println(configurationMetadata);
Response
Configuration metadata details.
Last updated date of this Configuration metadata.
The date of Configuration metadata creation.
Pair analysis in configuration Metadata
- pair_analysis
- any property
The details of entities in Configuration metadata
The project id of the linked WKC project.
Example:
0e4bb17d-4871-40a5-b5a1-55b2866fe000
The catalog id from the linked WKC project.
Example:
ee1de5f6-54da-4246-95bc-7bc282151000
The description of the Configuration metadata.
The name of the Configuration metadata.
The identifier of this Configuration metadata.
Example:
0e4bb17d-4871-40a5-b5a1-0000000
Configuration metadata details.
Last updated date of this Configuration metadata.
The date of Configuration metadata creation.
Pair analysis in configuration Metadata.
- pairAnalysis
The job id of an entity in Configuration metadata.
pair offset.
tuned configuration.
current configuration.
job status.
The project id of the linked WKC project.
Examples:0e4bb17d-4871-40a5-b5a1-55b2866fe000
The catalog id from the linked WKC project.
Examples:ee1de5f6-54da-4246-95bc-7bc282151000
The description of the Configuration metadata.
The name of the Configuration metadata.
The identifier of this Configuration metadata.
Examples:0e4bb17d-4871-40a5-b5a1-0000000
Status Code
configuration metadata successfully replaced
Error in replacing configuration metadata. The request you used is invalid. Please revalidate and try again.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Internal error occured in replacing configuration metadata.
{ "name": "configuration_metadata", "description": "sample configuration metadata", "storage_type": "Cloud storage", "project_id": "52a72453-597c-4fb3-a518-c815225e3ea9", "catalog_id": "8a3cc967-81c4-49a3-86a2-208059819b24", "role": "admin", "collaborators": "AP", "assets": [ { "asset_name": "person-100.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_source": "project", "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_source", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" }, { "key": "COLUMN2", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_id", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" } ], "asset_id": "0777c0a7-9a3f-40a8-a094-c85091fa2ec7" } ] }
{ "name": "configuration_metadata", "description": "sample configuration metadata", "storage_type": "Cloud storage", "project_id": "52a72453-597c-4fb3-a518-c815225e3ea9", "catalog_id": "8a3cc967-81c4-49a3-86a2-208059819b24", "role": "admin", "collaborators": "AP", "assets": [ { "asset_name": "person-100.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_source": "project", "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_source", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" }, { "key": "COLUMN2", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_id", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" } ], "asset_id": "0777c0a7-9a3f-40a8-a094-c85091fa2ec7" } ] }
Update configuration metadata
Updates the configuration metadata with the information provided in the request.
Updates the configuration metadata with the information provided in the request.
PATCH /mdm/v1/configuration_metadata
ServiceCall<ConfigurationMetadata> updateConfiguratorConfigurationMetadata(UpdateConfiguratorConfigurationMetadataOptions updateConfiguratorConfigurationMetadataOptions)
Request
Use the UpdateConfiguratorConfigurationMetadataOptions.Builder
to create a UpdateConfiguratorConfigurationMetadataOptions
object that contains the parameter values for the updateConfiguratorConfigurationMetadata
method.
Query Parameters
The cloud resource name of the service.
Configuration metadata details.
{
"name": "configuration_metadata",
"description": "sample configuration metadata",
"storage_type": "Cloud storage",
"project_id": "52a72453-597c-4fb3-a518-c815225e3ea9",
"catalog_id": "8a3cc967-81c4-49a3-86a2-208059819b24",
"role": "admin",
"collaborators": "AP",
"assets": [
{
"asset_name": "person-100.csv",
"asset_status": "Mapped",
"asset_record_type": "Person",
"asset_source": "project",
"asset_mappings": [
{
"key": "COLUMN1",
"classified_class": "X",
"data_mapping_name": "record_id",
"data_mapping_default_display_name": "record_source",
"exclude_column": "FALSE",
"auto_mapped": true,
"completeness_percent": "90"
},
{
"key": "COLUMN2",
"classified_class": "X",
"data_mapping_name": "record_id",
"data_mapping_default_display_name": "record_id",
"exclude_column": "FALSE",
"auto_mapped": true,
"completeness_percent": "90"
}
],
"asset_id": "0777c0a7-9a3f-40a8-a094-c85091fa2ec7"
}
]
}
Pair analysis in configuration Metadata
- pair_analysis
- any property
The details of entities in Configuration metadata
The project id of the linked WKC project.
Example:
0e4bb17d-4871-40a5-b5a1-55b2866fe000
The catalog id from the linked WKC project.
Example:
ee1de5f6-54da-4246-95bc-7bc282151000
The description of the Configuration metadata.
The name of the Configuration metadata.
The updateConfiguratorConfigurationMetadata options.
Pair analysis in configuration Metadata.
- pairAnalysis
The job id of an entity in Configuration metadata.
pair offset.
tuned configuration.
current configuration.
job status.
The project id of the linked WKC project.
Examples:52a72453-597c-4fb3-a518-c815225e3ea9
The catalog id from the linked WKC project.
Examples:8a3cc967-81c4-49a3-86a2-208059819b24
The description of the Configuration metadata.
Examples:sample configuration metadata
The name of the Configuration metadata.
Examples:configuration_metadata
curl -X PATCH --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/configuration_metadata?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"collaborators":"AP","storage_type":"Cloud storage","project_id":"0e4bb17d-4871-40a5-b5a1-55b2866fe000","catalog_id":"ee1de5f6-54da-4246-95bc-7bc282151000","description":"Example project","role":"admin","name":"Project 1"}"
UpdateConfiguratorConfigurationMetadataOptions updateConfiguratorConfigurationMetadataOptions = new UpdateConfiguratorConfigurationMetadataOptions.Builder() .projectId("52a72453-597c-4fb3-a518-c815225e3ea9") .catalogId("8a3cc967-81c4-49a3-86a2-208059819b24") .description("sample configuration metadata") .name("configuration_metadata") .build(); Response<ConfigurationMetadata> response = mdmService.updateConfiguratorConfigurationMetadata(updateConfiguratorConfigurationMetadataOptions).execute(); ConfigurationMetadata configurationMetadata = response.getResult(); System.out.println(configurationMetadata);
Response
Configuration metadata details.
Last updated date of this Configuration metadata.
The date of Configuration metadata creation.
Pair analysis in configuration Metadata
- pair_analysis
- any property
The details of entities in Configuration metadata
The project id of the linked WKC project.
Example:
0e4bb17d-4871-40a5-b5a1-55b2866fe000
The catalog id from the linked WKC project.
Example:
ee1de5f6-54da-4246-95bc-7bc282151000
The description of the Configuration metadata.
The name of the Configuration metadata.
The identifier of this Configuration metadata.
Example:
0e4bb17d-4871-40a5-b5a1-0000000
Configuration metadata details.
Last updated date of this Configuration metadata.
The date of Configuration metadata creation.
Pair analysis in configuration Metadata.
- pairAnalysis
The job id of an entity in Configuration metadata.
pair offset.
tuned configuration.
current configuration.
job status.
The project id of the linked WKC project.
Examples:0e4bb17d-4871-40a5-b5a1-55b2866fe000
The catalog id from the linked WKC project.
Examples:ee1de5f6-54da-4246-95bc-7bc282151000
The description of the Configuration metadata.
The name of the Configuration metadata.
The identifier of this Configuration metadata.
Examples:0e4bb17d-4871-40a5-b5a1-0000000
Status Code
configuration metadata successfully updated
Error in updating configuration metadata. The request you used is invalid. Please revalidate and try again.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Internal error occured in getting configuration metadata.
{ "name": "configuration_metadata", "description": "sample configuration metadata", "storage_type": "Cloud storage", "project_id": "52a72453-597c-4fb3-a518-c815225e3ea9", "catalog_id": "8a3cc967-81c4-49a3-86a2-208059819b24", "role": "admin", "collaborators": "AP", "assets": [ { "asset_name": "person-100.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_source": "project", "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_source", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" }, { "key": "COLUMN2", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_id", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" } ], "asset_id": "0777c0a7-9a3f-40a8-a094-c85091fa2ec7" } ] }
{ "name": "configuration_metadata", "description": "sample configuration metadata", "storage_type": "Cloud storage", "project_id": "52a72453-597c-4fb3-a518-c815225e3ea9", "catalog_id": "8a3cc967-81c4-49a3-86a2-208059819b24", "role": "admin", "collaborators": "AP", "assets": [ { "asset_name": "person-100.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_source": "project", "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_source", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" }, { "key": "COLUMN2", "classified_class": "X", "data_mapping_name": "record_id", "data_mapping_default_display_name": "record_id", "exclude_column": "FALSE", "auto_mapped": true, "completeness_percent": "90" } ], "asset_id": "0777c0a7-9a3f-40a8-a094-c85091fa2ec7" } ] }
Add configuration metadata asset
Adds a new asset in configuration metadata. This can be called when new asset is getting added into configuration space.
Adds a new asset in configuration metadata. This can be called when new asset is getting added into configuration space.
POST /mdm/v1/configuration_metadata/assets
ServiceCall<AssetMetadata> addConfiguratorConfigurationAsset(AddConfiguratorConfigurationAssetOptions addConfiguratorConfigurationAssetOptions)
Request
Use the AddConfiguratorConfigurationAssetOptions.Builder
to create a AddConfiguratorConfigurationAssetOptions
object that contains the parameter values for the addConfiguratorConfigurationAsset
method.
Query Parameters
The cloud resource name of the service.
Request details for creating new Data Asset.
{
"asset_id": "asset_id",
"asset_name": "Person10.csv",
"asset_status": "Mapped",
"asset_record_type": "Person",
"asset_created_date": "2020-05-12T13:21:21.727Z",
"asset_mappings": [
{
"key": "COLUMN1",
"classified_class": "X",
"data_mapping_name": "record_source",
"data_mapping_default_display_name": "Record Source",
"exclude_column": false,
"auto_mapped": false,
"completeness_percent": 100
},
{
"key": "COLUMN2",
"classified_class": "T",
"data_mapping_name": "",
"data_mapping_default_display_name": "",
"exclude_column": true,
"auto_mapped": false,
"completeness_percent": 100
}
]
}
The name of the Data Asset.
Example:
Person10k.csv
The status of the Data Asset.
Example:
Mapped
The identifier for the Data Asset.
Example:
d8868c51-a96e-48ab-a4cd-0000000
The date of the Data Asset creation.
The collection of Data Asset column mappings with the data model.
The addConfiguratorConfigurationAsset options.
The name of the Data Asset.
Examples:Person10.csv
The status of the Data Asset.
Examples:Mapped
The identifier for the Data Asset.
Examples:asset_id
The date of the Data Asset creation.
Examples:2020-05-12 13:21:21.727000+00:00
The collection of Data Asset column mappings with the data model.
Examples:[ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_source", "data_mapping_default_display_name": "Record Source", "exclude_column": false, "auto_mapped": false, "completeness_percent": 100 }, { "key": "COLUMN2", "classified_class": "T", "data_mapping_name": "", "data_mapping_default_display_name": "", "exclude_column": true, "auto_mapped": false, "completeness_percent": 100 } ]
- assetMappings
The classified class of the Data Asset column.
Examples:GEN
The Data mapping name of the Data Asset column.
Examples:gender
The data values completeness percentage of the Data asset column.
Examples:100.0
The attribute type mapped to this Data Asset column.
Examples:string
Specifies whether this Data Asset column is excluded from mapping.
Examples:false
Specifies whether this data asset column is automatically mapped.
Examples:true
The key of the Data Asset column.
Examples:COLUMN 1
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/configuration_metadata/assets?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"asset_created_date":"{}","asset_mappings":[{"exclude_column":false,"auto_mapped":true,"completeness_percent":100,"data_mapping_default_display_name":"Record Source","classified_class":"GEN","data_mapping_name":"gender","key":"COLUMN 1"}],"asset_id":"d8868c51-a96e-48ab-a4cd-0000000","asset_name":"Person10k.csv","asset_status":"Mapped","asset_record_type":"Person"}"
AssetMapping assetMappingModel = new AssetMapping.Builder() .completenessPercent("100") .dataMappingName("record_source") .excludeColumn(false) .autoMapped(false) .classifiedClass("X") .key("COLUMN1") .build(); AddConfiguratorConfigurationAssetOptions addConfiguratorConfigurationAssetOptions = new AddConfiguratorConfigurationAssetOptions.Builder() .assetId("asset_id") .assetName("Person10.csv") .assetStatus("Mapped") .assetCreatedDate("2020-05-12 13:21:21.727000+00:00") .assetMappings(new java.util.ArrayList<AssetMapping>(java.util.Arrays.asList(assetMappingModel))) .build(); Response<AssetMetadata> response = mdmService.addConfiguratorConfigurationAsset(addConfiguratorConfigurationAssetOptions).execute(); AssetMetadata assetMetadata = response.getResult(); System.out.println(assetMetadata);
Response
Response wrapper with details of Data Asset Metadata.
Details of the Data Asset.
- asset
The status of the Data asset.
Example:
Mapped
The date of the Data asset creation.
Example:
'2020-06-25 11:36:18'
The details of Data asset column mappings to the data model.
The identifier of the Data asset.
Example:
d8868c51-a96e-48ab-a4cd-0000000
The last updated date of the Data asset metadata.
Example:
'2020-06-25 11:36:18'
The name of the Data asset.
Example:
person_data_records.csv
Response wrapper with details of Data Asset Metadata.
Details of the Data Asset.
- asset
The status of the Data asset.
Examples:Mapped
The date of the Data asset creation.
Examples:'2020-06-25 11:36:18'
The details of Data asset column mappings to the data model.
- assetMappings
The classified class of the Data Asset column.
Examples:GEN
The Data mapping name of the Data Asset column.
Examples:gender
The data values completeness percentage of the Data asset column.
Examples:100.0
The attribute type mapped to this Data Asset column.
Examples:string
Specifies whether this Data Asset column is excluded from mapping.
Examples:false
Specifies whether this data asset column is automatically mapped.
Examples:true
The key of the Data Asset column.
Examples:COLUMN 1
The identifier of the Data asset.
Examples:d8868c51-a96e-48ab-a4cd-0000000
The last updated date of the Data asset metadata.
Examples:'2020-06-25 11:36:18'
The name of the Data asset.
Examples:person_data_records.csv
Status Code
Asset created successfully.
Error in created asset. The request you used is invalid. Please revalidate and try again.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Internal error occured in creating asset for the given configuration metadata.
{ "asset_id": "asset_id", "asset_name": "Person10.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_created_date": {}, "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_source", "data_mapping_default_display_name": "Record Source", "exclude_column": false, "auto_mapped": false, "completeness_percent": 100 }, { "key": "COLUMN2", "classified_class": "T", "data_mapping_name": "", "data_mapping_default_display_name": "", "exclude_column": true, "auto_mapped": false, "completeness_percent": 100 } ], "asset_last_updated_date": "2021-05-17T18:58:59.000Z" }
{ "asset_id": "asset_id", "asset_name": "Person10.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_created_date": {}, "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_source", "data_mapping_default_display_name": "Record Source", "exclude_column": false, "auto_mapped": false, "completeness_percent": 100 }, { "key": "COLUMN2", "classified_class": "T", "data_mapping_name": "", "data_mapping_default_display_name": "", "exclude_column": true, "auto_mapped": false, "completeness_percent": 100 } ], "asset_last_updated_date": "2021-05-17T18:58:59.000Z" }
Get configurator process
Gets the process details for the specified process name.
Gets the process details for the specified process name.
GET /mdm/v1/configuration_metadata/processes/{process_name}
ServiceCall<ProcessModelStatus> getConfiguratorProcess(GetConfiguratorProcessOptions getConfiguratorProcessOptions)
Request
Use the GetConfiguratorProcessOptions.Builder
to create a GetConfiguratorProcessOptions
object that contains the parameter values for the getConfiguratorProcess
method.
Path Parameters
Unique process name to get the process status. i.e. publish_model, publish_data, match, delete_asset
Query Parameters
The cloud resource name of the service.
Unique record type associated with the process
Example:
person
Unique entity type associated with the process
Example:
person_entity
The getConfiguratorProcess options.
Unique process name to get the process status. i.e. publish_model, publish_data, match, delete_asset.
Unique record type associated with the process.
Examples:person
Unique entity type associated with the process.
Examples:person_entity
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/configuration_metadata/processes/publish_model?record_type=person&entity_type=person_entity&crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetConfiguratorProcessOptions getConfiguratorProcessOptions = new GetConfiguratorProcessOptions.Builder() .processName("testString") .recordType("person") .entityType("person_entity") .build(); Response<ProcessModelStatus> response = mdmService.getConfiguratorProcess(getConfiguratorProcessOptions).execute(); ProcessModelStatus processModelStatus = response.getResult(); System.out.println(processModelStatus);
Response
Details of the Process.
The displayable text for the record type.
The data type identifier of source records under processing.
Name of the Process.
Count of process of this process name under execution.
Status of the Process execution.
Additional details about the Process execution.
Details of the Process.
The displayable text for the record type.
The data type identifier of source records under processing.
Name of the Process.
Count of process of this process name under execution.
Status of the Process execution.
Additional details about the Process execution.
Status Code
Process retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem processing request. Please check if you have provided correct process name.
Error in getting process.
{ "record_type_label": "Person", "record_type": "person", "process_name": "match", "process_count": "0", "message": "Match completed successfully and statistics updated.", "status": "Complete" }
{ "record_type_label": "Person", "record_type": "person", "process_name": "match", "process_count": "0", "message": "Match completed successfully and statistics updated.", "status": "Complete" }
Replace configuration metadata asset
Replaces asset information in the configuration with the information provided in the request.
Replaces asset information in the configuration with the information provided in the request.
PUT /mdm/v1/configuration_metadata/assets/{asset_id}
ServiceCall<AssetMetadata> replaceConfiguratorConfigurationAsset(ReplaceConfiguratorConfigurationAssetOptions replaceConfiguratorConfigurationAssetOptions)
Request
Use the ReplaceConfiguratorConfigurationAssetOptions.Builder
to create a ReplaceConfiguratorConfigurationAssetOptions
object that contains the parameter values for the replaceConfiguratorConfigurationAsset
method.
Path Parameters
Unique identifier of project asset
Query Parameters
The cloud resource name of the service.
Request object for updating an asset.
{
"asset_name": "Person10.csv",
"asset_status": "Mapped",
"asset_record_type": "Person",
"asset_created_date": "2020-05-12T13:21:21.727Z",
"asset_mappings": [
{
"key": "COLUMN1",
"classified_class": "X",
"data_mapping_name": "record_source",
"data_mapping_default_display_name": "Record Source",
"exclude_column": false,
"auto_mapped": false,
"completeness_percent": 100
},
{
"key": "COLUMN2",
"classified_class": "T",
"data_mapping_name": "",
"data_mapping_default_display_name": "",
"exclude_column": true,
"auto_mapped": false,
"completeness_percent": 100
}
]
}
Name of the data asset.
Example:
Person10k.csv
The status of the Data Asset.
Example:
Mapped
The date of data asset creation.
Details of Data Asset column mappings with the data model.
The replaceConfiguratorConfigurationAsset options.
Unique identifier of project asset.
Name of the data asset.
Examples:Person10.csv
The status of the Data Asset.
Examples:Mapped
The date of data asset creation.
Examples:2020-05-12 13:21:21.727000+00:00
Details of Data Asset column mappings with the data model.
Examples:[ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_source", "data_mapping_default_display_name": "Record Source", "exclude_column": false, "auto_mapped": false, "completeness_percent": 100 }, { "key": "COLUMN2", "classified_class": "T", "data_mapping_name": "", "data_mapping_default_display_name": "", "exclude_column": true, "auto_mapped": false, "completeness_percent": 100 } ]
- assetMappings
The classified class of the Data Asset column.
Examples:GEN
The Data mapping name of the Data Asset column.
Examples:gender
The data values completeness percentage of the Data asset column.
Examples:100.0
The attribute type mapped to this Data Asset column.
Examples:string
Specifies whether this Data Asset column is excluded from mapping.
Examples:false
Specifies whether this data asset column is automatically mapped.
Examples:true
The key of the Data Asset column.
Examples:COLUMN 1
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/configuration_metadata/assets/d8868c51-a96e-48ab-a4cd-0000000?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"asset_created_date":"{}","asset_mappings":[{"exclude_column":false,"auto_mapped":true,"completeness_percent":100,"data_mapping_default_display_name":"Record Source","classified_class":"GEN","data_mapping_name":"gender","key":"COLUMN 1"}],"asset_name":"Person10k.csv","asset_status":"Mapped","asset_record_type":"Person"}"
AssetMapping assetMappingModel = new AssetMapping.Builder() .completenessPercent("100") .dataMappingName("record_source") .excludeColumn(false) .autoMapped(false) .classifiedClass("X") .key("COLUMN1") .build(); ReplaceConfiguratorConfigurationAssetOptions replaceConfiguratorConfigurationAssetOptions = new ReplaceConfiguratorConfigurationAssetOptions.Builder() .assetId("testString") .assetName("Person10.csv") .assetStatus("Mapped") .assetCreatedDate("2020-05-12 13:21:21.727000+00:00") .assetMappings(new java.util.ArrayList<AssetMapping>(java.util.Arrays.asList(assetMappingModel))) .build(); Response<AssetMetadata> response = mdmService.replaceConfiguratorConfigurationAsset(replaceConfiguratorConfigurationAssetOptions).execute(); AssetMetadata assetMetadata = response.getResult(); System.out.println(assetMetadata);
Response
Response wrapper with details of Data Asset Metadata.
Details of the Data Asset.
- asset
The status of the Data asset.
Example:
Mapped
The date of the Data asset creation.
Example:
'2020-06-25 11:36:18'
The details of Data asset column mappings to the data model.
The identifier of the Data asset.
Example:
d8868c51-a96e-48ab-a4cd-0000000
The last updated date of the Data asset metadata.
Example:
'2020-06-25 11:36:18'
The name of the Data asset.
Example:
person_data_records.csv
Response wrapper with details of Data Asset Metadata.
Details of the Data Asset.
- asset
The status of the Data asset.
Examples:Mapped
The date of the Data asset creation.
Examples:'2020-06-25 11:36:18'
The details of Data asset column mappings to the data model.
- assetMappings
The classified class of the Data Asset column.
Examples:GEN
The Data mapping name of the Data Asset column.
Examples:gender
The data values completeness percentage of the Data asset column.
Examples:100.0
The attribute type mapped to this Data Asset column.
Examples:string
Specifies whether this Data Asset column is excluded from mapping.
Examples:false
Specifies whether this data asset column is automatically mapped.
Examples:true
The key of the Data Asset column.
Examples:COLUMN 1
The identifier of the Data asset.
Examples:d8868c51-a96e-48ab-a4cd-0000000
The last updated date of the Data asset metadata.
Examples:'2020-06-25 11:36:18'
The name of the Data asset.
Examples:person_data_records.csv
Status Code
Asset replaced successfully.
Error in replacing asset. The request you used is invalid. Please revalidate and try again.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Internal error occured in replacing asset for the given configuration metadata.
{ "asset_name": "Person10.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_created_date": {}, "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_source", "data_mapping_default_display_name": "Record Source", "exclude_column": false, "auto_mapped": false, "completeness_percent": 100 }, { "key": "COLUMN2", "classified_class": "T", "data_mapping_name": "", "data_mapping_default_display_name": "", "exclude_column": true, "auto_mapped": false, "completeness_percent": 100 } ], "asset_id": "asset_id", "asset_last_updated_date": "2021-05-17T19:00:34.000Z" }
{ "asset_name": "Person10.csv", "asset_status": "Mapped", "asset_record_type": "Person", "asset_created_date": {}, "asset_mappings": [ { "key": "COLUMN1", "classified_class": "X", "data_mapping_name": "record_source", "data_mapping_default_display_name": "Record Source", "exclude_column": false, "auto_mapped": false, "completeness_percent": 100 }, { "key": "COLUMN2", "classified_class": "T", "data_mapping_name": "", "data_mapping_default_display_name": "", "exclude_column": true, "auto_mapped": false, "completeness_percent": 100 } ], "asset_id": "asset_id", "asset_last_updated_date": "2021-05-17T19:00:34.000Z" }
Suggest data mappings
Suggest data mappings from MDM data model based on the generic classes of Watson Knowledge Catalog with which the asset is profiled.
Suggest data mappings from MDM data model based on the generic classes of Watson Knowledge Catalog with which the asset is profiled.
POST /mdm/v1/suggest_data_mappings
ServiceCall<SuggestedDataMapping> suggestConfiguratorDataMappings(SuggestConfiguratorDataMappingsOptions suggestConfiguratorDataMappingsOptions)
Request
Use the SuggestConfiguratorDataMappingsOptions.Builder
to create a SuggestConfiguratorDataMappingsOptions
object that contains the parameter values for the suggestConfiguratorDataMappings
method.
Query Parameters
The cloud resource name of the service.
Record type for data mapping suggestions
Example:
person
Suggested Data Mapping Request details.
{
"columns": [
{
"key": "COLUMN1",
"classified_class": "X"
}
]
}
The collection of data mapping columns having key and WKC identified class.
The suggestConfiguratorDataMappings options.
Record type for data mapping suggestions.
Examples:person
The collection of data mapping columns having key and WKC identified class.
Examples:[ { "key": "COLUMN1", "classified_class": "X" } ]
- columns
The classified class of the Data asset column.
Examples:GEN
The key of the Data asset column.
Examples:COLUMN 1
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/suggest_data_mappings?record_type=person&crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
DataMapping dataMappingModel = new DataMapping.Builder() .classifiedClass("X") .key("COLUMN1") .build(); SuggestConfiguratorDataMappingsOptions suggestConfiguratorDataMappingsOptions = new SuggestConfiguratorDataMappingsOptions.Builder() .recordType("person") .columns(new java.util.ArrayList<DataMapping>(java.util.Arrays.asList(dataMappingModel))) .build(); Response<SuggestedDataMapping> response = mdmService.suggestConfiguratorDataMappings(suggestConfiguratorDataMappingsOptions).execute(); SuggestedDataMapping suggestedDataMapping = response.getResult(); System.out.println(suggestedDataMapping);
Response
Response wrapper with details of Suggested Data Mappings.
Collection of Suggested Data Mappings for Data Asset column.
Response wrapper with details of Suggested Data Mappings.
Collection of Suggested Data Mappings for Data Asset column.
- suggestedDataMappings
The classified class of the Data asset column.
Examples:GEN
The Data mapping name of the Data asset column.
Examples:gender
The displayable name for the data mapping attribute.
Examples:Gender
The key of the Data asset column.
Examples:COLUMN 1
Status Code
Suggested mappings are fetched
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Unexpected error occured while getting data mappings.
{ "suggested_data_mappings": [ { "data_mapping_default_display_name": "Gender", "data_mapping_name": "gender", "classified_class": "GEN", "key": "COLUMN 1" } ] }
{ "suggested_data_mappings": [ { "data_mapping_default_display_name": "Gender", "data_mapping_name": "gender", "classified_class": "GEN", "key": "COLUMN 1" } ] }
Get suggested matching attributes
Gets suggested matching attributes for the record type based on mappings of assets of the specified record type.
Gets suggested matching attributes for the record type based on mappings of assets of the specified record type.
GET /mdm/v1/suggested_matching_attributes
ServiceCall<SuggestedMatchAttributes> getConfiguratorSuggestedMatchingAttributes(GetConfiguratorSuggestedMatchingAttributesOptions getConfiguratorSuggestedMatchingAttributesOptions)
Request
Use the GetConfiguratorSuggestedMatchingAttributesOptions.Builder
to create a GetConfiguratorSuggestedMatchingAttributesOptions
object that contains the parameter values for the getConfiguratorSuggestedMatchingAttributes
method.
Query Parameters
The cloud resource name of the service.
Record type for matching attribute suggestions
The getConfiguratorSuggestedMatchingAttributes options.
Record type for matching attribute suggestions.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/suggested_matching_attributes?record_type=person&crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetConfiguratorSuggestedMatchingAttributesOptions getConfiguratorSuggestedMatchingAttributesOptions = new GetConfiguratorSuggestedMatchingAttributesOptions.Builder() .recordType("testString") .build(); Response<SuggestedMatchAttributes> response = mdmService.getConfiguratorSuggestedMatchingAttributes(getConfiguratorSuggestedMatchingAttributesOptions).execute(); SuggestedMatchAttributes suggestedMatchAttributes = response.getResult(); System.out.println(suggestedMatchAttributes);
Response
Response wrapper for attributes suggested for running match process.
Collection of attributes suggested for running match process.
Response wrapper for attributes suggested for running match process.
Collection of attributes suggested for running match process.
- suggestedMatchingAttributes
The displayable text name for the attribute for running match process.
Examples:Gender
The name of the attribute for running match process.
Examples:gender
Status Code
Suggested matching attributes are retrieved
Project assets are missing or in invalid state.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Error occured while getting suggested matching attributes.
{ "suggested_matching_attributes": [ { "matching_attribute_default_display_name": "Gender", "matching_attribute_name": "gender" } ] }
{ "suggested_matching_attributes": [ { "matching_attribute_default_display_name": "Gender", "matching_attribute_name": "gender" } ] }
Initiate weight tuning job
- This service initiates asynchronous processing of the weight tuning job.
- Weight tuning is the process to improve the weight for the matching algorithm based on given set of match decisions from data stewards.
- This service initiates asynchronous processing of the weight tuning job.
- Weight tuning is the process to improve the weight for the matching algorithm based on given set of match decisions from data stewards.
POST /mdm/v1/weight_tuning_job
ServiceCall<TuningJobResponse> createWeightTuningJob(CreateWeightTuningJobOptions createWeightTuningJobOptions)
Request
Use the CreateWeightTuningJobOptions.Builder
to create a CreateWeightTuningJobOptions
object that contains the parameter values for the createWeightTuningJob
method.
Query Parameters
The cloud resource name of the service.
Record type of match statistics
Example:
person
Entity type of match statistics
Example:
person_entity
The createWeightTuningJob options.
Record type of match statistics.
Examples:person
Entity type of match statistics.
Examples:person_entity
CreateWeightTuningJobOptions createWeightTuningJobOptions = new CreateWeightTuningJobOptions.Builder() .recordType("person") .entityType("person_entity") .build(); Response<TuningJobResponse> response = mdmService.createWeightTuningJob(createWeightTuningJobOptions).execute(); TuningJobResponse tuningJobResponse = response.getResult(); System.out.println(tuningJobResponse);
Response
Response object for asynchronous processing of a tuning job
System generated timestamp when a job was created
System defined name of a given job e.g. weight-tuning
System generated timestamp when a job was last updated
System generated identifier of a job
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled
Response object for asynchronous processing of a tuning job.
System generated timestamp when a job was created.
System defined name of a given job e.g. weight-tuning.
System generated timestamp when a job was last updated.
System generated identifier of a job.
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled.
Status Code
The weight tuning job has been successfully created.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "created_at": "", "image": "mdm-tuning-job", "job_name": "weight-tuning", "last_updated_at": "", "id": "2ba3ed28-00c7-42e4-9cc9-8c74bf5e4ff0", "input": {}, "status": "Running" }
{ "created_at": "", "image": "mdm-tuning-job", "job_name": "weight-tuning", "last_updated_at": "", "id": "2ba3ed28-00c7-42e4-9cc9-8c74bf5e4ff0", "input": {}, "status": "Running" }
Start an operation to bulk delete data from the graph
There are four options for a delete:
- Delete by search, which removes all records matching a search criteria.
- Delete by source, which removes all records of a specified record source.
- Delete by asset, which removes all records loaded from a particular asset or list of assets.
- Full delete, which removes all records from the graph.
There are four options for a delete:
- Delete by search, which removes all records matching a search criteria.
- Delete by source, which removes all records of a specified record source.
- Delete by asset, which removes all records loaded from a particular asset or list of assets.
- Full delete, which removes all records from the graph.
POST /mdm/v1/bulk_delete
ServiceCall<BulkDeleteJob> runDataBulkDelete(RunDataBulkDeleteOptions runDataBulkDeleteOptions)
Request
Use the RunDataBulkDeleteOptions.Builder
to create a RunDataBulkDeleteOptions
object that contains the parameter values for the runDataBulkDelete
method.
Query Parameters
The cloud resource name of the service.
Valid object defining the bulk delete job information.
The type of delete to run.
Allowable values: [
asset
,full
,search
,source
]Asset IDs for data to be deleted. Required on delete by asset.
Record source for data to be deleted. Required on delete by source.
A set of criteria for a search operation.
The runDataBulkDelete options.
The type of delete to run.
Allowable values: [
asset
,full
,search
,source
]Asset IDs for data to be deleted. Required on delete by asset.
Record source for data to be deleted. Required on delete by source.
A set of criteria for a search operation.
- searchCriteria
The type of data to search against.
Allowable values: [
record
]Default:
record
A search query to run.
- query
The list of expressions.
- expressions
The property to search on.
The condition to apply on the property or value.
Allowable values: [
equal
,not_equal
,greater_than
,greater_than_equal
,less_than
,less_than_equal
,starts_with
,ends_with
,contains
,not_contains
,fuzzy
,has_value
,has_no_value
]The value to search for.
The record type to search on.
The operation to use to join multiple expressions if additional expressions are defined.
Allowable values: [
and
,or
]An optional list of additional expressions to apply.
The operation to apply to the expressions.
Allowable values: [
and
,or
]
The search filters to apply to the search to narrow down results.
- filters
The filter type.
Allowable values: [
record
,source
]The values to filter upon.
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/bulk_delete?crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"delete_type":"full"}"
RunDataBulkDeleteOptions runDataBulkDeleteOptions = new RunDataBulkDeleteOptions.Builder() .deleteType("asset") .build(); Response<BulkDeleteJob> response = mdmService.runDataBulkDelete(runDataBulkDeleteOptions).execute(); BulkDeleteJob bulkDeleteJob = response.getResult(); System.out.println(bulkDeleteJob);
Response
Information about a bulk delete job.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The type of delete.
Possible values: [
asset
,full
,search
,source
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
Asset IDs for delete by asset.
Record source for delete by source.
A set of criteria for a search operation.
Information about a bulk delete job.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
The type of delete.
Possible values: [
asset
,full
,search
,source
]Asset IDs for delete by asset.
Record source for delete by source.
A set of criteria for a search operation.
- searchCriteria
The type of data to search against.
Possible values: [
record
]A search query to run.
- query
The list of expressions.
- expressions
The property to search on.
The condition to apply on the property or value.
Possible values: [
equal
,not_equal
,greater_than
,greater_than_equal
,less_than
,less_than_equal
,starts_with
,ends_with
,contains
,not_contains
,fuzzy
,has_value
,has_no_value
]The value to search for.
The record type to search on.
The operation to use to join multiple expressions if additional expressions are defined.
Possible values: [
and
,or
]An optional list of additional expressions to apply.
The operation to apply to the expressions.
Possible values: [
and
,or
]
The search filters to apply to the search to narrow down results.
- filters
The filter type.
Possible values: [
record
,source
]The values to filter upon.
Status Code
The bulk delete job was successfully started.
Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem performing bulk delete. An internal error occurred while attempting to perform the operation.
{ "job_id": "24403560707830722", "job_type": "delete", "process_ids": [ "b3ba096d-c625-4d2f-ad12-285966f61cb0" ], "start_time": "1603483531000", "status": "running", "delete_type": "source", "record_source": "MDM" }
{ "job_id": "24403560707830722", "job_type": "delete", "process_ids": [ "b3ba096d-c625-4d2f-ad12-285966f61cb0" ], "start_time": "1603483531000", "status": "running", "delete_type": "source", "record_source": "MDM" }
Start a bulk load of data into the graph
Once the data load job is queued, track the status of the job to completion using the Job APIs.
- To run a sample bulk load, provide the type as 'sample' and the directory_ref identifying which sample data set to load. directory_path is not required when type is set to 'sample', if provided it will be ignored. The available sample data sets are sample_contract_small, sample_consent_small, sample_contract, and sample_consent, and these are the only acceptable values for 'directory_ref'.
- To run a bulk load of custom data, provide the type as 'dfs' and the directory_path pointing to the relative location of the data within the storage system. 'directory_ref' is not required when type is set to 'dfs', if provided it will be ignored. Data source directories are expected to adhere to the following format, if not otherwise specified under 'data_structure' in the request body:
record.properties
relationship.properties
record
--[record data files]
relationship
--[relationship data files]
- To run a bulk load of data from the Watson Knowledge Catalog, provide the type as 'wkc' and either the 'project_id' or 'catalog_id' of the resource that contains the data. If both are provided, 'catalog_id' will be used by default. 'directory_ref' and 'directory_path' are not required when type is set to 'wkc', if provided they will be ignored. The data asset id and properties must be specified under 'data_structure' in the request body.
- For bulk loads of type 'dfs' or 'wkc', required data properties must be supplied either in a properties file or by specifying the properties contents in the request. If both a file and properties contents are provided, the properties contents will take precedence. Properties contents must include 'file_type' to be valid.
Once the data load job is queued, track the status of the job to completion using the Job APIs.
- To run a sample bulk load, provide the type as 'sample' and the directory_ref identifying which sample data set to load. directory_path is not required when type is set to 'sample', if provided it will be ignored. The available sample data sets are sample_contract_small, sample_consent_small, sample_contract, and sample_consent, and these are the only acceptable values for 'directory_ref'.
- To run a bulk load of custom data, provide the type as 'dfs' and the directory_path pointing to the relative location of the data within the storage system. 'directory_ref' is not required when type is set to 'dfs', if provided it will be ignored. Data source directories are expected to adhere to the following format, if not otherwise specified under 'data_structure' in the request body:
--[record data files] relationship
--[relationship data files]
- To run a bulk load of data from the Watson Knowledge Catalog, provide the type as 'wkc' and either the 'project_id' or 'catalog_id' of the resource that contains the data. If both are provided, 'catalog_id' will be used by default. 'directory_ref' and 'directory_path' are not required when type is set to 'wkc', if provided they will be ignored. The data asset id and properties must be specified under 'data_structure' in the request body.
- For bulk loads of type 'dfs' or 'wkc', required data properties must be supplied either in a properties file or by specifying the properties contents in the request. If both a file and properties contents are provided, the properties contents will take precedence. Properties contents must include 'file_type' to be valid.
POST /mdm/v1/bulk_load
ServiceCall<BulkLoadJob> runDataBulkLoad(RunDataBulkLoadOptions runDataBulkLoadOptions)
Request
Use the RunDataBulkLoadOptions.Builder
to create a RunDataBulkLoadOptions
object that contains the parameter values for the runDataBulkLoad
method.
Query Parameters
The cloud resource name of the service.
Valid object defining the data source and parameters for the bulk load job.
Information about the source of the data to be loaded.
Information about how the source data is structured on the storage system.
The strategy for updating existing data during the bulk load job.
Allowable values: [
append
,replace
]
The runDataBulkLoad options.
Information about the source of the data to be loaded.
- dataSource
The type of data source to bulk-load data from.
Allowable values: [
dfs
,sample
,wkc
]The absolute path to the directory containing the source data.
The directory reference for the sample data.
Allowable values: [
sample_contract_small
,sample_consent_small
,sample_contract
,sample_consent
]The details of a data source.
- details
The origin of the data source.
Allowable values: [
internal
,external
]The endpoint for the data source.
The IAM API key for the data source.
The id of the WKC catalog containing the bulk load data.
The id of the WKC project containing the bulk load data.
Information about how the source data is structured on the storage system.
- dataStructure
The relative path from directory_path to the file or directory containing record data.
The relative path from directory_path to the record properties file.
The relative path from directory_path to the file or directory containing relationship data.
The relative path from directory_path to the relationship properties file.
The id of the WKC record asset containing the bulk load data.
The id of the WKC relationship asset containing the bulk load data.
The properties of the data to be loaded.
- recordPropertiesContents
The collection id to use for the bulk load data.
The record type of the bulk load data.
The relationship type of the bulk load data.
The default source to use for the bulk load data.
The file type of the bulk load data.
Allowable values: [
csv
,json
]Options specifying the format of the CSV data file.
- csvOptions
The column mappings for the CSV data file.
Whether the CSV data file contains a header row.
The delimiter used to separate fields in the CSV data file.
The properties of the data to be loaded.
- relationshipPropertiesContents
The collection id to use for the bulk load data.
The record type of the bulk load data.
The relationship type of the bulk load data.
The default source to use for the bulk load data.
The file type of the bulk load data.
Allowable values: [
csv
,json
]Options specifying the format of the CSV data file.
- csvOptions
The column mappings for the CSV data file.
Whether the CSV data file contains a header row.
The delimiter used to separate fields in the CSV data file.
The strategy for updating existing data during the bulk load job.
Allowable values: [
append
,replace
]
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/bulk_load?crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"data_source":{"directory_path":"34dcd76c-f083-4186-8e0f-5a6a43bf481f/","type":"dfs"},"data_structure":{"record_path":"person/record/person-100.csv","record_properties":"person/record.properties"}}"
DataLoadSource dataLoadSourceModel = new DataLoadSource.Builder() .type("dfs") .build(); RunDataBulkLoadOptions runDataBulkLoadOptions = new RunDataBulkLoadOptions.Builder() .dataSource(dataLoadSourceModel) .build(); Response<BulkLoadJob> response = mdmService.runDataBulkLoad(runDataBulkLoadOptions).execute(); BulkLoadJob bulkLoadJob = response.getResult(); System.out.println(bulkLoadJob);
Response
Information about a bulk load job.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The current stage of the bulk load job.
Possible values: [
vertices
,edges
,not_started
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
The strategy for updating existing data during the bulk load job.
Possible values: [
append
,replace
]
Information about a bulk load job.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
The current stage of the bulk load job.
Possible values: [
vertices
,edges
,not_started
,unknown
]The strategy for updating existing data during the bulk load job.
Possible values: [
append
,replace
]
Status Code
The bulk load job was successfully started.
Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem performing bulk load. An internal error occurred while attempting to perform the operation.
Problem performing bulk load. A bulk load process is already running.
{ "job_id": "11734859286522966", "job_type": "bulk_load", "process_ids": [ "3d2a5f4a-4784-4562-9252-2aa5afa3547f", "cfdf26ea-040e-4ce1-80b4-a7491acd0198" ], "start_time": "1603479295000", "status": "running", "load_stage": "vertices" }
{ "job_id": "11734859286522966", "job_type": "bulk_load", "process_ids": [ "3d2a5f4a-4784-4562-9252-2aa5afa3547f", "cfdf26ea-040e-4ce1-80b4-a7491acd0198" ], "start_time": "1603479295000", "status": "running", "load_stage": "vertices" }
List the records linked into an entity
View a list of member records that form the entity.
View a list of member records that form the entity.
GET /mdm/v1/entities/{id}/records
ServiceCall<DataRecordsResponse> listDataRecordsForEntity(ListDataRecordsForEntityOptions listDataRecordsForEntityOptions)
Request
Use the ListDataRecordsForEntityOptions.Builder
to create a ListDataRecordsForEntityOptions
object that contains the parameter values for the listDataRecordsForEntity
method.
Path Parameters
The unique identifier of the entity.
Query Parameters
The cloud resource name of the service.
The maximum number of records to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
The number of records to skip before returning a page of results.
Default:
0
Record attributes from the data model to include in the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
The listDataRecordsForEntity options.
The unique identifier of the entity.
The maximum number of records to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
The number of records to skip before returning a page of results.
Record attributes from the data model to include in the results.
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Examples:[ "legal_name.given_name" ]
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/entities/12345/records?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&include=legal_name.given_name&exclude=legal_name.last_name"
ListDataRecordsForEntityOptions listDataRecordsForEntityOptions = new ListDataRecordsForEntityOptions.Builder() .id("testString") .include(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .exclude(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .build(); Response<DataRecordsResponse> response = mdmService.listDataRecordsForEntity(listDataRecordsForEntityOptions).execute(); DataRecordsResponse dataRecordsResponse = response.getResult(); System.out.println(dataRecordsResponse);
Response
Paged information about a collection of records.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
A link to the first page of results.
- first
The url for the page of results.
The paged collection of records.
The total number of elements.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
Paged information about a collection of records.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The paged collection of records.
- records
The name of the record type as defined in the data model.
The unique identifier of the record on the graph.
The number of entities linked from the record.
Status Code
The entity records have been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting records for entity: Entity with id <entity_id> does not exist.
Problem getting records for entity. An internal error occurred while attempting to retrieve the records.
{ "first": { "href": "${host}/mdm/v1/entities/person_entity-53496/records?crn=${crn}&return_type=results_as_entities&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/entities/person_entity-53496/records?crn=${crn}&return_type=results_as_entities&offset=0&limit=10" }, "limit": 10, "offset": 0, "total_count": 1, "records": [ { "attributes": { "birth_date": { "attribute_last_updated": "1548936483016", "value": "1934-05-11T00:00:00.000Z" }, "gender": { "attribute_last_updated": "1548936483016", "value": "F" }, "legal_name": { "attribute_last_updated": "1548936483016", "last_name": "LEES", "given_name": "KAROLYN" }, "primary_residence": { "attribute_last_updated": "1548936483189", "address_province_state_value": "KY", "address_city": "ELLIOTTVILLE", "address_zip_postal_code": "40317", "address_province_state_type": "21", "address_line_1": "106 EAST SYCAMORE ST.", "address_record_id": "215054896528318812", "address_line_2": "Unit-701" }, "record_id": "216754896528315937", "record_last_updated": "1603572360787", "record_source": "MDM" }, "id": "53496", "type": "record", "record_number": 53496, "type_name": "person" } ] }
{ "first": { "href": "${host}/mdm/v1/entities/person_entity-53496/records?crn=${crn}&return_type=results_as_entities&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/entities/person_entity-53496/records?crn=${crn}&return_type=results_as_entities&offset=0&limit=10" }, "limit": 10, "offset": 0, "total_count": 1, "records": [ { "attributes": { "birth_date": { "attribute_last_updated": "1548936483016", "value": "1934-05-11T00:00:00.000Z" }, "gender": { "attribute_last_updated": "1548936483016", "value": "F" }, "legal_name": { "attribute_last_updated": "1548936483016", "last_name": "LEES", "given_name": "KAROLYN" }, "primary_residence": { "attribute_last_updated": "1548936483189", "address_province_state_value": "KY", "address_city": "ELLIOTTVILLE", "address_zip_postal_code": "40317", "address_province_state_type": "21", "address_line_1": "106 EAST SYCAMORE ST.", "address_record_id": "215054896528318812", "address_line_2": "Unit-701" }, "record_id": "216754896528315937", "record_last_updated": "1603572360787", "record_source": "MDM" }, "id": "53496", "type": "record", "record_number": 53496, "type_name": "person" } ] }
List the records associated with entity records
View a list of records that have a relationship to the member records of the specified entity based on the specified relationship type. All records related to the specified entity will be returned regardless of relationship direction. The relationship type is expected to be defined in the data model.
View a list of records that have a relationship to the member records of the specified entity based on the specified relationship type. All records related to the specified entity will be returned regardless of relationship direction. The relationship type is expected to be defined in the data model.
GET /mdm/v1/entities/{id}/related_records
ServiceCall<RelatedRecords> listDataRelatedRecordsForEntity(ListDataRelatedRecordsForEntityOptions listDataRelatedRecordsForEntityOptions)
Request
Use the ListDataRelatedRecordsForEntityOptions.Builder
to create a ListDataRelatedRecordsForEntityOptions
object that contains the parameter values for the listDataRelatedRecordsForEntity
method.
Path Parameters
The unique identifier of the entity.
Query Parameters
The cloud resource name of the service.
The type of records to return in results.
The type of relationship between related records and entity member records.
The maximum number of records to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
The number of records to skip before returning a page of results.
Default:
0
Record attributes from the data model to include in the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
The listDataRelatedRecordsForEntity options.
The unique identifier of the entity.
The type of records to return in results.
The type of relationship between related records and entity member records.
The maximum number of records to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
The number of records to skip before returning a page of results.
Record attributes from the data model to include in the results.
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Examples:[ "legal_name.given_name" ]
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/entities/12345/related_records?relationship_type=party_relationship&record_type=person&limit=10&offset=0&crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListDataRelatedRecordsForEntityOptions listDataRelatedRecordsForEntityOptions = new ListDataRelatedRecordsForEntityOptions.Builder() .id("testString") .recordType("testString") .relationshipType("testString") .include(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .exclude(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .build(); Response<RelatedRecords> response = mdmService.listDataRelatedRecordsForEntity(listDataRelatedRecordsForEntityOptions).execute(); RelatedRecords relatedRecords = response.getResult(); System.out.println(relatedRecords);
Response
Paged information about a set of other records related to an entity or a record.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
The paged list of related records.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
Paged information about a set of other records related to an entity or a record.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The paged list of related records.
- relatedRecords
The name of the record type as defined in the data model.
The unique identifier of the record on the graph.
The number of entities linked from the record.
Status Code
The related records for the entity have been successfully retrieved.
Problem getting related records for entity. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting related records for entity. Entity with id does not exist.
Problem getting related records for entity. An internal error occurred while attempting to retrieve the records.
{ "first": { "href": "${host}/mdm/v1/entities/person_entity-53496/related_records?crn=${crn}&relationship_type=party_relationship&record_type=person&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/entities/person_entity-53496/related_records?crn=${crn}&relationship_type=party_relationship&record_type=person&offset=0&limit=10" }, "limit": 10, "offset": 0, "total_count": 1, "related_records": [ { "attributes": { "record_id": "535354896573139473", "record_last_updated": "1603572360787", "record_source": "MDM", "usage_type": { "attribute_last_updated": "1548936483189", "value": "3" }, "usage_value": { "attribute_last_updated": "1548936483189", "value": "Retail Banking" } }, "id": "192616", "type": "record", "record_number": 192616, "type_name": "preference" } ] }
{ "first": { "href": "${host}/mdm/v1/entities/person_entity-53496/related_records?crn=${crn}&relationship_type=party_relationship&record_type=person&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/entities/person_entity-53496/related_records?crn=${crn}&relationship_type=party_relationship&record_type=person&offset=0&limit=10" }, "limit": 10, "offset": 0, "total_count": 1, "related_records": [ { "attributes": { "record_id": "535354896573139473", "record_last_updated": "1603572360787", "record_source": "MDM", "usage_type": { "attribute_last_updated": "1548936483189", "value": "3" }, "usage_value": { "attribute_last_updated": "1548936483189", "value": "Retail Banking" } }, "id": "192616", "type": "record", "record_number": 192616, "type_name": "preference" } ] }
List the relationships for an entity
View a list of relationships that exist between the given entity and other nodes on the graph. This endpoint does not include internal relationships in the resulting list of relationships.
View a list of relationships that exist between the given entity and other nodes on the graph. This endpoint does not include internal relationships in the resulting list of relationships.
GET /mdm/v1/entities/{id}/relationships
ServiceCall<DataRelationshipsResponse> listDataRelationshipsForEntity(ListDataRelationshipsForEntityOptions listDataRelationshipsForEntityOptions)
Request
Use the ListDataRelationshipsForEntityOptions.Builder
to create a ListDataRelationshipsForEntityOptions
object that contains the parameter values for the listDataRelationshipsForEntity
method.
Path Parameters
The ID of the entity.
Query Parameters
The cloud resource name of the service.
The relationship types to return.
Whether to include entity record relationships to other nodes.
Default:
false
The number of relationships to skip over.
Default:
0
The number of relationships to be returned. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
Attributes from the data model to include in the results for the source vertex.
Possible values: contains only unique items
Examples:[ "all" ]
Attributes from the data model to include in the results for the target vertex.
Possible values: contains only unique items
Examples:[ "all" ]
The listDataRelationshipsForEntity options.
The ID of the entity.
The relationship types to return.
Whether to include entity record relationships to other nodes.
Default:
false
The number of relationships to skip over.
The number of relationships to be returned. The maximum limit is 50.
Possible values: value ≤ 50
Attributes from the data model to include in the results for the source vertex.
Examples:[ "all" ]
Attributes from the data model to include in the results for the target vertex.
Examples:[ "all" ]
ListDataRelationshipsForEntityOptions listDataRelationshipsForEntityOptions = new ListDataRelationshipsForEntityOptions.Builder() .id("testString") .build(); Response<DataRelationshipsResponse> response = mdmService.listDataRelationshipsForEntity(listDataRelationshipsForEntityOptions).execute(); DataRelationshipsResponse dataRelationshipsResponse = response.getResult(); System.out.println(dataRelationshipsResponse);
Response
Paged information about a collection of relationships.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
The collection of relationships.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
Paged information about a collection of relationships.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The collection of relationships.
- relationships
The id of the element.
The type of the element.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
A node with attributes.
- source
The id of the element.
The type of the element.
The list of the attributes of the element.
A node with attributes.
- target
The id of the element.
The type of the element.
The list of the attributes of the element.
Status Code
The relationships have been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting relationships for entity. Entity not found.
Problem getting relationships for entity. An internal error occurred while attempting to retrieve the relationships.
{ "first": { "href": "${host}/mdm/v1/entities/456/relationships?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/entities/456/relationships?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "relationships": [ { "attributes": { "relationship_id": "997554896611881692", "relationship_last_updated": "1548937318815", "relationship_source": "MDM", "from_record_id": "358354896586841797", "from_record_source": "MDM", "from_record_type": "preference", "to_record_id": "998254896587316451", "to_record_source": "MDM", "to_record_type": "organization" }, "id": "215tzl-5cw8-q7f9-oi7u8", "source": { "id": "4344", "type": "record", "type_name": "person" }, "target": { "id": "456", "type": "entity", "type_name": "person_entity" }, "type": "relationship", "type_name": "preference_association" } ] }
{ "first": { "href": "${host}/mdm/v1/entities/456/relationships?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/entities/456/relationships?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "relationships": [ { "attributes": { "relationship_id": "997554896611881692", "relationship_last_updated": "1548937318815", "relationship_source": "MDM", "from_record_id": "358354896586841797", "from_record_source": "MDM", "from_record_type": "preference", "to_record_id": "998254896587316451", "to_record_source": "MDM", "to_record_type": "organization" }, "id": "215tzl-5cw8-q7f9-oi7u8", "source": { "id": "4344", "type": "record", "type_name": "person" }, "target": { "id": "456", "type": "entity", "type_name": "person_entity" }, "type": "relationship", "type_name": "preference_association" } ] }
Get the composite view of an entity
View attributes for an entity in a consolidated view based on defined composite view rules from the Model APIs.
View attributes for an entity in a consolidated view based on defined composite view rules from the Model APIs.
GET /mdm/v1/entities/{id}
ServiceCall<DataEntityResponse> getDataEntity(GetDataEntityOptions getDataEntityOptions)
Request
Use the GetDataEntityOptions.Builder
to create a GetDataEntityOptions
object that contains the parameter values for the getDataEntity
method.
Path Parameters
The unique identifier of the entity.
Query Parameters
The cloud resource name of the service.
Record attributes from the data model to include in the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
The getDataEntity options.
The unique identifier of the entity.
Record attributes from the data model to include in the results.
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Examples:[ "legal_name.given_name" ]
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/entities/12345?include=legal_name.given_name&exclude=legal_name.last_name&crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetDataEntityOptions getDataEntityOptions = new GetDataEntityOptions.Builder() .id("testString") .include(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .exclude(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .build(); Response<DataEntityResponse> response = mdmService.getDataEntity(getDataEntityOptions).execute(); DataEntityResponse dataEntityResponse = response.getResult(); System.out.println(dataEntityResponse);
Response
Information and metadata about the composite view of an entity.
Information about an entity.
Supplemental information about a resource.
Information and metadata about the composite view of an entity.
Information about an entity.
- entity
The name of the entity type as defined in the data model.
The number of records linked into the entity.
Supplemental information about a resource.
- metadata
The id of the resource.
The hyperlink to the resource.
The timestamp of when the resource was last updated.
Status Code
The composite view has been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting composite view for entity: Entity with id <entity_id> does not exist.
Problem getting composite view for entity. An internal error occurred while attempting to retrieve the composite view.
{ "entity": { "attributes": { "birth_date": { "attribute_last_updated": "1548936483016", "value": "1934-05-11T00:00:00.000Z" }, "entity_last_updated": "1603572360787", "gender": { "attribute_last_updated": "1548936483016", "value": "F" }, "legal_name": { "attribute_last_updated": "1548936483016", "last_name": "LEES", "given_name": "KAROLYN" }, "primary_residence": { "attribute_last_updated": "1548936483189", "address_province_state_value": "KY", "address_city": "ELLIOTTVILLE", "address_zip_postal_code": "40317", "address_line_1": "106 EAST SYCAMORE ST.", "address_record_id": "215054896528318812", "address_line_2": "Unit-701" }, "record_id": "216754896528315937", "record_source": "MDM" }, "id": "person_entity-53496", "type": "entity", "record_count": 1, "type_name": "person_entity" }, "metadata": { "href": "${host}/mdm/v1/entities/person_entity-53496?crn=${crn}", "id": "person_entity-53496", "updated_at": "2020-10-24T20:46:00.787Z" } }
{ "entity": { "attributes": { "birth_date": { "attribute_last_updated": "1548936483016", "value": "1934-05-11T00:00:00.000Z" }, "entity_last_updated": "1603572360787", "gender": { "attribute_last_updated": "1548936483016", "value": "F" }, "legal_name": { "attribute_last_updated": "1548936483016", "last_name": "LEES", "given_name": "KAROLYN" }, "primary_residence": { "attribute_last_updated": "1548936483189", "address_province_state_value": "KY", "address_city": "ELLIOTTVILLE", "address_zip_postal_code": "40317", "address_line_1": "106 EAST SYCAMORE ST.", "address_record_id": "215054896528318812", "address_line_2": "Unit-701" }, "record_id": "216754896528315937", "record_source": "MDM" }, "id": "person_entity-53496", "type": "entity", "record_count": 1, "type_name": "person_entity" }, "metadata": { "href": "${host}/mdm/v1/entities/person_entity-53496?crn=${crn}", "id": "person_entity-53496", "updated_at": "2020-10-24T20:46:00.787Z" } }
Get information for an export
View detailed information about the specified export job. The process ids can be used to track the job status through the Job APIs.
View detailed information about the specified export job. The process ids can be used to track the job status through the Job APIs.
GET /mdm/v1/data_exports/{export_id}
ServiceCall<DataExport> getDataExport(GetDataExportOptions getDataExportOptions)
Request
Use the GetDataExportOptions.Builder
to create a GetDataExportOptions
object that contains the parameter values for the getDataExport
method.
Path Parameters
The ID of the export.
Query Parameters
The cloud resource name of the service.
The getDataExport options.
The ID of the export.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/data_exports/24403560707830722?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetDataExportOptions getDataExportOptions = new GetDataExportOptions.Builder() .exportId("testString") .build(); Response<DataExport> response = mdmService.getDataExport(getDataExportOptions).execute(); DataExport dataExport = response.getResult(); System.out.println(dataExport);
Response
Information about an export.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The type of data being exported.
Possible values: [
record
,entity
]The name of the export file.
Whether the export file is expired.
A set of criteria for a search operation.
The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
Information about an export.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
The type of data being exported.
Possible values: [
record
,entity
]The name of the export file.
Whether the export file is expired.
A set of criteria for a search operation.
- searchCriteria
The type of data to search against.
Possible values: [
record
]A search query to run.
- query
The list of expressions.
- expressions
The property to search on.
The condition to apply on the property or value.
Possible values: [
equal
,not_equal
,greater_than
,greater_than_equal
,less_than
,less_than_equal
,starts_with
,ends_with
,contains
,not_contains
,fuzzy
,has_value
,has_no_value
]The value to search for.
The record type to search on.
The operation to use to join multiple expressions if additional expressions are defined.
Possible values: [
and
,or
]An optional list of additional expressions to apply.
The operation to apply to the expressions.
Possible values: [
and
,or
]
The search filters to apply to the search to narrow down results.
- filters
The filter type.
Possible values: [
record
,source
]The values to filter upon.
Status Code
The export information was retrieved successfully.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting export information. The export does not exist.
Problem getting export information. An internal error occurred while attempting to retrieve the export information.
{ "end_time": "1603483621000", "job_id": "24403560707830722", "job_type": "export", "process_ids": [ "b3ba096d-c625-4d2f-ad12-285966f61cb0" ], "start_time": "1603483531000", "status": "succeeded", "file_expired": false, "file_name": "records", "search_criteria": { "filters": [], "query": { "expressions": [ { "condition": "equal", "expressions": [], "value": "JOHN" } ], "operation": "and" }, "search_type": "record" } }
{ "end_time": "1603483621000", "job_id": "24403560707830722", "job_type": "export", "process_ids": [ "b3ba096d-c625-4d2f-ad12-285966f61cb0" ], "start_time": "1603483531000", "status": "succeeded", "file_expired": false, "file_name": "records", "search_criteria": { "filters": [], "query": { "expressions": [ { "condition": "equal", "expressions": [], "value": "JOHN" } ], "operation": "and" }, "search_type": "record" } }
Download an export file
Download the resulting file from a completed export job if the file exists. The export files may expire after some time.
Download the resulting file from a completed export job if the file exists. The export files may expire after some time.
GET /mdm/v1/data_exports/{export_id}/download
ServiceCall<InputStream> getDataExportDownload(GetDataExportDownloadOptions getDataExportDownloadOptions)
Request
Use the GetDataExportDownloadOptions.Builder
to create a GetDataExportDownloadOptions
object that contains the parameter values for the getDataExportDownload
method.
Path Parameters
The ID of the export. This ID is equivalent to the job ID of the export job.
Query Parameters
The cloud resource name of the service.
The getDataExportDownload options.
The ID of the export. This ID is equivalent to the job ID of the export job.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/data_exports/24403560707830722/download?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetDataExportDownloadOptions getDataExportDownloadOptions = new GetDataExportDownloadOptions.Builder() .exportId("testString") .build(); Response<InputStream> response = mdmService.getDataExportDownload(getDataExportDownloadOptions).execute(); InputStream inputStream = response.getResult(); System.out.println(inputStream);
Response
Response type: InputStream
Status Code
The export file has been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem downloading export file. The export does not exist.
Problem downloading export file. The export file no longer exists.
Problem downloading export file. An internal error occurred while attempting to retrieve the export file.
Problem downloading export file. The export job is not in a successful state.
No Sample Response
List the export jobs
View a summary list of export jobs that have been requested.
View a summary list of export jobs that have been requested.
GET /mdm/v1/data_exports
ServiceCall<DataExports> listDataExports(ListDataExportsOptions listDataExportsOptions)
Request
Use the ListDataExportsOptions.Builder
to create a ListDataExportsOptions
object that contains the parameter values for the listDataExports
method.
Query Parameters
The cloud resource name of the service.
The number of exports to skip before returning a page of results.
Default:
0
The maximum number of exports to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
Whether to include exports with expired files.
Default:
true
The listDataExports options.
The number of exports to skip before returning a page of results.
The maximum number of exports to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
Whether to include exports with expired files.
Default:
true
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/data_exports?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListDataExportsOptions listDataExportsOptions = new ListDataExportsOptions.Builder() .build(); Response<DataExports> response = mdmService.listDataExports(listDataExportsOptions).execute(); DataExports dataExports = response.getResult(); System.out.println(dataExports);
Response
Paged information about a collection of exports.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
The paged collection of exports.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
Paged information about a collection of exports.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The paged collection of exports.
- exports
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
The type of data being exported.
Possible values: [
record
,entity
]The name of the export file.
Whether the export file is expired.
A set of criteria for a search operation.
- searchCriteria
The type of data to search against.
Possible values: [
record
]A search query to run.
- query
The list of expressions.
- expressions
The property to search on.
The condition to apply on the property or value.
Possible values: [
equal
,not_equal
,greater_than
,greater_than_equal
,less_than
,less_than_equal
,starts_with
,ends_with
,contains
,not_contains
,fuzzy
,has_value
,has_no_value
]The value to search for.
The record type to search on.
The operation to use to join multiple expressions if additional expressions are defined.
Possible values: [
and
,or
]An optional list of additional expressions to apply.
The operation to apply to the expressions.
Possible values: [
and
,or
]
The search filters to apply to the search to narrow down results.
- filters
The filter type.
Possible values: [
record
,source
]The values to filter upon.
Status Code
The list of exports was retrieved successfully.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting list of exports. An internal error occurred while attempting to retrieve the list of exports.
{ "first": { "href": "${host}/mdm/v1/data_exports?crn=${crn}&record_type=person&local=true&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/data_exports?crn=${crn}&record_type=person&local=true&offset=0&limit=10" }, "limit": 10, "offset": 0, "exports": [ { "end_time": "1603483621000", "job_id": "24403560707830722", "job_type": "export", "process_ids": [ "b3ba096d-c625-4d2f-ad12-285966f61cb0" ], "start_time": "1603483531000", "status": "succeeded", "file_expired": false, "file_name": "records", "search_criteria": { "filters": [], "query": { "expressions": [ { "condition": "equal", "expressions": [], "value": "JOHN" } ], "operation": "and" }, "search_type": "record" } } ], "total_count": 1 }
{ "first": { "href": "${host}/mdm/v1/data_exports?crn=${crn}&record_type=person&local=true&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/data_exports?crn=${crn}&record_type=person&local=true&offset=0&limit=10" }, "limit": 10, "offset": 0, "exports": [ { "end_time": "1603483621000", "job_id": "24403560707830722", "job_type": "export", "process_ids": [ "b3ba096d-c625-4d2f-ad12-285966f61cb0" ], "start_time": "1603483531000", "status": "succeeded", "file_expired": false, "file_name": "records", "search_criteria": { "filters": [], "query": { "expressions": [ { "condition": "equal", "expressions": [], "value": "JOHN" } ], "operation": "and" }, "search_type": "record" } } ], "total_count": 1 }
Start an export of search results
Run a data export job to export the results of a search. Export format, search criteria, and file name are configurable in the message body. The file name must only contain alphanumeric characters, and be 64 characters or less.
The operation runs as follows:
- A compression type must be provided when a partition type of 'executor_count' is specified.
Run a data export job to export the results of a search. Export format, search criteria, and file name are configurable in the message body. The file name must only contain alphanumeric characters, and be 64 characters or less.
The operation runs as follows:
- A compression type must be provided when a partition type of 'executor_count' is specified.
POST /mdm/v1/data_exports
ServiceCall<DataExport> createDataExport(CreateDataExportOptions createDataExportOptions)
Request
Use the CreateDataExportOptions.Builder
to create a CreateDataExportOptions
object that contains the parameter values for the createDataExport
method.
Query Parameters
The cloud resource name of the service.
The type of file compression used when exporting the output file. Required when a partition type of 'executor_count' is specified.
Allowable values: [
tar
,tgz
,zip
]The type of partitioning used when exporting the results.
Allowable values: [
none
,executor_count
]Default:
none
Valid object defining the export format and search criteria for the export job.
The type of data to export.
Allowable values: [
record
,entity
]The format of the export file.
Allowable values: [
csv
,psv
,tsv
]A set of criteria for a search operation.
The file name of the export file.
The createDataExport options.
The type of data to export.
Allowable values: [
record
,entity
]The format of the export file.
Allowable values: [
csv
,psv
,tsv
]A set of criteria for a search operation.
- searchCriteria
The type of data to search against.
Allowable values: [
record
]Default:
record
A search query to run.
- query
The list of expressions.
- expressions
The property to search on.
The condition to apply on the property or value.
Allowable values: [
equal
,not_equal
,greater_than
,greater_than_equal
,less_than
,less_than_equal
,starts_with
,ends_with
,contains
,not_contains
,fuzzy
,has_value
,has_no_value
]The value to search for.
The record type to search on.
The operation to use to join multiple expressions if additional expressions are defined.
Allowable values: [
and
,or
]An optional list of additional expressions to apply.
The operation to apply to the expressions.
Allowable values: [
and
,or
]
The search filters to apply to the search to narrow down results.
- filters
The filter type.
Allowable values: [
record
,source
]The values to filter upon.
The file name of the export file.
The type of file compression used when exporting the output file. Required when a partition type of 'executor_count' is specified.
Allowable values: [
tar
,tgz
,zip
]The type of partitioning used when exporting the results.
Allowable values: [
none
,executor_count
]Default:
none
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/data_exports?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{ "export_type": "entity", "format": "csv", "file_name":"records", "search_criteria": { "search_type": "record", "query": { "operation": "and", "expressions": [ { "value": "JOHN" } ] } } }"
DataSearchCriteria dataSearchCriteriaModel = new DataSearchCriteria.Builder() .build(); CreateDataExportOptions createDataExportOptions = new CreateDataExportOptions.Builder() .exportType("record") .format("csv") .searchCriteria(dataSearchCriteriaModel) .build(); Response<DataExport> response = mdmService.createDataExport(createDataExportOptions).execute(); DataExport dataExport = response.getResult(); System.out.println(dataExport);
Response
Information about an export.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The type of data being exported.
Possible values: [
record
,entity
]The name of the export file.
Whether the export file is expired.
A set of criteria for a search operation.
The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
Information about an export.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
The type of data being exported.
Possible values: [
record
,entity
]The name of the export file.
Whether the export file is expired.
A set of criteria for a search operation.
- searchCriteria
The type of data to search against.
Possible values: [
record
]A search query to run.
- query
The list of expressions.
- expressions
The property to search on.
The condition to apply on the property or value.
Possible values: [
equal
,not_equal
,greater_than
,greater_than_equal
,less_than
,less_than_equal
,starts_with
,ends_with
,contains
,not_contains
,fuzzy
,has_value
,has_no_value
]The value to search for.
The record type to search on.
The operation to use to join multiple expressions if additional expressions are defined.
Possible values: [
and
,or
]An optional list of additional expressions to apply.
The operation to apply to the expressions.
Possible values: [
and
,or
]
The search filters to apply to the search to narrow down results.
- filters
The filter type.
Possible values: [
record
,source
]The values to filter upon.
Status Code
The export job was started successfully.
Problem starting export job. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem starting export job. An internal error occurred.
{ "job_id": "24403560707830722", "job_type": "export", "process_ids": [ "b3ba096d-c625-4d2f-ad12-285966f61cb0" ], "start_time": "1603483531000", "status": "running", "file_expired": false, "file_name": "records", "search_criteria": { "filters": [], "query": { "expressions": [ { "condition": "equal", "expressions": [], "value": "JOHN" } ], "operation": "and" }, "search_type": "record" } }
{ "job_id": "24403560707830722", "job_type": "export", "process_ids": [ "b3ba096d-c625-4d2f-ad12-285966f61cb0" ], "start_time": "1603483531000", "status": "running", "file_expired": false, "file_name": "records", "search_criteria": { "filters": [], "query": { "expressions": [ { "condition": "equal", "expressions": [], "value": "JOHN" } ], "operation": "and" }, "search_type": "record" } }
Stop a given job
Attempt to stop a running job. This operation does not rollback changes made by the job process prior to stopping the job. Full deletion of job resources may take up to a few minutes.
Attempt to stop a running job. This operation does not rollback changes made by the job process prior to stopping the job. Full deletion of job resources may take up to a few minutes.
POST /mdm/v1/data_jobs/{job_id}/stop
ServiceCall<DataJob> stopDataJob(StopDataJobOptions stopDataJobOptions)
Request
Use the StopDataJobOptions.Builder
to create a StopDataJobOptions
object that contains the parameter values for the stopDataJob
method.
Path Parameters
The ID of the job.
Query Parameters
The cloud resource name of the service.
The stopDataJob options.
The ID of the job.
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "/mdm/v1/data_jobs/24403560707830722/stop?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
StopDataJobOptions stopDataJobOptions = new StopDataJobOptions.Builder() .jobId("testString") .build(); Response<DataJob> response = mdmService.stopDataJob(stopDataJobOptions).execute(); DataJob dataJob = response.getResult(); System.out.println(dataJob);
Response
Information about a job.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
Information about a job.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
Status Code
The job was stopped successfully.
Problem stopping job process. The process with job id <job_id> is not running.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem stopping job process. A process with job id <job_id> could not be found.
Problem stopping job process. Jobs of this type are not supported.
Problem stopping job process. An internal error occurred while attempting to perform the operation.
{ "end_time": "1620660046000", "job_id": "8785798185259674", "job_type": "bulk_load", "process_ids": [ "7155aff7-7d42-487b-85a7-8474b5efff2f", "8647d779-b13e-4f77-bda7-3ab2ca85c881" ], "start_time": "1620660025000", "status": "canceled", "load_stage": "vertices" }
{ "end_time": "1620660046000", "job_id": "8785798185259674", "job_type": "bulk_load", "process_ids": [ "7155aff7-7d42-487b-85a7-8474b5efff2f", "8647d779-b13e-4f77-bda7-3ab2ca85c881" ], "start_time": "1620660025000", "status": "canceled", "load_stage": "vertices" }
List the jobs
View a list of jobs that have been run. Filter on job type or job status to get a more precise list of jobs.
View a list of jobs that have been run. Filter on job type or job status to get a more precise list of jobs.
GET /mdm/v1/data_jobs
ServiceCall<DataJobs> listDataJobs(ListDataJobsOptions listDataJobsOptions)
Request
Use the ListDataJobsOptions.Builder
to create a ListDataJobsOptions
object that contains the parameter values for the listDataJobs
method.
Query Parameters
The cloud resource name of the service.
The number of jobs to skip before returning a page of results.
Default:
0
The maximum number of jobs to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
Filter by job status.
Allowable values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]Filter by job type.
Allowable values: [
bulk_load
,delete
,export
]
The listDataJobs options.
The number of jobs to skip before returning a page of results.
The maximum number of jobs to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
Filter by job status.
Allowable values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]Filter by job type.
Allowable values: [
bulk_load
,delete
,export
]
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "/mdm/v1/data_jobs?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&status=running&type=bulk_load"
ListDataJobsOptions listDataJobsOptions = new ListDataJobsOptions.Builder() .build(); Response<DataJobs> response = mdmService.listDataJobs(listDataJobsOptions).execute(); DataJobs dataJobs = response.getResult(); System.out.println(dataJobs);
Response
Paged information about a collection of jobs.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
The paged collection of jobs.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
Paged information about a collection of jobs.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The paged collection of jobs.
- jobs
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
Status Code
The list of jobs was retrieved successfully.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting list of jobs. An internal error occurred while attempting to retrieve the list of jobs.
{ "first": { "href": "${host}/mdm/v1/data_jobs?crn=${CRN}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/data_jobs?crn=${CRN}&offset=0&limit=10" }, "limit": 10, "offset": 0, "jobs": [ { "end_time": "1620155648000", "job_id": "4839655889405511", "job_type": "bulk_load", "process_ids": [ "e7df6747-6668-4b5b-a642-70b05eadf20f", "658fde68-384c-427e-90a0-bdfd8aa02b6d" ], "start_time": "1620155442000", "status": "succeeded", "load_stage": "edges" } ], "total_count": 1 }
{ "first": { "href": "${host}/mdm/v1/data_jobs?crn=${CRN}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/data_jobs?crn=${CRN}&offset=0&limit=10" }, "limit": 10, "offset": 0, "jobs": [ { "end_time": "1620155648000", "job_id": "4839655889405511", "job_type": "bulk_load", "process_ids": [ "e7df6747-6668-4b5b-a642-70b05eadf20f", "658fde68-384c-427e-90a0-bdfd8aa02b6d" ], "start_time": "1620155442000", "status": "succeeded", "load_stage": "edges" } ], "total_count": 1 }
Get information for a job
View information about the specified job.
View information about the specified job.
GET /mdm/v1/data_jobs/{job_id}
ServiceCall<DataJob> getDataJob(GetDataJobOptions getDataJobOptions)
Request
Use the GetDataJobOptions.Builder
to create a GetDataJobOptions
object that contains the parameter values for the getDataJob
method.
Path Parameters
The ID of the job.
Query Parameters
The cloud resource name of the service.
The getDataJob options.
The ID of the job.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "/mdm/v1/data_jobs/24403560707830722?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetDataJobOptions getDataJobOptions = new GetDataJobOptions.Builder() .jobId("testString") .build(); Response<DataJob> response = mdmService.getDataJob(getDataJobOptions).execute(); DataJob dataJob = response.getResult(); System.out.println(dataJob);
Response
Information about a job.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
Information about a job.
The id for the job.
The type of job.
Possible values: [
delete
,export
,bulk_load
]The current status of the job.
Possible values: [
not_started
,prep
,queued
,running
,succeeded
,failed
,canceled
,unknown
]The timestamp of when the job started.
The timestamp of when the job completed.
The list of identifiers for the job runs or processes.
Status Code
The job status was retrieved successfully.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting job information. Job not found.
Problem getting job information. An internal error occurred while attempting to retrieve the job information.
{ "end_time": "1620155648000", "job_id": "4839655889405511", "job_type": "bulk_load", "process_ids": [ "e7df6747-6668-4b5b-a642-70b05eadf20f", "658fde68-384c-427e-90a0-bdfd8aa02b6d" ], "start_time": "1620155442000", "status": "succeeded", "load_stage": "edges" }
{ "end_time": "1620155648000", "job_id": "4839655889405511", "job_type": "bulk_load", "process_ids": [ "e7df6747-6668-4b5b-a642-70b05eadf20f", "658fde68-384c-427e-90a0-bdfd8aa02b6d" ], "start_time": "1620155442000", "status": "succeeded", "load_stage": "edges" }
Clean up job data
Delete any uploaded artifacts from the system after the job completes.
Delete any uploaded artifacts from the system after the job completes.
POST /mdm/v1/data_jobs/{job_id}/clean_up
ServiceCall<Void> cleanUpDataJob(CleanUpDataJobOptions cleanUpDataJobOptions)
Request
Use the CleanUpDataJobOptions.Builder
to create a CleanUpDataJobOptions
object that contains the parameter values for the cleanUpDataJob
method.
Path Parameters
The ID of the job.
Query Parameters
The cloud resource name of the service.
The cleanUpDataJob options.
The ID of the job.
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "/mdm/v1/data_jobs/24403560707830722/clean_up?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
CleanUpDataJobOptions cleanUpDataJobOptions = new CleanUpDataJobOptions.Builder() .jobId("testString") .build(); Response<Void> response = mdmService.cleanUpDataJob(cleanUpDataJobOptions).execute();
Response
Status Code
The job clean up was successful.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem cleaning up job. Job not found.
Problem cleaning up job. Jobs of this type are not supported.
Problem cleaning up job. The job data could not be found.
Problem cleaning up job. An internal error occurred while cleaning up the job.
Problem cleaning up job. Operation cannot be performed while job is still running.
No Sample Response
Get a record
View information about the specified record on the graph.
View information about the specified record on the graph.
GET /mdm/v1/records/{id}
ServiceCall<DataRecordResponse> getDataRecord(GetDataRecordOptions getDataRecordOptions)
Request
Use the GetDataRecordOptions.Builder
to create a GetDataRecordOptions
object that contains the parameter values for the getDataRecord
method.
Path Parameters
The ID of the record.
Query Parameters
The cloud resource name of the service.
Record attributes from the data model to include in the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
The getDataRecord options.
The ID of the record.
Record attributes from the data model to include in the results.
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Examples:[ "legal_name.given_name" ]
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/records/40964176?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetDataRecordOptions getDataRecordOptions = new GetDataRecordOptions.Builder() .id(Long.valueOf("26")) .include(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .exclude(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .build(); Response<DataRecordResponse> response = mdmService.getDataRecord(getDataRecordOptions).execute(); DataRecordResponse dataRecordResponse = response.getResult(); System.out.println(dataRecordResponse);
Response
Information about a record.
Information about a record.
Supplemental information about a resource.
Information about a record.
Information about a record.
- record
The name of the record type as defined in the data model.
The unique identifier of the record on the graph.
The number of entities linked from the record.
Supplemental information about a resource.
- metadata
The id of the resource.
The hyperlink to the resource.
The timestamp of when the resource was last updated.
Status Code
The record has been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting record: Record does not exist.
Problem getting record. An internal error occurred while attempting to retrieve the record.
{ "metadata": { "href": "${host}/mdm/v1/records/40964176?crn=${crn}", "id": "40964176", "updated_at": "2020-10-23T19:49:51.442Z" }, "record": { "attributes": { "legal_name": { "attribute_last_updated": "1548936483189", "last_name": "Smith", "given_name": "Jane" }, "record_id": "12345", "record_last_updated": "1603482591442", "record_source": "MDM" }, "id": "40964176", "type": "record", "record_number": 40964176, "type_name": "person" } }
{ "metadata": { "href": "${host}/mdm/v1/records/40964176?crn=${crn}", "id": "40964176", "updated_at": "2020-10-23T19:49:51.442Z" }, "record": { "attributes": { "legal_name": { "attribute_last_updated": "1548936483189", "last_name": "Smith", "given_name": "Jane" }, "record_id": "12345", "record_last_updated": "1603482591442", "record_source": "MDM" }, "id": "40964176", "type": "record", "record_number": 40964176, "type_name": "person" } }
Replace attributes for a record
Replace the existing record with the new set of attributes. Any existing editable record attributes not specified in the request will be removed from the record.
Replace the existing record with the new set of attributes. Any existing editable record attributes not specified in the request will be removed from the record.
PUT /mdm/v1/records/{id}
ServiceCall<DataRecordResponse> replaceDataRecord(ReplaceDataRecordOptions replaceDataRecordOptions)
Request
Use the ReplaceDataRecordOptions.Builder
to create a ReplaceDataRecordOptions
object that contains the parameter values for the replaceDataRecord
method.
Path Parameters
The ID of the record.
Query Parameters
The cloud resource name of the service.
Valid object defining the record information to replace the existing record.
The list of the attributes of the element.
- attributes
The name of the record type as defined in the data model.
The id of the element.
The replaceDataRecord options.
The ID of the record.
The list of the attributes of the element.
The name of the record type as defined in the data model.
The id of the element.
ReplaceDataRecordOptions replaceDataRecordOptions = new ReplaceDataRecordOptions.Builder() .id(Long.valueOf("26")) .newAttributes(new java.util.HashMap<String, Object>() { { put("foo", TestUtilities.createMockMap()); } }) .newTypeName("testString") .build(); Response<DataRecordResponse> response = mdmService.replaceDataRecord(replaceDataRecordOptions).execute(); DataRecordResponse dataRecordResponse = response.getResult(); System.out.println(dataRecordResponse);
Response
Information about a record.
Information about a record.
Supplemental information about a resource.
Information about a record.
Information about a record.
- record
The name of the record type as defined in the data model.
The unique identifier of the record on the graph.
The number of entities linked from the record.
Supplemental information about a resource.
- metadata
The id of the resource.
The hyperlink to the resource.
The timestamp of when the resource was last updated.
Status Code
The record has been successfully updated.
Problem updating record. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem updating record. Record does not exist.
Problem updating record. Record has a future timestamp.
Problem updating record. An internal error occurred while attempting to update the record.
{ "metadata": { "href": "${host}/mdm/v1/records/40964176?crn=${crn}", "id": "40964176", "updated_at": "2020-10-23T19:49:51.442Z" }, "record": { "attributes": { "legal_name": { "attribute_last_updated": "1548936483189", "last_name": "Smith", "given_name": "Jane" }, "record_id": "12345", "record_last_updated": "1603482591442", "record_source": "MDM" }, "id": "40964176", "type": "record", "record_number": 40964176, "type_name": "person" } }
{ "metadata": { "href": "${host}/mdm/v1/records/40964176?crn=${crn}", "id": "40964176", "updated_at": "2020-10-23T19:49:51.442Z" }, "record": { "attributes": { "legal_name": { "attribute_last_updated": "1548936483189", "last_name": "Smith", "given_name": "Jane" }, "record_id": "12345", "record_last_updated": "1603482591442", "record_source": "MDM" }, "id": "40964176", "type": "record", "record_number": 40964176, "type_name": "person" } }
Delete a record
Delete an existing record from the graph. Deleting a record automatically triggers a removal of the record from any formed entities.
Delete an existing record from the graph. Deleting a record automatically triggers a removal of the record from any formed entities.
DELETE /mdm/v1/records/{id}
ServiceCall<Void> deleteDataRecord(DeleteDataRecordOptions deleteDataRecordOptions)
Request
Use the DeleteDataRecordOptions.Builder
to create a DeleteDataRecordOptions
object that contains the parameter values for the deleteDataRecord
method.
Path Parameters
The ID of the record.
Query Parameters
The cloud resource name of the service.
The deleteDataRecord options.
The ID of the record.
curl -X DELETE --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/records/40964176?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
DeleteDataRecordOptions deleteDataRecordOptions = new DeleteDataRecordOptions.Builder() .id(Long.valueOf("26")) .build(); Response<Void> response = mdmService.deleteDataRecord(deleteDataRecordOptions).execute();
Response
Status Code
The record was successfully deleted.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem deleting record. Record does not exist.
Problem deleting record. An internal error occurred while attempting to delete the record.
No Sample Response
Get a relationship for a record
Retrieve a single relationship from the set of relationships for the record.
Retrieve a single relationship from the set of relationships for the record.
GET /mdm/v1/records/{id}/relationships/{relationship_id}
ServiceCall<DataRelationshipResponse> getDataRelationshipForRecord(GetDataRelationshipForRecordOptions getDataRelationshipForRecordOptions)
Request
Use the GetDataRelationshipForRecordOptions.Builder
to create a GetDataRelationshipForRecordOptions
object that contains the parameter values for the getDataRelationshipForRecord
method.
Path Parameters
The ID of the record.
The ID of the linked relationship to return.
Query Parameters
The cloud resource name of the service.
Attributes from the data model to include in the results for the source vertex.
Possible values: contains only unique items
Examples:[ "all" ]
Attributes from the data model to include in the results for the target vertex.
Possible values: contains only unique items
Examples:[ "all" ]
The getDataRelationshipForRecord options.
The ID of the record.
The ID of the linked relationship to return.
Attributes from the data model to include in the results for the source vertex.
Examples:[ "all" ]
Attributes from the data model to include in the results for the target vertex.
Examples:[ "all" ]
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/records/40964176/relationships/215tzl-5cw8-q7f9-oi7u8?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetDataRelationshipForRecordOptions getDataRelationshipForRecordOptions = new GetDataRelationshipForRecordOptions.Builder() .id(Long.valueOf("26")) .relationshipId("testString") .build(); Response<DataRelationshipResponse> response = mdmService.getDataRelationshipForRecord(getDataRelationshipForRecordOptions).execute(); DataRelationshipResponse dataRelationshipResponse = response.getResult(); System.out.println(dataRelationshipResponse);
Response
Information about a relationship.
Information about a relationship.
Supplemental information about a resource.
Information about a relationship.
Information about a relationship.
- relationship
The id of the element.
The type of the element.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
A node with attributes.
- source
The id of the element.
The type of the element.
The list of the attributes of the element.
A node with attributes.
- target
The id of the element.
The type of the element.
The list of the attributes of the element.
Supplemental information about a resource.
- metadata
The id of the resource.
The hyperlink to the resource.
The timestamp of when the resource was last updated.
Status Code
The relationship has been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting relationship. Relationship does not exist.
Problem getting relationship. An internal error occurred while attempting to retrieve the relationship.
{ "metadata": { "href": "${host}/mdm/v1/records/41160752/relationships/215tzl-5cw8-q7f9-oi7u8?crn={crn}", "id": "215tzl-5cw8-q7f9-oi7u8", "updated_at": "2019-01-31T12:21:58.815Z" }, "relationship": { "attributes": { "relationship_id": "997554896611881692", "relationship_last_updated": "1548937318815", "relationship_source": "MDM", "from_record_id": "358354896586841797", "from_record_source": "MDM", "from_record_type": "preference", "to_record_id": "998254896587316451", "to_record_source": "MDM", "to_record_type": "organization" }, "id": "215tzl-5cw8-q7f9-oi7u8", "type": "relationship", "type_name": "preference_association" } }
{ "metadata": { "href": "${host}/mdm/v1/records/41160752/relationships/215tzl-5cw8-q7f9-oi7u8?crn={crn}", "id": "215tzl-5cw8-q7f9-oi7u8", "updated_at": "2019-01-31T12:21:58.815Z" }, "relationship": { "attributes": { "relationship_id": "997554896611881692", "relationship_last_updated": "1548937318815", "relationship_source": "MDM", "from_record_id": "358354896586841797", "from_record_source": "MDM", "from_record_type": "preference", "to_record_id": "998254896587316451", "to_record_source": "MDM", "to_record_type": "organization" }, "id": "215tzl-5cw8-q7f9-oi7u8", "type": "relationship", "type_name": "preference_association" } }
List the related records for a record
Retrieve a set of records which are directly connected to the specified record by a relationship. All records related to the specified record will be returned regardless of relationship direction.
Retrieve a set of records which are directly connected to the specified record by a relationship. All records related to the specified record will be returned regardless of relationship direction.
GET /mdm/v1/records/{id}/related_records
ServiceCall<RelatedRecords> listDataRelatedRecordsForRecord(ListDataRelatedRecordsForRecordOptions listDataRelatedRecordsForRecordOptions)
Request
Use the ListDataRelatedRecordsForRecordOptions.Builder
to create a ListDataRelatedRecordsForRecordOptions
object that contains the parameter values for the listDataRelatedRecordsForRecord
method.
Path Parameters
The ID of the record.
Query Parameters
The cloud resource name of the service.
The type of record to filter in results
The type of relationship between related records and the specified record.
The maximum number of records to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
The number of records to skip before returning a page of results.
Default:
0
The listDataRelatedRecordsForRecord options.
The ID of the record.
The type of record to filter in results.
The type of relationship between related records and the specified record.
The maximum number of records to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
The number of records to skip before returning a page of results.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/records/249992/related_records?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&offset=0&limit=10"
ListDataRelatedRecordsForRecordOptions listDataRelatedRecordsForRecordOptions = new ListDataRelatedRecordsForRecordOptions.Builder() .id(Long.valueOf("26")) .build(); Response<RelatedRecords> response = mdmService.listDataRelatedRecordsForRecord(listDataRelatedRecordsForRecordOptions).execute(); RelatedRecords relatedRecords = response.getResult(); System.out.println(relatedRecords);
Response
Paged information about a set of other records related to an entity or a record.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
The paged list of related records.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
Paged information about a set of other records related to an entity or a record.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The paged list of related records.
- relatedRecords
The name of the record type as defined in the data model.
The unique identifier of the record on the graph.
The number of entities linked from the record.
Status Code
The related records for the record have been successfully retrieved.
Problem getting related records. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem retrieving neighbors. Record does not exist.
Problem retrieving related records. An internal error occurred while attempting to retrieve the related records.
{ "first": { "href": "${host}/mdm/v1/records/249992/related_records?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/records/249992/related_records?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "total_count": 1, "related_records": [ { "attributes": { "record_id": "1000007", "record_last_updated": "1603209081559", "record_source": "MDM", "regulation": { "regulation_value": "Safety Regulations", "attribute_last_updated": "1549006675422", "description": "The Safety Regulations provided by Company ABC", "regulation_type": "1", "url": "https://www.ibm.com" } }, "id": "151592", "type": "record", "record_number": 151592, "type_name": "process_purpose" } ] }
{ "first": { "href": "${host}/mdm/v1/records/249992/related_records?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/records/249992/related_records?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "total_count": 1, "related_records": [ { "attributes": { "record_id": "1000007", "record_last_updated": "1603209081559", "record_source": "MDM", "regulation": { "regulation_value": "Safety Regulations", "attribute_last_updated": "1549006675422", "description": "The Safety Regulations provided by Company ABC", "regulation_type": "1", "url": "https://www.ibm.com" } }, "id": "151592", "type": "record", "record_number": 151592, "type_name": "process_purpose" } ] }
List the entities for a record
View a list of entities which the record contributes to.
View a list of entities which the record contributes to.
GET /mdm/v1/records/{id}/entities
ServiceCall<DataEntitiesResponse> listDataEntitiesForRecord(ListDataEntitiesForRecordOptions listDataEntitiesForRecordOptions)
Request
Use the ListDataEntitiesForRecordOptions.Builder
to create a ListDataEntitiesForRecordOptions
object that contains the parameter values for the listDataEntitiesForRecord
method.
Path Parameters
The id of the record.
Query Parameters
The cloud resource name of the service.
The maximum number of records to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
The number of records to skip before returning a page of results.
Default:
0
Record attributes from the data model to include in the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
The listDataEntitiesForRecord options.
The id of the record.
The maximum number of records to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
The number of records to skip before returning a page of results.
Record attributes from the data model to include in the results.
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Examples:[ "legal_name.given_name" ]
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/records/53496/entities?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListDataEntitiesForRecordOptions listDataEntitiesForRecordOptions = new ListDataEntitiesForRecordOptions.Builder() .id(Long.valueOf("26")) .include(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .exclude(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .build(); Response<DataEntitiesResponse> response = mdmService.listDataEntitiesForRecord(listDataEntitiesForRecordOptions).execute(); DataEntitiesResponse dataEntitiesResponse = response.getResult(); System.out.println(dataEntitiesResponse);
Response
Paged information about a collection of entities.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
A link to the first page of results.
- first
The url for the page of results.
The paged collection of entities.
The total number of elements.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
Paged information about a collection of entities.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The paged collection of entities.
- entities
The name of the entity type as defined in the data model.
The number of records linked into the entity.
Status Code
The list of entities have been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting entities. Record with id <record_id> does not exist.
Problem getting entities. An internal error occurred while attempting to retrieve entities for the specified record.
{ "first": { "href": "${host}/mdm/v1/records/53496/entities?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/records/53496/entities?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "entities": [ { "attributes": { "birth_date": { "attribute_last_updated": "1548936483189", "value": "1934-05-11T00:00:00.000Z" }, "entity_last_updated": "1603572360787", "gender": { "attribute_last_updated": "1548936483189", "value": "F" }, "legal_name": { "attribute_last_updated": "1548936483016", "last_name": "LEES", "given_name": "KAROLYN" }, "primary_residence": { "attribute_last_updated": "1548936483189", "address_province_state_value": "KY", "address_city": "ELLIOTTVILLE", "address_zip_postal_code": "40317", "address_province_state_type": "21", "address_line_1": "106 EAST SYCAMORE ST.", "address_line_2": "Unit-701" }, "record_id": "216754896528315937", "record_source": "MDM" }, "id": "person_entity-53496", "type": "entity", "record_count": 1, "type_name": "person_entity" } ] }
{ "first": { "href": "${host}/mdm/v1/records/53496/entities?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/records/53496/entities?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "entities": [ { "attributes": { "birth_date": { "attribute_last_updated": "1548936483189", "value": "1934-05-11T00:00:00.000Z" }, "entity_last_updated": "1603572360787", "gender": { "attribute_last_updated": "1548936483189", "value": "F" }, "legal_name": { "attribute_last_updated": "1548936483016", "last_name": "LEES", "given_name": "KAROLYN" }, "primary_residence": { "attribute_last_updated": "1548936483189", "address_province_state_value": "KY", "address_city": "ELLIOTTVILLE", "address_zip_postal_code": "40317", "address_province_state_type": "21", "address_line_1": "106 EAST SYCAMORE ST.", "address_line_2": "Unit-701" }, "record_id": "216754896528315937", "record_source": "MDM" }, "id": "person_entity-53496", "type": "entity", "record_count": 1, "type_name": "person_entity" } ] }
List the records
View a list of records that have been added to the graph.
View a list of records that have been added to the graph.
GET /mdm/v1/records
ServiceCall<DataRecordsResponse> listDataRecords(ListDataRecordsOptions listDataRecordsOptions)
Request
Use the ListDataRecordsOptions.Builder
to create a ListDataRecordsOptions
object that contains the parameter values for the listDataRecords
method.
Query Parameters
The cloud resource name of the service.
The number of records to skip over.
Default:
0
The number of records to be returned. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
The listDataRecords options.
The number of records to skip over.
The number of records to be returned. The maximum limit is 50.
Possible values: value ≤ 50
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/records?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListDataRecordsOptions listDataRecordsOptions = new ListDataRecordsOptions.Builder() .build(); Response<DataRecordsResponse> response = mdmService.listDataRecords(listDataRecordsOptions).execute(); DataRecordsResponse dataRecordsResponse = response.getResult(); System.out.println(dataRecordsResponse);
Response
Paged information about a collection of records.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
A link to the first page of results.
- first
The url for the page of results.
The paged collection of records.
The total number of elements.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
Paged information about a collection of records.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The paged collection of records.
- records
The name of the record type as defined in the data model.
The unique identifier of the record on the graph.
The number of entities linked from the record.
Status Code
The records have been successfully retrieved.
Problem getting records. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting records. An internal error occurred while attempting to retrieve the records.
{ "first": { "href": "${host}/mdm/v1/records?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/records?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "records": [ { "attributes": { "record_id": "1000007", "record_last_updated": "1603209081559", "record_source": "MDM", "regulation": { "regulation_value": "Safety Regulations", "attribute_last_updated": "1549006675422", "description": "The Safety Regulations provided by Company ABC", "regulation_type": "1", "url": "https://www.ibm.com" } }, "id": "151592", "type": "record", "record_number": 151592, "type_name": "process_purpose" } ] }
{ "first": { "href": "${host}/mdm/v1/records?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/records?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "records": [ { "attributes": { "record_id": "1000007", "record_last_updated": "1603209081559", "record_source": "MDM", "regulation": { "regulation_value": "Safety Regulations", "attribute_last_updated": "1549006675422", "description": "The Safety Regulations provided by Company ABC", "regulation_type": "1", "url": "https://www.ibm.com" } }, "id": "151592", "type": "record", "record_number": 151592, "type_name": "process_purpose" } ] }
Create a new record
Add a new record to the graph. An incremental matching operation is automatically triggered after the record is created, to enable the record to join or form an entity.
Add a new record to the graph. An incremental matching operation is automatically triggered after the record is created, to enable the record to join or form an entity.
POST /mdm/v1/records
ServiceCall<DataRecordResponse> createDataRecord(CreateDataRecordOptions createDataRecordOptions)
Request
Use the CreateDataRecordOptions.Builder
to create a CreateDataRecordOptions
object that contains the parameter values for the createDataRecord
method.
Query Parameters
The cloud resource name of the service.
Valid object defining the record to be added to the graph.
The list of the attributes of the element.
- attributes
The name of the record type as defined in the data model.
The id of the element.
The createDataRecord options.
The list of the attributes of the element.
The name of the record type as defined in the data model.
The id of the element.
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/records?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"attributes":{"record_id":"12345","record_source":"MDM","legal_name":{"given_name":"Jane","last_name":"Smith"}},"type_name":"person"}"
CreateDataRecordOptions createDataRecordOptions = new CreateDataRecordOptions.Builder() .attributes(new java.util.HashMap<String, Object>() { { put("foo", TestUtilities.createMockMap()); } }) .typeName("testString") .build(); Response<DataRecordResponse> response = mdmService.createDataRecord(createDataRecordOptions).execute(); DataRecordResponse dataRecordResponse = response.getResult(); System.out.println(dataRecordResponse);
Response
Information about a record.
Information about a record.
Supplemental information about a resource.
Information about a record.
Information about a record.
- record
The name of the record type as defined in the data model.
The unique identifier of the record on the graph.
The number of entities linked from the record.
Supplemental information about a resource.
- metadata
The id of the resource.
The hyperlink to the resource.
The timestamp of when the resource was last updated.
Status Code
The record has been successfully created.
Problem creating record. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem creating record. An internal error occurred while attempting to create the record.
{ "metadata": { "href": "${host}/mdm/v1/records/40964176?crn=${crn}", "id": "40964176", "updated_at": "2020-10-23T19:49:51.442Z" }, "record": { "attributes": { "legal_name": { "attribute_last_updated": "1548936483189", "last_name": "Smith", "given_name": "Jane" }, "record_id": "12345", "record_last_updated": "1603482591442", "record_source": "MDM" }, "id": "40964176", "type": "record", "record_number": 40964176, "type_name": "person" } }
{ "metadata": { "href": "${host}/mdm/v1/records/40964176?crn=${crn}", "id": "40964176", "updated_at": "2020-10-23T19:49:51.442Z" }, "record": { "attributes": { "legal_name": { "attribute_last_updated": "1548936483189", "last_name": "Smith", "given_name": "Jane" }, "record_id": "12345", "record_last_updated": "1603482591442", "record_source": "MDM" }, "id": "40964176", "type": "record", "record_number": 40964176, "type_name": "person" } }
List the relationships for a record
View a list of relationships that exist between the given record and other records in the graph.
View a list of relationships that exist between the given record and other records in the graph.
GET /mdm/v1/records/{id}/relationships
ServiceCall<DataRelationshipsResponse> listDataRelationshipsForRecord(ListDataRelationshipsForRecordOptions listDataRelationshipsForRecordOptions)
Request
Use the ListDataRelationshipsForRecordOptions.Builder
to create a ListDataRelationshipsForRecordOptions
object that contains the parameter values for the listDataRelationshipsForRecord
method.
Path Parameters
The ID of the record.
Query Parameters
The cloud resource name of the service.
The relationship types to return.
The number of relationships to skip over.
Default:
0
The number of relationships to be returned. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
Attributes from the data model to include in the results for the source vertex.
Possible values: contains only unique items
Examples:[ "all" ]
Attributes from the data model to include in the results for the target vertex.
Possible values: contains only unique items
Examples:[ "all" ]
The listDataRelationshipsForRecord options.
The ID of the record.
The relationship types to return.
The number of relationships to skip over.
The number of relationships to be returned. The maximum limit is 50.
Possible values: value ≤ 50
Attributes from the data model to include in the results for the source vertex.
Examples:[ "all" ]
Attributes from the data model to include in the results for the target vertex.
Examples:[ "all" ]
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/records/40964176/relationships?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListDataRelationshipsForRecordOptions listDataRelationshipsForRecordOptions = new ListDataRelationshipsForRecordOptions.Builder() .id(Long.valueOf("26")) .build(); Response<DataRelationshipsResponse> response = mdmService.listDataRelationshipsForRecord(listDataRelationshipsForRecordOptions).execute(); DataRelationshipsResponse dataRelationshipsResponse = response.getResult(); System.out.println(dataRelationshipsResponse);
Response
Paged information about a collection of relationships.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
The collection of relationships.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
Paged information about a collection of relationships.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The collection of relationships.
- relationships
The id of the element.
The type of the element.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
A node with attributes.
- source
The id of the element.
The type of the element.
The list of the attributes of the element.
A node with attributes.
- target
The id of the element.
The type of the element.
The list of the attributes of the element.
Status Code
The relationships have been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem retrieving relationships. Record not found.
Problem retrieving relationships. An internal error occurred.
{ "first": { "href": "${host}/mdm/v1/records/123/relationships?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/records/123/relationships?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "relationships": [ { "attributes": { "relationship_id": "997554896611881692", "relationship_last_updated": "1548937318815", "relationship_source": "MDM", "from_record_id": "358354896586841797", "from_record_source": "MDM", "from_record_type": "preference", "to_record_id": "998254896587316451", "to_record_source": "MDM", "to_record_type": "organization" }, "id": "215tzl-5cw8-q7f9-oi7u8", "source": { "id": "123", "type": "record", "type_name": "person" }, "target": { "id": "40964344", "type": "record", "type_name": "person" }, "type": "relationship", "type_name": "preference_association" } ] }
{ "first": { "href": "${host}/mdm/v1/records/123/relationships?crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/records/123/relationships?crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "relationships": [ { "attributes": { "relationship_id": "997554896611881692", "relationship_last_updated": "1548937318815", "relationship_source": "MDM", "from_record_id": "358354896586841797", "from_record_source": "MDM", "from_record_type": "preference", "to_record_id": "998254896587316451", "to_record_source": "MDM", "to_record_type": "organization" }, "id": "215tzl-5cw8-q7f9-oi7u8", "source": { "id": "123", "type": "record", "type_name": "person" }, "target": { "id": "40964344", "type": "record", "type_name": "person" }, "type": "relationship", "type_name": "preference_association" } ] }
Create a new relationship
Add a new relationship to the graph.
Add a new relationship to the graph.
POST /mdm/v1/relationships
ServiceCall<DataRelationshipResponse> createDataRelationship(CreateDataRelationshipOptions createDataRelationshipOptions)
Request
Use the CreateDataRelationshipOptions.Builder
to create a CreateDataRelationshipOptions
object that contains the parameter values for the createDataRelationship
method.
Query Parameters
The cloud resource name of the service.
Valid object defining the relationship to be added to the graph.
The list of the attributes of the element.
- attributes
The name of the relationship type as defined in the data model.
The id of the element.
A node with attributes.
A node with attributes.
The createDataRelationship options.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
The id of the element.
A node with attributes.
- source
The id of the element.
The list of the attributes of the element.
A node with attributes.
- target
The id of the element.
The list of the attributes of the element.
CreateDataRelationshipOptions createDataRelationshipOptions = new CreateDataRelationshipOptions.Builder() .attributes(new java.util.HashMap<String, Object>() { { put("foo", TestUtilities.createMockMap()); } }) .typeName("testString") .build(); Response<DataRelationshipResponse> response = mdmService.createDataRelationship(createDataRelationshipOptions).execute(); DataRelationshipResponse dataRelationshipResponse = response.getResult(); System.out.println(dataRelationshipResponse);
Response
Information about a relationship.
Information about a relationship.
Supplemental information about a resource.
Information about a relationship.
Information about a relationship.
- relationship
The id of the element.
The type of the element.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
A node with attributes.
- source
The id of the element.
The type of the element.
The list of the attributes of the element.
A node with attributes.
- target
The id of the element.
The type of the element.
The list of the attributes of the element.
Supplemental information about a resource.
- metadata
The id of the resource.
The hyperlink to the resource.
The timestamp of when the resource was last updated.
Status Code
The relationship has been successfully created.
Problem creating relationship. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem creating relationship. An internal error occurred while attempting to create the relationship.
{ "metadata": { "href": "${host}/mdm/v1/relationships/7x80m4-oe09s-i711-2u49q8?crn=${crn}", "id": "7x80m4-oe09s-i711-2u49q8", "updated_at": "2021-08-19T18:33:55.679Z" }, "relationship": { "attributes": { "relationship_id": "123", "relationship_last_updated": "1629398035679", "relationship_source": "MDM" }, "id": "7x80m4-oe09s-i711-2u49q8", "source": { "id": "40964320", "type": "record", "type_name": "person" }, "target": { "id": "171520064", "type": "record", "type_name": "person" }, "type": "relationship", "type_name": "party_relationship" } }
{ "metadata": { "href": "${host}/mdm/v1/relationships/7x80m4-oe09s-i711-2u49q8?crn=${crn}", "id": "7x80m4-oe09s-i711-2u49q8", "updated_at": "2021-08-19T18:33:55.679Z" }, "relationship": { "attributes": { "relationship_id": "123", "relationship_last_updated": "1629398035679", "relationship_source": "MDM" }, "id": "7x80m4-oe09s-i711-2u49q8", "source": { "id": "40964320", "type": "record", "type_name": "person" }, "target": { "id": "171520064", "type": "record", "type_name": "person" }, "type": "relationship", "type_name": "party_relationship" } }
Get a relationship
View information about the specified relationship on the graph.
View information about the specified relationship on the graph.
GET /mdm/v1/relationships/{id}
ServiceCall<DataRelationshipResponse> getDataRelationship(GetDataRelationshipOptions getDataRelationshipOptions)
Request
Use the GetDataRelationshipOptions.Builder
to create a GetDataRelationshipOptions
object that contains the parameter values for the getDataRelationship
method.
Path Parameters
The ID of the relationship.
Query Parameters
The cloud resource name of the service.
Attributes from the data model to include in the results for the source vertex.
Possible values: contains only unique items
Examples:[ "all" ]
Attributes from the data model to include in the results for the target vertex.
Possible values: contains only unique items
Examples:[ "all" ]
The getDataRelationship options.
The ID of the relationship.
Attributes from the data model to include in the results for the source vertex.
Examples:[ "all" ]
Attributes from the data model to include in the results for the target vertex.
Examples:[ "all" ]
GetDataRelationshipOptions getDataRelationshipOptions = new GetDataRelationshipOptions.Builder() .id("testString") .build(); Response<DataRelationshipResponse> response = mdmService.getDataRelationship(getDataRelationshipOptions).execute(); DataRelationshipResponse dataRelationshipResponse = response.getResult(); System.out.println(dataRelationshipResponse);
Response
Information about a relationship.
Information about a relationship.
Supplemental information about a resource.
Information about a relationship.
Information about a relationship.
- relationship
The id of the element.
The type of the element.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
A node with attributes.
- source
The id of the element.
The type of the element.
The list of the attributes of the element.
A node with attributes.
- target
The id of the element.
The type of the element.
The list of the attributes of the element.
Supplemental information about a resource.
- metadata
The id of the resource.
The hyperlink to the resource.
The timestamp of when the resource was last updated.
Status Code
The relationship has been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting relationship. The relationship could not be found.
Problem getting relationship. An internal error occurred while attempting to retrieve the relationship.
{ "metadata": { "href": "${host}/mdm/v1/relationships/7x80m4-oe09s-i711-2u49q8?crn=${crn}", "id": "7x80m4-oe09s-i711-2u49q8", "updated_at": "2021-08-19T18:33:55.679Z" }, "relationship": { "attributes": { "relationship_id": "123", "relationship_last_updated": "1629398035679", "relationship_source": "MDM" }, "id": "7x80m4-oe09s-i711-2u49q8", "source": { "id": "40964320", "type": "record", "type_name": "person" }, "target": { "id": "171520064", "type": "record", "type_name": "person" }, "type": "relationship", "type_name": "party_relationship" } }
{ "metadata": { "href": "${host}/mdm/v1/relationships/7x80m4-oe09s-i711-2u49q8?crn=${crn}", "id": "7x80m4-oe09s-i711-2u49q8", "updated_at": "2021-08-19T18:33:55.679Z" }, "relationship": { "attributes": { "relationship_id": "123", "relationship_last_updated": "1629398035679", "relationship_source": "MDM" }, "id": "7x80m4-oe09s-i711-2u49q8", "source": { "id": "40964320", "type": "record", "type_name": "person" }, "target": { "id": "171520064", "type": "record", "type_name": "person" }, "type": "relationship", "type_name": "party_relationship" } }
Replace attributes for a relationship
Replace the existing relationship attributes on the graph with the new set of attributes.
Replace the existing relationship attributes on the graph with the new set of attributes.
PUT /mdm/v1/relationships/{id}
ServiceCall<DataRelationshipResponse> replaceDataRelationship(ReplaceDataRelationshipOptions replaceDataRelationshipOptions)
Request
Use the ReplaceDataRelationshipOptions.Builder
to create a ReplaceDataRelationshipOptions
object that contains the parameter values for the replaceDataRelationship
method.
Path Parameters
The ID of the relationship.
Query Parameters
The cloud resource name of the service.
Valid object defining the relationship information to replace the existing relationship.
The list of the attributes of the element.
- attributes
The name of the relationship type as defined in the data model.
The id of the element.
A node with attributes.
A node with attributes.
The replaceDataRelationship options.
The ID of the relationship.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
The id of the element.
A node with attributes.
- newSource
The id of the element.
The list of the attributes of the element.
A node with attributes.
- newTarget
The id of the element.
The list of the attributes of the element.
ReplaceDataRelationshipOptions replaceDataRelationshipOptions = new ReplaceDataRelationshipOptions.Builder() .id("testString") .newAttributes(new java.util.HashMap<String, Object>() { { put("foo", TestUtilities.createMockMap()); } }) .newTypeName("testString") .build(); Response<DataRelationshipResponse> response = mdmService.replaceDataRelationship(replaceDataRelationshipOptions).execute(); DataRelationshipResponse dataRelationshipResponse = response.getResult(); System.out.println(dataRelationshipResponse);
Response
Information about a relationship.
Information about a relationship.
Supplemental information about a resource.
Information about a relationship.
Information about a relationship.
- relationship
The id of the element.
The type of the element.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
A node with attributes.
- source
The id of the element.
The type of the element.
The list of the attributes of the element.
A node with attributes.
- target
The id of the element.
The type of the element.
The list of the attributes of the element.
Supplemental information about a resource.
- metadata
The id of the resource.
The hyperlink to the resource.
The timestamp of when the resource was last updated.
Status Code
The relationship has been successfully updated.
Problem updating relationship. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem updating relationship. The relationship could not be found.
Problem updating relationship. The resulting composite key conflicts with an existing relationship.
Problem updating relationship. An internal error occurred while attempting to update the relationship.
{ "metadata": { "href": "${host}/mdm/v1/relationships/7x80m4-oe09s-i711-2u49q8?crn=${crn}", "id": "7x80m4-oe09s-i711-2u49q8", "updated_at": "2021-08-19T18:33:55.679Z" }, "relationship": { "attributes": { "relationship_id": "123", "relationship_last_updated": "1629398035679", "relationship_source": "MDM" }, "id": "7x80m4-oe09s-i711-2u49q8", "source": { "id": "40964320", "type": "record", "type_name": "person" }, "target": { "id": "171520064", "type": "record", "type_name": "person" }, "type": "relationship", "type_name": "party_relationship" } }
{ "metadata": { "href": "${host}/mdm/v1/relationships/7x80m4-oe09s-i711-2u49q8?crn=${crn}", "id": "7x80m4-oe09s-i711-2u49q8", "updated_at": "2021-08-19T18:33:55.679Z" }, "relationship": { "attributes": { "relationship_id": "123", "relationship_last_updated": "1629398035679", "relationship_source": "MDM" }, "id": "7x80m4-oe09s-i711-2u49q8", "source": { "id": "40964320", "type": "record", "type_name": "person" }, "target": { "id": "171520064", "type": "record", "type_name": "person" }, "type": "relationship", "type_name": "party_relationship" } }
Delete a relationship
Delete an existing relationship from the graph.
Delete an existing relationship from the graph.
DELETE /mdm/v1/relationships/{id}
ServiceCall<Void> deleteDataRelationship(DeleteDataRelationshipOptions deleteDataRelationshipOptions)
Request
Use the DeleteDataRelationshipOptions.Builder
to create a DeleteDataRelationshipOptions
object that contains the parameter values for the deleteDataRelationship
method.
Path Parameters
The ID of the relationship.
Query Parameters
The cloud resource name of the service.
The deleteDataRelationship options.
The ID of the relationship.
DeleteDataRelationshipOptions deleteDataRelationshipOptions = new DeleteDataRelationshipOptions.Builder() .id("testString") .build(); Response<Void> response = mdmService.deleteDataRelationship(deleteDataRelationshipOptions).execute();
Response
Status Code
The relationship was successfully deleted.
Problem deleting relationship. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem deleting relationship. Relationship does not exist.
Problem deleting relationship. An internal error occurred while attempting to delete the relationship.
No Sample Response
Update the graph schema
Update the existing graph schema to support the latest draft version of the data model. A draft version of the data model is required to exist in the Model APIs when running a schema update operation.
Update the existing graph schema to support the latest draft version of the data model. A draft version of the data model is required to exist in the Model APIs when running a schema update operation.
POST /mdm/v1/schema_update
ServiceCall<Void> runDataSchemaUpdate(RunDataSchemaUpdateOptions runDataSchemaUpdateOptions)
Request
Use the RunDataSchemaUpdateOptions.Builder
to create a RunDataSchemaUpdateOptions
object that contains the parameter values for the runDataSchemaUpdate
method.
Query Parameters
The cloud resource name of the service.
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/schema_update?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
RunDataSchemaUpdateOptions runDataSchemaUpdateOptions = new RunDataSchemaUpdateOptions(); Response<Void> response = mdmService.runDataSchemaUpdate(runDataSchemaUpdateOptions).execute();
Response
Status Code
The schema is up to date with the latest data model.
Problem updating schema. The user is not authenticated.
Problem updating schema. The user is not authorized to perform the request.
Problem updating schema.
Problem updating schema. An internal error occurred while attempting to perform the operation.
No Sample Response
Search the data on the graph
Run a full text search, or search on attribute fields. Searching on fields is achievable by using dot-notation for the property keys (e.g. legal_name.given_name). Omit the property key for a full text search. Pagination is supported.
Run a full text search, or search on attribute fields. Searching on fields is achievable by using dot-notation for the property keys (e.g. legal_name.given_name). Omit the property key for a full text search. Pagination is supported.
POST /mdm/v1/search
ServiceCall<DataSearchResults> searchData(SearchDataOptions searchDataOptions)
Request
Use the SearchDataOptions.Builder
to create a SearchDataOptions
object that contains the parameter values for the searchData
method.
Query Parameters
The cloud resource name of the service.
The type of results to return from the search.
Allowable values: [
results
,results_as_entities
]Default:
results
The maximum number of elements to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
Default:
10
The number of elements to skip before returning a page of results.
Default:
0
Record attributes from the data model to include in the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Possible values: contains only unique items
Examples:[ "legal_name.given_name" ]
Valid input defining the search criteria.
{
"search_type": "record",
"query": {
"expressions": [
{
"property": "legal_name.last_name",
"condition": "equal",
"value": "smith"
}
]
}
}
The type of data to search against.
Allowable values: [
record
]Default:
record
A search query to run.
The search filters to apply to the search to narrow down results.
The searchData options.
The type of data to search against.
Allowable values: [
record
]Default:
record
Examples:record
A search query to run.
Examples:{ "expressions": [ { "property": "legal_name.last_name", "condition": "equal", "value": "smith" } ] }
- query
The list of expressions.
- expressions
The property to search on.
The condition to apply on the property or value.
Allowable values: [
equal
,not_equal
,greater_than
,greater_than_equal
,less_than
,less_than_equal
,starts_with
,ends_with
,contains
,not_contains
,fuzzy
,has_value
,has_no_value
]The value to search for.
The record type to search on.
The operation to use to join multiple expressions if additional expressions are defined.
Allowable values: [
and
,or
]An optional list of additional expressions to apply.
The operation to apply to the expressions.
Allowable values: [
and
,or
]
The search filters to apply to the search to narrow down results.
- filters
The filter type.
Allowable values: [
record
,source
]The values to filter upon.
The type of results to return from the search.
Allowable values: [
results
,results_as_entities
]Default:
results
The maximum number of elements to return in each page of results. The maximum limit is 50.
Possible values: value ≤ 50
The number of elements to skip before returning a page of results.
Record attributes from the data model to include in the results.
Examples:[ "legal_name.given_name" ]
Record attributes from the data model to exclude from the results.
Examples:[ "legal_name.given_name" ]
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/search?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"search_type":"record","query":{"operation":"or","expressions":[{"value":"TX"},{"property":"legal_name.given_name","value":"John"}]},"filters":[{"type":"record","values":["person"]}]}"
Expression expressionModel = new Expression.Builder() .property("legal_name.last_name") .condition("equal") .value("smith") .build(); SearchQuery searchQueryModel = new SearchQuery.Builder() .expressions(new java.util.ArrayList<Expression>(java.util.Arrays.asList(expressionModel))) .build(); SearchDataOptions searchDataOptions = new SearchDataOptions.Builder() .searchType("record") .query(searchQueryModel) .include(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .exclude(new java.util.ArrayList<String>(java.util.Arrays.asList("legal_name.given_name"))) .build(); Response<DataSearchResults> response = mdmService.searchData(searchDataOptions).execute(); DataSearchResults dataSearchResults = response.getResult(); System.out.println(dataSearchResults);
Response
Results of a search operation.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
Whether an exact number of results have been calculated.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The paged list of results containing entities or records from the search.
Statistical summary of the full collection of search results.
- stats
The aggregate counts by record type.
The aggregate counts by record source.
Results of a search operation.
The number of elements to skip before returning a page of results.
The maximum number of elements to return in each page of results.
The total number of elements.
A link to the first page of results.
- first
The url for the page of results.
A link to the last page of results.
- last
The url for the page of results.
A link to the previous page of results.
- previous
The url for the page of results.
A link to the next page of results.
- next
The url for the page of results.
The paged list of results containing entities or records from the search.
- results
The id of the element.
The type of the element.
The list of the attributes of the element.
Whether an exact number of results have been calculated.
Statistical summary of the full collection of search results.
- stats
The aggregate counts by record type.
- recordTypes
The name of the field being aggregated.
The number of occurrences of the field.
The aggregate counts by record source.
- sources
The name of the field being aggregated.
The number of occurrences of the field.
Status Code
The search was performed successfully.
Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Request timed out.
Problem searching. An internal error occurred while attempting to perform the search.
{ "first": { "href": "${host}/mdm/v1/search?return_type=results&crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/search?return_type=results&crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "is_exact_count": true, "results": [ { "attributes": { "birth_date": { "attribute_last_updated": "1548936432644", "value": "1981-11-27T00:00:00.000Z" }, "gender": { "attribute_last_updated": "1548936432644", "value": "M" }, "legal_name": { "attribute_last_updated": "1548936432644", "last_name": "MYERS", "given_name": "JOHN" }, "primary_residence": { "attribute_last_updated": "1548936432653", "address_province_state_value": "CA", "address_city": "COLOMA", "address_zip_postal_code": "95613", "address_province_state_type": "6", "address_line_1": "5955 EAST ST ANNE STREET", "address_line_2": "Unit-89" }, "record_id": "103954896523264298", "record_last_updated": "1603479339402", "record_source": "MDM" }, "id": "180336", "type": "record", "record_number": 180336, "type_name": "person" } ], "total_count": 1 }
{ "first": { "href": "${host}/mdm/v1/search?return_type=results&crn=${crn}&offset=0&limit=10" }, "last": { "href": "${host}/mdm/v1/search?return_type=results&crn=${crn}&offset=0&limit=10" }, "limit": 10, "offset": 0, "is_exact_count": true, "results": [ { "attributes": { "birth_date": { "attribute_last_updated": "1548936432644", "value": "1981-11-27T00:00:00.000Z" }, "gender": { "attribute_last_updated": "1548936432644", "value": "M" }, "legal_name": { "attribute_last_updated": "1548936432644", "last_name": "MYERS", "given_name": "JOHN" }, "primary_residence": { "attribute_last_updated": "1548936432653", "address_province_state_value": "CA", "address_city": "COLOMA", "address_zip_postal_code": "95613", "address_province_state_type": "6", "address_line_1": "5955 EAST ST ANNE STREET", "address_line_2": "Unit-89" }, "record_id": "103954896523264298", "record_last_updated": "1603479339402", "record_source": "MDM" }, "id": "180336", "type": "record", "record_number": 180336, "type_name": "person" } ], "total_count": 1 }
Get graph statistics
View statistics derived from the data on the graph, including total count, counts by source, and counts by type.
View statistics derived from the data on the graph, including total count, counts by source, and counts by type.
GET /mdm/v1/statistics
ServiceCall<DataStatistics> getDataGraphStatistics(GetDataGraphStatisticsOptions getDataGraphStatisticsOptions)
Request
Use the GetDataGraphStatisticsOptions.Builder
to create a GetDataGraphStatisticsOptions
object that contains the parameter values for the getDataGraphStatistics
method.
Query Parameters
The cloud resource name of the service.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/statistics?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetDataGraphStatisticsOptions getDataGraphStatisticsOptions = new GetDataGraphStatisticsOptions(); Response<DataStatistics> response = mdmService.getDataGraphStatistics(getDataGraphStatisticsOptions).execute(); DataStatistics dataStatistics = response.getResult(); System.out.println(dataStatistics);
Response
A collection of statistics for the graph.
The total count of vertices in the graph.
The number of records in the graph.
Supplemental statistics based on various groupings of the data.
- aggregate_counts
The aggregate counts by record type.
The aggregate counts by record source.
A collection of statistics for the graph.
The total count of vertices in the graph.
The number of records in the graph.
Supplemental statistics based on various groupings of the data.
- aggregateCounts
The aggregate counts by record type.
- recordTypes
The name of the field being aggregated.
The number of occurrences of the field.
The aggregate counts by record source.
- sources
The name of the field being aggregated.
The number of occurrences of the field.
Status Code
The graph statistics have been successfully retrieved.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem getting graph statistics. An internal error occurred while attempting to retrieve the graph statistics.
{ "aggregate_counts": { "record_types": [ { "key": "macro_role", "size": 273 }, { "key": "person", "size": 406 }, { "key": "organization", "size": 516 }, { "key": "contract", "size": 315 }, { "key": "preference", "size": 161 }, { "key": "interaction", "size": 279 }, { "key": "contract_component", "size": 203 }, { "key": "process_purpose", "size": 9 } ], "sources": [ { "key": "MDM", "size": 2062 }, { "key": "Other", "size": 100 } ] }, "record_count": 2162, "total_count": 2162 }
{ "aggregate_counts": { "record_types": [ { "key": "macro_role", "size": 273 }, { "key": "person", "size": 406 }, { "key": "organization", "size": 516 }, { "key": "contract", "size": 315 }, { "key": "preference", "size": 161 }, { "key": "interaction", "size": 279 }, { "key": "contract_component", "size": 203 }, { "key": "process_purpose", "size": 9 } ], "sources": [ { "key": "MDM", "size": 2062 }, { "key": "Other", "size": 100 } ] }, "record_count": 2162, "total_count": 2162 }
Get the surrounding vertices and edges for a set of vertices
Fetch a subgraph view of a subset of data on the graph as specified in the request.
The operation runs with the following features:
- Includes initial vertices in the result.
- Returns a summary of graph elements. Does not include detailed information such as model attribute keys and values.
- Ignores a vertex identifier if the vertex cannot be found. Returns an empty subgraph if no vertices are found.
- Returns an edge in the resulting subgraph if its source vertex, target vertex and the edge itself can be reached within the specified number of hops from at least one initial vertex.
- Includes edges between record and entity vertices.
- No more than 3 hops and 50 input vertices are permitted. The number of edges per vertex is capped at 50. Note that the number of edges per vertex may be less than this limit due to shared edges.
Fetch a subgraph view of a subset of data on the graph as specified in the request.
The operation runs with the following features:
- Includes initial vertices in the result.
- Returns a summary of graph elements. Does not include detailed information such as model attribute keys and values.
- Ignores a vertex identifier if the vertex cannot be found. Returns an empty subgraph if no vertices are found.
- Returns an edge in the resulting subgraph if its source vertex, target vertex and the edge itself can be reached within the specified number of hops from at least one initial vertex.
- Includes edges between record and entity vertices.
- No more than 3 hops and 50 input vertices are permitted. The number of edges per vertex is capped at 50. Note that the number of edges per vertex may be less than this limit due to shared edges.
POST /mdm/v1/subgraph
ServiceCall<Subgraph> getDataSubgraph(GetDataSubgraphOptions getDataSubgraphOptions)
Request
Use the GetDataSubgraphOptions.Builder
to create a GetDataSubgraphOptions
object that contains the parameter values for the getDataSubgraph
method.
Query Parameters
The cloud resource name of the service.
Valid object defining scope parameters for the subgraph.
The list of identifiers of initial vertices from which to build the subgraph.
The maximum number of hops from initial vertices.
Possible values: 0 ≤ value ≤ 3
Default:
0
The attributes to be included in the response.
Examples:{ "person": [ "record_id" ] }
- include
Possible values: contains only unique items
The getDataSubgraph options.
The list of identifiers of initial vertices from which to build the subgraph.
The maximum number of hops from initial vertices.
Possible values: 0 ≤ value ≤ 3
The attributes to be included in the response.
Examples:{ "person": [ "record_id" ] }
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/subgraph?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{ "distance": 1, "vertex_ids": [ "151592" ] }"
GetDataSubgraphOptions getDataSubgraphOptions = new GetDataSubgraphOptions.Builder() .vertexIds(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .build(); Response<Subgraph> response = mdmService.getDataSubgraph(getDataSubgraphOptions).execute(); Subgraph subgraph = response.getResult(); System.out.println(subgraph);
Response
A graph view representing a scoped subset of the graph.
The list of vertices that make up the subgraph.
The list of encountered edges whose source and target vertices also exist on the subgraph.
A graph view representing a scoped subset of the graph.
The list of vertices that make up the subgraph.
- vertices
identifier of the vertex.
The type of vertex.
Possible values: [
record
,entity
]The name of the record type or entity type as defined in the logical model.
The name of vertex to be displayed on graph.
Whether the vertex is publicly accessible to all users.
The included attributes for the vertex.
The list of encountered edges whose source and target vertices also exist on the subgraph.
- edges
The identifier of the edge.
The type of edge.
Possible values: [
relationship
]The name of the relationship type as defined in the logical model.
The identifier of the source vertex.
The identifier of the target vertex.
The name to be displayed on a graph view.
Status Code
The subgraph has been successfully retrieved.
Problem retrieving subgraph. Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem retrieving subgraph. An internal error occurred while attempting to retrieve the subgraph.
{ "edges": [ { "display_name": "consent_process_purpose_link", "id": "2pjo60-18e8-r28l-38yw", "source_id": "57536", "target_id": "151592", "type": "relationship", "type_name": "consent_process_purpose_link" }, { "display_name": "consent_process_purpose_link", "id": "odzpo-2734-r28l-38yw", "source_id": "102496", "target_id": "151592", "type": "relationship", "type_name": "consent_process_purpose_link" } ], "vertices": [ { "attributes": {}, "display_name": "person-57536", "id": "57536", "is_global": true, "type": "record", "type_name": "person" }, { "attributes": {}, "display_name": "person-102496", "id": "102496", "is_global": true, "type": "record", "type_name": "person" }, { "attributes": {}, "display_name": "process_purpose-151592", "id": "151592", "is_global": true, "type": "record", "type_name": "process_purpose" } ] }
{ "edges": [ { "display_name": "consent_process_purpose_link", "id": "2pjo60-18e8-r28l-38yw", "source_id": "57536", "target_id": "151592", "type": "relationship", "type_name": "consent_process_purpose_link" }, { "display_name": "consent_process_purpose_link", "id": "odzpo-2734-r28l-38yw", "source_id": "102496", "target_id": "151592", "type": "relationship", "type_name": "consent_process_purpose_link" } ], "vertices": [ { "attributes": {}, "display_name": "person-57536", "id": "57536", "is_global": true, "type": "record", "type_name": "person" }, { "attributes": {}, "display_name": "person-102496", "id": "102496", "is_global": true, "type": "record", "type_name": "person" }, { "attributes": {}, "display_name": "process_purpose-151592", "id": "151592", "is_global": true, "type": "record", "type_name": "process_purpose" } ] }
Perform a bulk update of data on the graph
Run an update of records and relationships in the graph by creating, modifying and deleting data in a single transaction. This operation is intended for incremental updates of data. Please use the bulk load feature when loading large volumes of data.
The operation runs as follows:
- Performs all relationship deletions first, then record deletions.
- After the deletions are completed, all record upserts (i.e. insertions and updates) are performed next, followed by relationship upserts.
- Any element found in both deletions and upserts is treated as a deletion, and is removed from the upserts list before processing.
- Any other case of a duplicated element will cause the update to fail.
- If the 'ignore_redundant_updates' parameter is set to 'true', any update with a timestamp that is not newer than the existing timestamp for that element will not be applied, but it will not cause the entire transaction to fail. If the flag is set to 'false', invalid timestamps will cause a transaction failure.
- A failed update will cause all changes performed by the transaction to be reverted back to the original graph state.
Run an update of records and relationships in the graph by creating, modifying and deleting data in a single transaction. This operation is intended for incremental updates of data. Please use the bulk load feature when loading large volumes of data.
The operation runs as follows:
- Performs all relationship deletions first, then record deletions.
- After the deletions are completed, all record upserts (i.e. insertions and updates) are performed next, followed by relationship upserts.
- Any element found in both deletions and upserts is treated as a deletion, and is removed from the upserts list before processing.
- Any other case of a duplicated element will cause the update to fail.
- If the 'ignore_redundant_updates' parameter is set to 'true', any update with a timestamp that is not newer than the existing timestamp for that element will not be applied, but it will not cause the entire transaction to fail. If the flag is set to 'false', invalid timestamps will cause a transaction failure.
- A failed update will cause all changes performed by the transaction to be reverted back to the original graph state.
POST /mdm/v1/ongoing_sync
ServiceCall<Void> runDataOngoingSync(RunDataOngoingSyncOptions runDataOngoingSyncOptions)
Request
Use the RunDataOngoingSyncOptions.Builder
to create a RunDataOngoingSyncOptions
object that contains the parameter values for the runDataOngoingSync
method.
Query Parameters
The cloud resource name of the service.
Whether to ignore updates that fail due to missing or invalid 'record_last_updated' timestamps.
Default:
false
Valid object defining the elements to be inserted, updated or deleted on the graph.
A collection of records and relationships to create or update.
- upserts
A collection of records.
A collection of relationships.
A collection of records and relationships to delete.
- deletions
A collection of records.
A collection of relationships.
The runDataOngoingSync options.
A collection of records and relationships to create or update.
- upserts
A collection of records.
- records
The name of the record type as defined in the data model.
A collection of relationships.
- relationships
The id of the element.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
A node with attributes.
- source
The id of the element.
The list of the attributes of the element.
A node with attributes.
- target
The id of the element.
The list of the attributes of the element.
A collection of records and relationships to delete.
- deletions
A collection of records.
- records
The name of the record type as defined in the data model.
A collection of relationships.
- relationships
The id of the element.
The list of the attributes of the element.
The name of the relationship type as defined in the data model.
A node with attributes.
- source
The id of the element.
The list of the attributes of the element.
A node with attributes.
- target
The id of the element.
The list of the attributes of the element.
Whether to ignore updates that fail due to missing or invalid 'record_last_updated' timestamps.
Default:
false
RunDataOngoingSyncOptions runDataOngoingSyncOptions = new RunDataOngoingSyncOptions.Builder() .build(); Response<Void> response = mdmService.runDataOngoingSync(runDataOngoingSyncOptions).execute();
Response
Status Code
The updates have been successfully processed.
Input validation failed.
Problem processing request. The user is not authenticated.
Problem processing request. The user is not authorized to perform the request.
Problem performing bulk update. An internal error occurred while attempting to update the graph.
No Sample Response
Initiate data derivation job
- This service initiates asynchronous processing of the derive job.
- Data derivation is the process to standardize and generate buckets for the input records.
- This service initiates asynchronous processing of the derive job.
- Data derivation is the process to standardize and generate buckets for the input records.
POST /mdm/v1/bulk_derive
ServiceCall<PostCloudJob> createMatchingDeriveJob(CreateMatchingDeriveJobOptions createMatchingDeriveJobOptions)
Request
Use the CreateMatchingDeriveJobOptions.Builder
to create a CreateMatchingDeriveJobOptions
object that contains the parameter values for the createMatchingDeriveJob
method.
Query Parameters
The cloud resource name of the service.
The data type identifier of source records, ie. person, organization, contract
Example:
person
Force to re-derive all records, default is false
Default:
false
The delimited text file name, ending with .csv/.tsv for comma/tab separated format.
Example:
/usr/mdm-matching/sample/person-100.tsv
comma separated column names in the data file
Example:
record_source,,record_id,legal_name.given_name,legal_name.last_name,primary_residence.address_line1,primary_residence.city,primary_residence.province_state,primary_residence.zip_postal_code,,home_telephone.phone_number,business_address.address_line1,business_address.city,business_address.province_state,business_address.zip_postal_code,,home_telephone.phone_number.1,social_security_number.identification_number,health_card.identification_number,birth_date.value,gender.value
IBM COS end point (i.e. https://s3.us-east.cloud-object-storage.appdomain.cloud)
Example:
http://s3.us-south.cloud-object-storage.appdomain.cloud
IBM COS bucket (i.e. bucket-27200-lwx4cfvcue)
Example:
mdmdata
IBM COS access key (i.e. cf4965cebe074720a4929759f57e1214)
Example:
b33037e4e8954207a434cc032c1139d1 #pragma: allowlist secret
The unique secret code to access IBM COS
Example:
<hex string>
The number of spark executors
Example:
1
Amount of memory to use per executor process
Example:
8g
The number of cores to use on each executor
Example:
1
The number of partitions to be used by spark
Example:
2
IBM COS end point for job log storage.
Example:
http://s3.us-south.cloud-object-storage.appdomain.cloud
IBM COS bucket for job log storage.
Example:
mdmdata
IBM COS access key for spark log storage
Example:
b33037e4e8954207a434cc032c1139d1
IBM COS secret key for spark log storage
Example:
<hex string>
The createMatchingDeriveJob options.
The data type identifier of source records, ie. person, organization, contract.
Examples:person
Force to re-derive all records, default is false.
Default:
false
The delimited text file name, ending with .csv/.tsv for comma/tab separated format.
Examples:/usr/mdm-matching/sample/person-100.tsv
comma separated column names in the data file.
Examples:record_source,,record_id,legal_name.given_name,legal_name.last_name,primary_residence.address_line1,primary_residence.city,primary_residence.province_state,primary_residence.zip_postal_code,,home_telephone.phone_number,business_address.address_line1,business_address.city,business_address.province_state,business_address.zip_postal_code,,home_telephone.phone_number.1,social_security_number.identification_number,health_card.identification_number,birth_date.value,gender.value
IBM COS end point (i.e. https://s3.us-east.cloud-object-storage.appdomain.cloud).
Examples:http://s3.us-south.cloud-object-storage.appdomain.cloud
IBM COS bucket (i.e. bucket-27200-lwx4cfvcue).
Examples:mdmdata
IBM COS access key (i.e. cf4965cebe074720a4929759f57e1214).
Examples:b33037e4e8954207a434cc032c1139d1 #pragma: allowlist secret
The unique secret code to access IBM COS.
Examples:<hex string>
The number of spark executors.
Examples:1
Amount of memory to use per executor process.
Examples:8g
The number of cores to use on each executor.
Examples:1
The number of partitions to be used by spark.
Examples:2
IBM COS end point for job log storage.
Examples:http://s3.us-south.cloud-object-storage.appdomain.cloud
IBM COS bucket for job log storage.
Examples:mdmdata
IBM COS access key for spark log storage.
Examples:b33037e4e8954207a434cc032c1139d1
IBM COS secret key for spark log storage.
Examples:<hex string>
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/bulk_derive?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&record_type=person&csv_file=person-100.tsv&csv_column=record_source,,record_id,legal_name.given_name,legal_name.last_name,primary_residence.address_line1,primary_residence.city,primary_residence.province_state,primary_residence.zip_postal_code,,home_telephone.phone_number,business_address.address_line1,business_address.city,business_address.province_state,business_address.zip_postal_code,,home_telephone.phone_number.1,social_security_number.identification_number,health_card.identification_number,birth_date.value,gender.value&cos_endpoint=http://s3.us-south.cloud-object-storage.appdomain.cloud&cos_bucket=mdmdata&cos_access_key=1234567&cos_secret_key=7654321&executor_count=1&executor_memory=8g&executor_core_count=1&log_cos_endpoint=http://s3.us-south.cloud-object-storage.appdomain.cloud&log_cos_bucket=mdmdata&log_cos_access_key=b33037e4e8954207a434cc032c1139d1&log_cos_secret_key=hex_string"
CreateMatchingDeriveJobOptions createMatchingDeriveJobOptions = new CreateMatchingDeriveJobOptions.Builder() .recordType("person") .csvFile("/usr/mdm-matching/sample/person-100.tsv") .csvColumn("record_source,,record_id,legal_name.given_name,legal_name.last_name,primary_residence.address_line1,primary_residence.city,primary_residence.province_state,primary_residence.zip_postal_code,,home_telephone.phone_number,business_address.address_line1,business_address.city,business_address.province_state,business_address.zip_postal_code,,home_telephone.phone_number.1,social_security_number.identification_number,health_card.identification_number,birth_date.value,gender.value") .cosEndpoint("http://s3.us-south.cloud-object-storage.appdomain.cloud") .cosBucket("mdmdata") .cosAccessKey("b33037e4e8954207a434cc032c1139d1 #pragma: allowlist secret") .cosSecretKey("<hex string>") .executorCount(Long.valueOf("1")) .executorMemory("8g") .executorCoreCount(Long.valueOf("1")) .sparkParallelism(Long.valueOf("2")) .logCosEndpoint("http://s3.us-south.cloud-object-storage.appdomain.cloud") .logCosBucket("mdmdata") .logCosAccessKey("b33037e4e8954207a434cc032c1139d1") .logCosSecretKey("<hex string>") .build(); Response<PostCloudJob> response = mdmService.createMatchingDeriveJob(createMatchingDeriveJobOptions).execute(); PostCloudJob postCloudJob = response.getResult(); System.out.println(postCloudJob);
Response
Response object for asynchronous processing of a job
System defined name of a given job e.g. match-bulkderiver
System generated timestamp when a job was last updated
System generated timestamp when a job was created
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled
System generated identifier of a job
Response object for asynchronous processing of a job.
System defined name of a given job e.g. match-bulkderiver.
System generated timestamp when a job was last updated.
System generated timestamp when a job was created.
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled.
System generated identifier of a job.
Status Code
The request has been successfully created.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "created_at": "", "image": "mdm-spark-job", "job_name": "match-bulkderiver", "last_updated_at": "", "id": "2ba3ed28-00c7-42e4-9cc9-8c74bf5e4ff0", "input": {}, "spark_configuration": {}, "status": "Running" }
{ "created_at": "", "image": "mdm-spark-job", "job_name": "match-bulkderiver", "last_updated_at": "", "id": "2ba3ed28-00c7-42e4-9cc9-8c74bf5e4ff0", "input": {}, "spark_configuration": {}, "status": "Running" }
Initiate report job
- This service initiates asynchronous processing of a report job.
- Report job creates a report of the existing derived data that includes information like matching summary, largest entities, etc..
- This service initiates asynchronous processing of a report job.
- Report job creates a report of the existing derived data that includes information like matching summary, largest entities, etc..
POST /mdm/v1/bulk_report
ServiceCall<PostCloudJob> createMatchingReportJob(CreateMatchingReportJobOptions createMatchingReportJobOptions)
Request
Use the CreateMatchingReportJobOptions.Builder
to create a CreateMatchingReportJobOptions
object that contains the parameter values for the createMatchingReportJob
method.
Query Parameters
The cloud resource name of the service.
The data type identifier of source records, ie. person, organization, contract
Example:
person
The data type identifier of entity, ie. person_entity, organization_entity, household_entity
Example:
person_entity
The number of spark executors
Example:
1
Amount of memory to use per executor process
Example:
8g
The number of cores to use on each executor
Example:
1
The number of partitions to be used by spark
Example:
2
Comma separated analytics report identifier to be collected, ie. entity_summary, bucket_summary
Default:
entity_summary,bucket_summary
Example:
entity_summary,bucket_summary
collect analysis report, default is false
Default:
false
The createMatchingReportJob options.
The data type identifier of source records, ie. person, organization, contract.
Examples:person
The data type identifier of entity, ie. person_entity, organization_entity, household_entity.
Examples:person_entity
The number of spark executors.
Examples:1
Amount of memory to use per executor process.
Examples:8g
The number of cores to use on each executor.
Examples:1
The number of partitions to be used by spark.
Examples:2
Comma separated analytics report identifier to be collected, ie. entity_summary, bucket_summary.
Default:
entity_summary,bucket_summary
Examples:entity_summary,bucket_summary
collect analysis report, default is false.
Default:
false
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/bulk_report?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&record_type=person&entity_type=person_entity&executor_count=1&executor_memory=8g&executor_core_count=1&job_list=entity_summary,bucket_summary&do_analytics=false"
CreateMatchingReportJobOptions createMatchingReportJobOptions = new CreateMatchingReportJobOptions.Builder() .recordType("person") .entityType("person_entity") .executorCount(Long.valueOf("1")) .executorMemory("8g") .executorCoreCount(Long.valueOf("1")) .sparkParallelism(Long.valueOf("2")) .jobList("entity_summary,bucket_summary") .build(); Response<PostCloudJob> response = mdmService.createMatchingReportJob(createMatchingReportJobOptions).execute(); PostCloudJob postCloudJob = response.getResult(); System.out.println(postCloudJob);
Response
Response object for asynchronous processing of a job
System defined name of a given job e.g. match-bulkderiver
System generated timestamp when a job was last updated
System generated timestamp when a job was created
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled
System generated identifier of a job
Response object for asynchronous processing of a job.
System defined name of a given job e.g. match-bulkderiver.
System generated timestamp when a job was last updated.
System generated timestamp when a job was created.
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled.
System generated identifier of a job.
Status Code
The request has been successfully created.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "created_at": "", "image": "mdm-spark-job", "job_name": "match-bulkreporter", "last_updated_at": "", "id": "854ed8ca-dddf-4862-b069-58cb15eba138", "input": {}, "spark_configuration": {}, "status": "Queued" }
{ "created_at": "", "image": "mdm-spark-job", "job_name": "match-bulkreporter", "last_updated_at": "", "id": "854ed8ca-dddf-4862-b069-58cb15eba138", "input": {}, "spark_configuration": {}, "status": "Queued" }
Initiate match job
- This service initiates asynchronous processing of the match job.
- Matching is the process to compare two or more records and create linkages between the matched records.
- This service initiates asynchronous processing of the match job.
- Matching is the process to compare two or more records and create linkages between the matched records.
POST /mdm/v1/bulk_match
ServiceCall<PostCloudJob> createMatchingMatchJob(CreateMatchingMatchJobOptions createMatchingMatchJobOptions)
Request
Use the CreateMatchingMatchJobOptions.Builder
to create a CreateMatchingMatchJobOptions
object that contains the parameter values for the createMatchingMatchJob
method.
Query Parameters
The cloud resource name of the service.
The data type identifier of source records, ie. person, organization, contract
Example:
person
The data type identifier of entity, ie. person_entity, organization_entity, household_entity
Example:
person_entity
Force to re-match all records, default is false
Default:
false
Deduplicate pairs, default is false
Default:
false
collect analysis report, default is false
Default:
false
Replicate entity id, default is false
Default:
false
The number of spark executors
Example:
1
Amount of memory to use per executor process
Example:
8g
The number of cores to use on each executor
Example:
1
The number of partitions to be used by spark
Example:
2
IBM COS end point for job log storage.
Example:
http://s3.us-south.cloud-object-storage.appdomain.cloud
IBM COS bucket for job log storage.
Example:
mdmdata
IBM COS access key for spark log storage
Example:
b33037e4e8954207a434cc032c1139d1
IBM COS secret key for spark log storage
Example:
<hex string>
The createMatchingMatchJob options.
The data type identifier of source records, ie. person, organization, contract.
Examples:person
The data type identifier of entity, ie. person_entity, organization_entity, household_entity.
Examples:person_entity
Force to re-match all records, default is false.
Default:
false
Deduplicate pairs, default is false.
Default:
false
collect analysis report, default is false.
Default:
false
Replicate entity id, default is false.
Default:
false
The number of spark executors.
Examples:1
Amount of memory to use per executor process.
Examples:8g
The number of cores to use on each executor.
Examples:1
The number of partitions to be used by spark.
Examples:2
IBM COS end point for job log storage.
Examples:http://s3.us-south.cloud-object-storage.appdomain.cloud
IBM COS bucket for job log storage.
Examples:mdmdata
IBM COS access key for spark log storage.
Examples:b33037e4e8954207a434cc032c1139d1
IBM COS secret key for spark log storage.
Examples:<hex string>
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/bulk_match?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&record_type=person&entity_type=person_entity&executor_count=1&executor_memory=8g&executor_core_count=1&log_cos_endpoint=http://s3.us-south.cloud-object-storage.appdomain.cloud&log_cos_bucket=mdmdata&log_cos_access_key=b33037e4e8954207a434cc032c1139d1&log_cos_secret_key=hex_string&do_force=false&do_deduplicate=false&do_analytics=false&do_replicate=false"
CreateMatchingMatchJobOptions createMatchingMatchJobOptions = new CreateMatchingMatchJobOptions.Builder() .recordType("person") .entityType("person_entity") .executorCount(Long.valueOf("1")) .executorMemory("8g") .executorCoreCount(Long.valueOf("1")) .sparkParallelism(Long.valueOf("2")) .logCosEndpoint("http://s3.us-south.cloud-object-storage.appdomain.cloud") .logCosBucket("mdmdata") .logCosAccessKey("b33037e4e8954207a434cc032c1139d1") .logCosSecretKey("<hex string>") .build(); Response<PostCloudJob> response = mdmService.createMatchingMatchJob(createMatchingMatchJobOptions).execute(); PostCloudJob postCloudJob = response.getResult(); System.out.println(postCloudJob);
Response
Response object for asynchronous processing of a job
System defined name of a given job e.g. match-bulkderiver
System generated timestamp when a job was last updated
System generated timestamp when a job was created
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled
System generated identifier of a job
Response object for asynchronous processing of a job.
System defined name of a given job e.g. match-bulkderiver.
System generated timestamp when a job was last updated.
System generated timestamp when a job was created.
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled.
System generated identifier of a job.
Status Code
The request has been successfully created.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "created_at": "", "image": "mdm-spark-job", "job_name": "match-bulkmatcher", "last_updated_at": "", "id": "b10502a6-b336-4452-b15d-bbda67b95299", "input": {}, "spark_configuration": {}, "status": "Queued" }
{ "created_at": "", "image": "mdm-spark-job", "job_name": "match-bulkmatcher", "last_updated_at": "", "id": "b10502a6-b336-4452-b15d-bbda67b95299", "input": {}, "spark_configuration": {}, "status": "Queued" }
Retrieve information for a job
- This service retrieves the information about a job which is identified with the supplied job id.
- This service retrieves the information about a job which is identified with the supplied job id.
GET /mdm/v1/matching_jobs/{job_id}
ServiceCall<GetMatchingJobs> getMatchingJobInfo(GetMatchingJobInfoOptions getMatchingJobInfoOptions)
Request
Use the GetMatchingJobInfoOptions.Builder
to create a GetMatchingJobInfoOptions
object that contains the parameter values for the getMatchingJobInfo
method.
Path Parameters
The unique identifier of the job.
Example:
95364
Query Parameters
The cloud resource name of the service.
The getMatchingJobInfo options.
The unique identifier of the job.
Examples:95364
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/matching_jobs/95364?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetMatchingJobInfoOptions getMatchingJobInfoOptions = new GetMatchingJobInfoOptions.Builder() .jobId("95364") .build(); Response<GetMatchingJobs> response = mdmService.getMatchingJobInfo(getMatchingJobInfoOptions).execute(); GetMatchingJobs getMatchingJobs = response.getResult(); System.out.println(getMatchingJobs);
Response
Response object for get matching job
System defined name of a given job e.g. match-bulkderiver
System generated timestamp when a job was last updated
System generated timestamp when a job was created
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled
System generated identifier of a job
System defined image for a given job e.g. mdm-spark-job
System generated timestamp when a job was started
Summary of a job
Response object for get matching job.
System defined image for a given job e.g. mdm-spark-job.
System generated timestamp when a job was started.
System defined name of a given job e.g. match-bulkderiver.
System generated timestamp when a job was last updated.
System generated timestamp when a job was created.
Status of a job. One Of: Queued, Running, Completed, Failed, Canceled.
Summary of a job.
System generated identifier of a job.
Status Code
The request has been successfully finished.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "image": "mdm-spark-job", "job_name": "match-bulkderiver", "created_at": "2021-07-08T06:55:53.000Z", "id": "2a01507e-92a8-41c4-8568-2b3dec10889b", "last_updated_at": "2021-07-08T07:01:41.000Z", "started_at": "2021-07-08T06:55:53.000Z", "status": "Success" }
{ "image": "mdm-spark-job", "job_name": "match-bulkderiver", "created_at": "2021-07-08T06:55:53.000Z", "id": "2a01507e-92a8-41c4-8568-2b3dec10889b", "last_updated_at": "2021-07-08T07:01:41.000Z", "started_at": "2021-07-08T06:55:53.000Z", "status": "Success" }
Retrieve record ids
- This service retrieves all record_ids that are assigned with the same entity_id.
- This service retrieves all record_ids that are assigned with the same entity_id.
GET /mdm/v1/entity_ids/{entity_id}
ServiceCall<GetRecordKeys> getMatchingRecords(GetMatchingRecordsOptions getMatchingRecordsOptions)
Request
Use the GetMatchingRecordsOptions.Builder
to create a GetMatchingRecordsOptions
object that contains the parameter values for the getMatchingRecords
method.
Path Parameters
The entity identifier of an entity as assigned by the system
Example:
entity_type-123456789
Query Parameters
The cloud resource name of the service.
The getMatchingRecords options.
The entity identifier of an entity as assigned by the system.
Examples:entity_type-123456789
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/entity_ids/entity_type-123456789?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetMatchingRecordsOptions getMatchingRecordsOptions = new GetMatchingRecordsOptions.Builder() .entityId("entity_type-123456789") .build(); Response<GetRecordKeys> response = mdmService.getMatchingRecords(getMatchingRecordsOptions).execute(); GetRecordKeys getRecordKeys = response.getResult(); System.out.println(getRecordKeys);
Response
Response wrapper object for getting the record keys of a given entity_id
Collection of record number, record id and record source
Response wrapper object for getting the record keys of a given entity_id.
Collection of record number, record id and record source.
- records
The unique identifier of a source record as assigned by the system.
The identifier of the record.
The source system name of a record.
Status Code
The request has been successfully finished.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "records": [] }
{ "records": [] }
Preview entity composition
- This service provides a preview of the impacted entities by hypothesizing one or more manual link/unlink rules.
- This service provides a preview of the impacted entities by hypothesizing one or more manual link/unlink rules.
POST /mdm/v1/linkage_rules_preview
ServiceCall<Map<String, Map<String, List<String>>>> createMatchingEntityPreview(CreateMatchingEntityPreviewOptions createMatchingEntityPreviewOptions)
Request
Use the CreateMatchingEntityPreviewOptions.Builder
to create a CreateMatchingEntityPreviewOptions
object that contains the parameter values for the createMatchingEntityPreview
method.
Query Parameters
The cloud resource name of the service.
The wrapper object of linkage rules
The data type identifier of entity, ie. person_entity, organization_entity, household_entity
Collection of linkage rules
The createMatchingEntityPreview options.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity.
Collection of linkage rules.
- rules
User specified rule type. One Of: link, unlink.
Collection of record numbers.
User defined description for the linkage rule.
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/linkage_rules_preview?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"entity_type":"person_entity","{"rules":[{"record_numbers":["32995408531474430"],"rule_type":"unlink","description":"test"}]}}"
RulesRequestRule rulesRequestRuleModel = new RulesRequestRule.Builder() .ruleType("testString") .recordNumbers(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .description("testString") .build(); CreateMatchingEntityPreviewOptions createMatchingEntityPreviewOptions = new CreateMatchingEntityPreviewOptions.Builder() .rules(new java.util.ArrayList<RulesRequestRule>(java.util.Arrays.asList(rulesRequestRuleModel))) .entityType("testString") .build(); Response<Map<String, Map<String, List<String>>>> response = mdmService.createMatchingEntityPreview(createMatchingEntityPreviewOptions).execute(); Map<String, Map<String, List<String>>> mapStringMapStringListString = response.getResult(); System.out.println(mapStringMapStringListString);
Response
Response type: Map<String, Map<String, List<String>>>
Response wrapper object for previewing the impacted entities by hypothesizing one or more linkage rules
- any property
Status Code
The request has been successfully finished.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "person_entity": { "35678330629897216": [], "35678327655087104": [ "35678330629897216", "35678327655087104" ] } }
{ "person_entity": { "35678330629897216": [], "35678327655087104": [ "35678330629897216", "35678327655087104" ] } }
Add or update manual link/unlink
- This service adds or updates a collection of manual link/unlink rules.
- This service adds or updates a collection of manual link/unlink rules.
PUT /mdm/v1/linkage_rules
ServiceCall<Map<String, List<RulesEntityRule>>> replaceMatchingRule(ReplaceMatchingRuleOptions replaceMatchingRuleOptions)
Request
Use the ReplaceMatchingRuleOptions.Builder
to create a ReplaceMatchingRuleOptions
object that contains the parameter values for the replaceMatchingRule
method.
Query Parameters
The cloud resource name of the service.
The wrapper object of linkage rules
The data type identifier of entity, ie. person_entity, organization_entity, household_entity
Collection of linkage rules
The replaceMatchingRule options.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity.
Collection of linkage rules.
- rules
User specified rule type. One Of: link, unlink.
Collection of record numbers.
User defined description for the linkage rule.
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/linkage_rules?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"entity_type":"person_entity","{"rules":[{"record_numbers":["32995408531474430"],"rule_type":"unlink","description":"test"}]}}"
RulesRequestRule rulesRequestRuleModel = new RulesRequestRule.Builder() .ruleType("testString") .recordNumbers(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .description("testString") .build(); ReplaceMatchingRuleOptions replaceMatchingRuleOptions = new ReplaceMatchingRuleOptions.Builder() .rules(new java.util.ArrayList<RulesRequestRule>(java.util.Arrays.asList(rulesRequestRuleModel))) .entityType("testString") .build(); Response<Map<String, List<RulesEntityRule>>> response = mdmService.replaceMatchingRule(replaceMatchingRuleOptions).execute(); Map<String, List<RulesEntityRule>> mapStringListRulesEntityRule = response.getResult(); System.out.println(mapStringListRulesEntityRule);
Response
Response type: Map<String, List<RulesEntityRule>>
Response wrapper object for linkage rules
A single linkage rule for a given entity
- any property
System generated timestamp when the linkage rule was last updated
User specified rule type. One Of: link, unlink
One of the record numbers in linkage rule
The other record number in linkage rule
User defined description for the linkage rule
Creator of the linkage rule
Status Code
The request has been successfully finished.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "person_entity": [ { "src_recno": "35677335438998528", "target_recno": "35677332186315776", "rule_type": "LINK", "description": "string", "user": "user1", "last_updated": "1605178647780" } ] }
{ "person_entity": [ { "src_recno": "35677335438998528", "target_recno": "35677332186315776", "rule_type": "LINK", "description": "string", "user": "user1", "last_updated": "1605178647780" } ] }
Remove manual link/unlink
- This service removes one or more manual link/unlink rules supplied by user.
- This service removes one or more manual link/unlink rules supplied by user.
POST /mdm/v1/delete_linkage_rules
ServiceCall<Map<String, List<RulesEntityRule>>> deleteMatchingRule(DeleteMatchingRuleOptions deleteMatchingRuleOptions)
Request
Use the DeleteMatchingRuleOptions.Builder
to create a DeleteMatchingRuleOptions
object that contains the parameter values for the deleteMatchingRule
method.
Query Parameters
The cloud resource name of the service.
The wrapper object of linkage rules
The data type identifier of entity, ie. person_entity, organization_entity, household_entity
Collection of linkage rules
The deleteMatchingRule options.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity.
Collection of linkage rules.
- rules
User specified rule type. One Of: link, unlink.
Collection of record numbers.
User defined description for the linkage rule.
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/delete_linkage_rules?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"entity_type":"person_entity","{"rules":[{"record_numbers":["32995408531474430"],"rule_type":"unlink","description":"test"}]}}"
RulesRequestRule rulesRequestRuleModel = new RulesRequestRule.Builder() .ruleType("testString") .recordNumbers(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .description("testString") .build(); DeleteMatchingRuleOptions deleteMatchingRuleOptions = new DeleteMatchingRuleOptions.Builder() .rules(new java.util.ArrayList<RulesRequestRule>(java.util.Arrays.asList(rulesRequestRuleModel))) .entityType("testString") .build(); Response<Map<String, List<RulesEntityRule>>> response = mdmService.deleteMatchingRule(deleteMatchingRuleOptions).execute(); Map<String, List<RulesEntityRule>> mapStringListRulesEntityRule = response.getResult(); System.out.println(mapStringListRulesEntityRule);
Response
Response type: Map<String, List<RulesEntityRule>>
Response wrapper object for linkage rules
A single linkage rule for a given entity
- any property
System generated timestamp when the linkage rule was last updated
User specified rule type. One Of: link, unlink
One of the record numbers in linkage rule
The other record number in linkage rule
User defined description for the linkage rule
Creator of the linkage rule
Status Code
The request has been successfully finished.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "person_entity": [ { "src_recno": "35677335438998528", "target_recno": "35677332186315776", "rule_type": "LINK", "description": "string", "user": "user1", "last_updated": "1605178647780" } ] }
{ "person_entity": [ { "src_recno": "35677335438998528", "target_recno": "35677332186315776", "rule_type": "LINK", "description": "string", "user": "user1", "last_updated": "1605178647780" } ] }
Retrieve an entity's manual links/unlinks
- This service retrieves all manual link/unlink rules for specified entity.
- This service retrieves all manual link/unlink rules for specified entity.
GET /mdm/v1/entities/{entity_id}/linkage_rules
ServiceCall<Map<String, List<RulesEntityRule>>> listMatchingRules(ListMatchingRulesOptions listMatchingRulesOptions)
Request
Use the ListMatchingRulesOptions.Builder
to create a ListMatchingRulesOptions
object that contains the parameter values for the listMatchingRules
method.
Path Parameters
The entity identifier of an entity as assigned by the system
Example:
person_entity-1234
Query Parameters
The cloud resource name of the service.
The listMatchingRules options.
The entity identifier of an entity as assigned by the system.
Examples:person_entity-1234
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/entities/{entity_id}/linkage_rules?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&entity_id=person_entity-1234"
ListMatchingRulesOptions listMatchingRulesOptions = new ListMatchingRulesOptions.Builder() .entityId("person_entity-1234") .build(); Response<Map<String, List<RulesEntityRule>>> response = mdmService.listMatchingRules(listMatchingRulesOptions).execute(); Map<String, List<RulesEntityRule>> mapStringListRulesEntityRule = response.getResult(); System.out.println(mapStringListRulesEntityRule);
Response
Response type: Map<String, List<RulesEntityRule>>
Response wrapper object for linkage rules
A single linkage rule for a given entity
- any property
System generated timestamp when the linkage rule was last updated
User specified rule type. One Of: link, unlink
One of the record numbers in linkage rule
The other record number in linkage rule
User defined description for the linkage rule
Creator of the linkage rule
Status Code
The request has been successfully finished.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "person_entity": [ { "last_updated": "1611866992413", "rule_type": "UNLINK", "src_recno": "42690607485214720", "description": "string", "target_recno": "42690601550274560", "user": "admin" } ] }
{ "person_entity": [ { "last_updated": "1611866992413", "rule_type": "UNLINK", "src_recno": "42690607485214720", "description": "string", "target_recno": "42690601550274560", "user": "admin" } ] }
Retrieve a record's manual links/unlinks
- This service retrieves all manual link/unlink rules for given record and entity type.
- This service retrieves all manual link/unlink rules for given record and entity type.
GET /mdm/v1/records/{record_number}/linkage_rules
ServiceCall<Map<String, List<RulesEntityRule>>> getMatchingRecordRules(GetMatchingRecordRulesOptions getMatchingRecordRulesOptions)
Request
Use the GetMatchingRecordRulesOptions.Builder
to create a GetMatchingRecordRulesOptions
object that contains the parameter values for the getMatchingRecordRules
method.
Path Parameters
The unique identifier of a source record as assigned by the system
Example:
123456789
Query Parameters
The cloud resource name of the service.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity
Example:
entity-type
The getMatchingRecordRules options.
The unique identifier of a source record as assigned by the system.
Examples:123456789
The data type identifier of entity, ie. person_entity, organization_entity, household_entity.
Examples:entity-type
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/records/{record_number}/linkage_rules?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&record_number=123456789&entity_type=person_entity"
GetMatchingRecordRulesOptions getMatchingRecordRulesOptions = new GetMatchingRecordRulesOptions.Builder() .recordNumber(Long.valueOf("123456789")) .entityType("entity-type") .build(); Response<Map<String, List<RulesEntityRule>>> response = mdmService.getMatchingRecordRules(getMatchingRecordRulesOptions).execute(); Map<String, List<RulesEntityRule>> mapStringListRulesEntityRule = response.getResult(); System.out.println(mapStringListRulesEntityRule);
Response
Response type: Map<String, List<RulesEntityRule>>
Response wrapper object for linkage rules
A single linkage rule for a given entity
- any property
System generated timestamp when the linkage rule was last updated
User specified rule type. One Of: link, unlink
One of the record numbers in linkage rule
The other record number in linkage rule
User defined description for the linkage rule
Creator of the linkage rule
Status Code
The request has been successfully finished.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "person_entity": [ { "src_recno": "35677335438998529", "target_recno": "35677332186315776", "rule_type": "LINK", "description": "string", "user": "user2", "last_updated": "1605178647781" } ] }
{ "person_entity": [ { "src_recno": "35677335438998529", "target_recno": "35677332186315776", "rule_type": "LINK", "description": "string", "user": "user2", "last_updated": "1605178647781" } ] }
Compare pairs of records
- This service compares the input pairs of records and returns comparison details.
- This service supports comparing multiple pairs of records by supplying pairs of record numbers in the payload.
- This service compares the input pairs of records and returns comparison details.
- This service supports comparing multiple pairs of records by supplying pairs of record numbers in the payload.
POST /mdm/v1/batch_compare
ServiceCall<BatchComparePairsResponse> batchCompareMatchingIndex(BatchCompareMatchingIndexOptions batchCompareMatchingIndexOptions)
Request
Use the BatchCompareMatchingIndexOptions.Builder
to create a BatchCompareMatchingIndexOptions
object that contains the parameter values for the batchCompareMatchingIndex
method.
Query Parameters
The cloud resource name of the service.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity
Example:
person_entity
The level of information detail in response, ie. low, high, debug
Default:
low
The data type identifier of source records, ie. person, organization, contract
Default:
person
Example:
person
The wrapper Object for pairs of record numbers
{
"pairs": [
{
"record_number1": 123,
"record_number2": 456
},
{
"record_number1": 321,
"record_number2": 654
}
]
}
Collection of pairs of record numbers
The batchCompareMatchingIndex options.
Collection of pairs of record numbers.
Examples:[ { "record_number1": 123, "record_number2": 456 }, { "record_number1": 321, "record_number2": 654 } ]
- pairs
The record number of first record.
The record number of second record.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity.
Examples:person_entity
The level of information detail in response, ie. low, high, debug.
Default:
low
The data type identifier of source records, ie. person, organization, contract.
Default:
person
Examples:person
BatchComparePairsRequestPair batchComparePairsRequestPairModel = new BatchComparePairsRequestPair.Builder() .recordNumber1("123") .recordNumber2("456") .build(); BatchCompareMatchingIndexOptions batchCompareMatchingIndexOptions = new BatchCompareMatchingIndexOptions.Builder() .pairs(new java.util.ArrayList<BatchComparePairsRequestPair>(java.util.Arrays.asList(batchComparePairsRequestPairModel))) .entityType("person_entity") .recordType("person") .build(); Response<BatchComparePairsResponse> response = mdmService.batchCompareMatchingIndex(batchCompareMatchingIndexOptions).execute(); BatchComparePairsResponse batchComparePairsResponse = response.getResult(); System.out.println(batchComparePairsResponse);
Response
The wrapper object for the comparison details of the pairs compared
Collection of details of pairs comparisons
The wrapper object for the comparison details of the pairs compared.
Collection of details of pairs comparisons.
- comparisonDetails
Collection of comparators used for comparing the records.
- compareMethods
The maximum comparison score computed for the current comparator.
Collection of compare methods in the same comparison group.
- methods
Collection of details of all compared values.
- comparisons
Collection of feature outcomes of the current compared values.
Collection of details of compared tokens.
The distance measure of compared values.
The comparison score of compared values.
Pair of compared values.
Pair of attribute types.
The comparison score of the current compare method.
Internal identifier of a compare method.
The name of a comparator e.g. name_compare.
The overall comparison score of the record(s).
Status Code
The request has been successfully finished.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "comparison_scores": [ { "score": 331.33, "score_category": "matched" }, { "score": 80, "score_category": "unmatched" } ] }
{ "comparison_scores": [ { "score": 331.33, "score_category": "matched" }, { "score": 80, "score_category": "unmatched" } ] }
Compare records
- This service compares the input records and returns comparison details.
- This service supports comparing two records by supplying payload or record_id.
- This service also supports self comparison of a single input record.
- This service compares the input records and returns comparison details.
- This service supports comparing two records by supplying payload or record_id.
- This service also supports self comparison of a single input record.
POST /mdm/v1/compare
ServiceCall<Compare> compareMatchingIndex(CompareMatchingIndexOptions compareMatchingIndexOptions)
Request
Use the CompareMatchingIndexOptions.Builder
to create a CompareMatchingIndexOptions
object that contains the parameter values for the compareMatchingIndex
method.
Query Parameters
The cloud resource name of the service.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity
Example:
person_entity
The level of information detail in response, ie. low, high, debug
Default:
low
The unique identifier of the first source record as assigned by the system
Example:
123456789
The unique identifier of the second source record as assigned by the system
Example:
123456789
The data type identifier of source records, ie. person, organization, contract
Default:
person
Example:
person
The wrapper object for collection of records
{
"records": [
{
"record_type": "person",
"attributes": {
"record_source": "MDM",
"record_id": "2",
"record_last_updated": 1506982103000,
"birth_date": [
{
"value": "11/05/1993"
}
],
"gender": [
{
"value": "male"
}
],
"primary_residence": [
{
"record_start": " ",
"address_line1": "7908 NE VAN TRUMP AVE",
"city": "LEFOR",
"province_state": "Texas"
}
]
}
}
]
}
Collection of records
The compareMatchingIndex options.
Collection of records.
Examples:[ { "record_type": "person", "attributes": { "record_source": "MDM", "record_id": "2", "record_last_updated": 1506982103000, "birth_date": [ { "value": "11/05/1993" } ], "gender": [ { "value": "male" } ], "primary_residence": [ { "record_start": " ", "address_line1": "7908 NE VAN TRUMP AVE", "city": "LEFOR", "province_state": "Texas" } ] } } ]
- records
The data type identifier of the record, ie. person, organization.
Details of a single record including external record reference and record attributes.
- attributes
System generated timestamp when the record was last updated.
The identifier of the record.
The source system name of a record.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity.
Examples:person_entity
The level of information detail in response, ie. low, high, debug.
Default:
low
The unique identifier of the first source record as assigned by the system.
Examples:123456789
The unique identifier of the second source record as assigned by the system.
Examples:123456789
The data type identifier of source records, ie. person, organization, contract.
Default:
person
Examples:person
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/compare?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&details=debug&entity_type=person_entity&record_number1=1234567890&record_number2=1234567899&record_type=person" --data "{"records":[{"record_type":"person","attributes":{"record_source":"MDM","record_id":"6","record_last_updated":"2017-10-02 18:08:23.638","birth_date":[{"value":"1961-08-24T00:00:00"}],"gender":[{"value":"mALe"}],"primary_residence":[{"record_start":"2017-10-02 18:08:23.689","record_last_updated":"2017-10-02 18:08:23.69","residence":"condo","address_line1":"7959 SW King AVE","city":"Toronto","zip_postal_code":"L5D4K8","residence_number":"120","province_state":"ON","county":"Peel","country":"canada"}],"home_telephone":[{"record_start":"2017-10-02 18:08:23.793","record_last_updated":"2017-10-02 18:08:23.793","phone_number":"905-722-5903","contact_method":"Telephone Number"}],"mobile_telephone":[{"record_start":"2017-10-02 18:08:23.793","record_last_updated":"2017-10-02 18:08:23.793","phone_number":"416-722-5903","contact_method":"Telephone Number"}],"personal_email":[{"record_last_updated":"2017-10-02 18:08:23.651","usageValue":"personal_email","email_id":"brownb@us.ibm.com","record_start":"2017-10-02 18:08:23.651","usageType":"6"}],"social_security_number":[{"record_last_updated":"2017-10-02 18:08:23.651","usageValue":"social_security_number","identification_number":"982588729873","record_start":"2017-10-02 18:08:23.651","usageType":"6"}],"drivers_licence":[{"record_last_updated":"2017-10-02 18:08:23.651","usageValue":"drivers_licence","identification_number":"803356781","record_start":"2017-10-02 18:08:23.651","usageType":"6"}],"passport":[{"record_last_updated":"2017-10-02 18:08:23.651","usageValue":"passport","identification_number":"EG346ASS9820M","record_start":"2017-10-02 18:08:23.651","usageType":"6"}],"legal_name":[{"record_start":"2017-10-02 18:08:23.641","record_last_updated":"2017-10-02 18:08:23.641","generation":"phd","usage":"Legal","prefix":"rev","given_name":"Bobby","middle_name":"Don","last_name":"Brown","suffix":"2d"}]}},{"record_type":"person","attributes":{"record_source":"MDMx","record_id":"7","record_last_updated":"2017-10-02 18:08:23.638","birth_date":[{"value":"1961-08-23T00:00:00"}],"gender":[{"value":"mALe"}],"primary_residence":[{"record_start":"2017-10-02 18:08:23.689","record_last_updated":"2017-10-02 18:08:23.69","residence":"condo","address_line1":"7950 SW King AVE","city":"Toronto","zip_postal_code":"L5D4K8","residence_number":"120","province_state":"ON","county":"Peel","country":"canada"}],"home_telephone":[{"record_start":"2017-10-02 18:08:23.793","record_last_updated":"2017-10-02 18:08:23.793","phone_number":"905-722-5903","contact_method":"Telephone Number"}],"personal_email":[{"record_last_updated":"2017-10-02 18:08:23.651","usageValue":"personal_email","email_id":"brownb@us.ibm.com","record_start":"2017-10-02 18:08:23.651","usageType":"6"}],"legal_name":[{"record_start":"2017-10-02 18:08:23.641","record_last_updated":"2017-10-02 18:08:23.641","generation":"phd","usage":"Legal","prefix":"rev","given_name":"Boby","middle_name":"Don","last_name":"Brown","suffix":"2d"}]}}]}"
SingleRecordRequestAttributes singleRecordRequestAttributesModel = new SingleRecordRequestAttributes.Builder() .recordLastUpdated(Long.valueOf("1506982103000")) .recordId("2") .recordSource("MDM") .add("birth_date", "[{\"value\":\"11/05/1993\"}]") .add("gender", "[{\"value\":\"male\"}]") .add("primary_residence", "[{\"record_start\":\" \",\"address_line1\":\"7908 NE VAN TRUMP AVE\",\"city\":\"LEFOR\",\"province_state\":\"Texas\"}]") .build(); SingleRecordRequest singleRecordRequestModel = new SingleRecordRequest.Builder() .recordType("person") .attributes(singleRecordRequestAttributesModel) .build(); CompareMatchingIndexOptions compareMatchingIndexOptions = new CompareMatchingIndexOptions.Builder() .records(new java.util.ArrayList<SingleRecordRequest>(java.util.Arrays.asList(singleRecordRequestModel))) .entityType("person_entity") .recordNumber1(Long.valueOf("123456789")) .recordNumber2(Long.valueOf("123456789")) .recordType("person") .build(); Response<Compare> response = mdmService.compareMatchingIndex(compareMatchingIndexOptions).execute(); Compare compare = response.getResult(); System.out.println(compare);
Response
Response object for comparing records
The overall comparison score of the record(s)
Collection of comparators used for comparing the records
Response object for comparing records.
Collection of comparators used for comparing the records.
- compareMethods
The maximum comparison score computed for the current comparator.
Collection of compare methods in the same comparison group.
- methods
Collection of details of all compared values.
- comparisons
Collection of feature outcomes of the current compared values.
Collection of details of compared tokens.
The distance measure of compared values.
The comparison score of compared values.
Pair of compared values.
Pair of attribute types.
The comparison score of the current compare method.
Internal identifier of a compare method.
The name of a comparator e.g. name_compare.
The overall comparison score of the record(s).
Status Code
The request has been successfully finished.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "score": 230.32, "score_category": "matched" }
{ "score": 230.32, "score_category": "matched" }
Search records by matching algorithm
- This service searches for the supplied payload and returns record_ids of potential matches.
- The order of record_ids in the response is determined by matching algorithms.
- This service searches for the supplied payload and returns record_ids of potential matches.
- The order of record_ids in the response is determined by matching algorithms.
POST /mdm/v1/probabilistic_search
ServiceCall<PostSearch> searchMatchingIndex(SearchMatchingIndexOptions searchMatchingIndexOptions)
Request
Use the SearchMatchingIndexOptions.Builder
to create a SearchMatchingIndexOptions
object that contains the parameter values for the searchMatchingIndex
method.
Query Parameters
The cloud resource name of the service.
The level of information detail in response, ie. low, high, debug
Default:
low
The minimum score to filter the matching records in the results. The default min_score is 0.
The maximum score to filter the matching records in the results. The default max_score is 32767.
The number of entries to skip before returning a page of results. The default offset is 0.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity
Default:
person_entity
The maximum expected number of entries in each page of results. The default limit is 20.
The wrapper Object for a single record
{
"record_type": "person",
"attributes": {
"record_source": "MDM",
"record_id": "2",
"record_last_updated": 1506982103000,
"birth_date": [
{
"value": "1964-08-21T00:00:00.000Z"
}
],
"gender": [
{
"value": "mALe"
}
],
"legal_name": [
{
"record_start": "017-10-02 18:08:23.689",
"generation": "NEWBORN",
"given_name": [
"GIRL1",
"GIRL1",
"GIRL2",
"GIRL3",
"GIRL4"
],
"middle_name": "BABYGIRL"
}
]
}
}
The data type identifier of the record, ie. person, organization
Details of a single record including external record reference and record attributes
- attributes
The searchMatchingIndex options.
The data type identifier of the record, ie. person, organization.
Examples:person
Details of a single record including external record reference and record attributes.
Examples:{ "record_source": "MDM", "record_id": "2", "record_last_updated": 1506982103000, "birth_date": [ { "value": "1964-08-21 00:00:00" } ], "gender": [ { "value": "mALe" } ], "legal_name": [ { "record_start": "017-10-02 18:08:23.689", "generation": "NEWBORN", "given_name": [ "GIRL1", "GIRL1", "GIRL2", "GIRL3", "GIRL4" ], "middle_name": "BABYGIRL" } ] }
- attributes
System generated timestamp when the record was last updated.
The identifier of the record.
The source system name of a record.
The level of information detail in response, ie. low, high, debug.
Default:
low
The minimum score to filter the matching records in the results. The default min_score is 0.
The maximum score to filter the matching records in the results. The default max_score is 32767.
The number of entries to skip before returning a page of results. The default offset is 0.
The data type identifier of entity, ie. person_entity, organization_entity, household_entity.
Default:
person_entity
The maximum expected number of entries in each page of results. The default limit is 20.
curl -X POST --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/probabilistic_search?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"record_type":"person","attributes":{"record_source":"PERSONLIST","record_id":"101","birth_date":[{"value":"2007-01-02"}],"gender":[{"value":"F"}],"primary_residence":[{"address_line1":"232 S RICHELIEU ST.E","city":"PORT NORRIS","zip_postal_code":"8349","province_state":"NJ"}],"business_address":[{"address_line1":"9852 WEST DORSET STREET","city":"SHADE GAP","zip_postal_code":"17255","province_state":"PA"}],"home_telephone":[{"phone_number":"248-0677"}],"social_security_number":[{"identification_number":"117-85-3320"}],"health_card":[{"identification_number":"788-71-4075"}],"legal_name":[{"given_name":"MARGUERITE","last_name":"NICKLES"}]}}"
SingleRecordRequestAttributes singleRecordRequestAttributesModel = new SingleRecordRequestAttributes.Builder() .recordLastUpdated(Long.valueOf("1506982103000")) .recordId("2") .recordSource("MDM") .add("birth_date", "[{\"value\":\"1964-08-21 00:00:00\"}]") .add("gender", "[{\"value\":\"mALe\"}]") .add("legal_name", "[{\"record_start\":\"017-10-02 18:08:23.689\",\"generation\":\"NEWBORN\",\"given_name\":[\"GIRL1\",\"GIRL1\",\"GIRL2\",\"GIRL3\",\"GIRL4\"],\"middle_name\":\"BABYGIRL\"}]") .build(); SearchMatchingIndexOptions searchMatchingIndexOptions = new SearchMatchingIndexOptions.Builder() .recordType("person") .attributes(singleRecordRequestAttributesModel) .build(); Response<PostSearch> response = mdmService.searchMatchingIndex(searchMatchingIndexOptions).execute(); PostSearch postSearch = response.getResult(); System.out.println(postSearch);
Response
Response object for searching the potential matches of a given search criteria
Collection of records matching the search criteria
Response object for searching the potential matches of a given search criteria.
Collection of records matching the search criteria.
- records
Collection of comparators for a potential match record.
- compareMethods
The maximum comparison score computed for the current comparator.
Collection of compare methods in the same comparison group.
- methods
Collection of details of all compared values.
- comparisons
Collection of feature outcomes of the current compared values.
Collection of details of compared tokens.
The distance measure of compared values.
The comparison score of compared values.
Pair of compared values.
Pair of attribute types.
The comparison score of the current compare method.
Internal identifier of a compare method.
The name of a comparator e.g. name_compare.
The identifier of the record.
The source system name of a record.
The overall comparison score of the record.
Status Code
The request has been successfully finished.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "records": [ { "record_id": "101", "score": 238, "record_source": "PERSONLIST" }, { "record_id": "1", "score": 238, "record_source": "PERSONLIST" } ] }
{ "records": [ { "record_id": "101", "score": 238, "record_source": "PERSONLIST" }, { "record_id": "1", "score": 238, "record_source": "PERSONLIST" } ] }
Retrieve record types of all the matching algorithms
- This service retrieves the record types of all the matching algorithms present.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
- This service retrieves the record types of all the matching algorithms present.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
GET /mdm/v1/algorithms
ServiceCall<AlgorithmNames> listModelAlgorithms(ListModelAlgorithmsOptions listModelAlgorithmsOptions)
Request
Use the ListModelAlgorithmsOptions.Builder
to create a ListModelAlgorithmsOptions
object that contains the parameter values for the listModelAlgorithms
method.
Query Parameters
The cloud resource name of the service.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/algorithms?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListModelAlgorithmsOptions listModelAlgorithmsOptions = new ListModelAlgorithmsOptions(); Response<AlgorithmNames> response = mdmService.listModelAlgorithms(listModelAlgorithmsOptions).execute(); AlgorithmNames algorithmNames = response.getResult(); System.out.println(algorithmNames);
Response
Response wrapper object for all algorithm names
Collection of algorithm names
Response wrapper object for all algorithm names.
Collection of algorithm names.
Status Code
The algorithms' record types has been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "algorithm_names": [ "organization", "person" ] }
{ "algorithm_names": [ "organization", "person" ] }
Retrieve the matching algorithm
- This service retrieves the matching algorithm for a given record type.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
- This service retrieves the matching algorithm for a given record type.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
GET /mdm/v1/algorithms/{record_type}
ServiceCall<Algorithm> getModelAlgorithm(GetModelAlgorithmOptions getModelAlgorithmOptions)
Request
Use the GetModelAlgorithmOptions.Builder
to create a GetModelAlgorithmOptions
object that contains the parameter values for the getModelAlgorithm
method.
Path Parameters
The data type identifier of source records, ie. person, organization, contract
Query Parameters
The cloud resource name of the service.
response will return the default template algorithm when set to true
Default:
false
The getModelAlgorithm options.
The data type identifier of source records, ie. person, organization, contract.
response will return the default template algorithm when set to true.
Default:
false
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/algorithms/person?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetModelAlgorithmOptions getModelAlgorithmOptions = new GetModelAlgorithmOptions.Builder() .recordType("testString") .build(); Response<Algorithm> response = mdmService.getModelAlgorithm(getModelAlgorithmOptions).execute(); Algorithm algorithm = response.getResult(); System.out.println(algorithm);
Response
The matching algorithm for a given record type (i.e. person)
Collection of entity type definitions
- entity_types
A single entity type definition
Asymmetric encryption configuration
Collection of standardizer definitions
- standardizers
A single standardizer definition
The request language and location (i.e. enUS)
The matching algorithm for a given record type (i.e. person).
Collection of entity type definitions.
- entityTypes
Collection of bucket generators.
- bucketGenerators
User defined translatable label.
Collection of input definitions used for bucket generator.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of bucket generator steps.
- bucketRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of field names.
A bucket generator method. One of: BucketGenerator.StopToken, BucketGenerator.NGram, BucketGenerator.Normphone, BucketGenerator.PickToken or BucketGenerator.MapToken.
Collection of bucket group generator steps.
- bucketGroupRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of collection of field names.
A bucket generator method. Accepted value is BucketGenerator.StopToken.
An integer value indicating maximum size of any buckets of this type.
The minimum matching score between two records for clerical review.
The minimum matching score between two records to automatically link them together.
Collection of comparators.
- compareMethods
Collection of compare methods, considered in the same group.
- methods
Collection of input definitions used for this method.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of compare method steps.
- compareRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names.
A compare method. One of: CompareMethod.AddressCompare, CompareMethod.DateCompare, CompareMethod.EmailCompare, CompareMethod.SingleTokenCompare or CompareMethod.NameCompare.
User defined translatable label.
An array of 11 weights that map to the distance measures from 0 to 10.
Collection of post filter methods.
- postFilterMethods
User defined translatable label.
Collection of input definitions used for post_filter_method.
- inputs
A single compare method existing in compare_methods.
Collection of post filter steps.
- filterRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
An array of weights composed of distances and values.
- weights
distances.
values.
maximum value for a distance.
Some required resources.
A post filter method name.
Asymmetric encryption configuration.
- encryption
Asymmetric encryption sub type (i.e. Deterministic).
Asymmetric encryption public keys.
Asymmetric encryption enabled indicator, true or false.
Asymmetric encryption type (i.e. RSA).
Collection of standardizer definitions.
- standardizers
User defined translatable label.
Collection of input definitions used for standardization.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of standardizer steps.
- standardizerRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names. The default values are all fields in the given inputs.
A standardizer method. One of: Standardizer.UpperCase, Standardizer.Tokenizer, Standardizer.StopToken, Standardizer.StopCharacter, Standardizer.PickToken, Standardizer.Phone, Standardizer.ParseToken, Standardizer.MapToken, Standardizer.MapCharacter, Standardizer.LowerCase, Standardizer.Length, Standardizer.KeepToken, Standardizer.JoinToken, Standardizer.GNM, Standardizer.Date, Standardizer.Acronym, Standardizer.AlphaNumericTokenizer or Standardizer.NumToWord.
The request language and location (i.e. enUS).
Status Code
The algorithm has been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "locale": "en_us", "encryption": {}, "standardizers": {}, "entity_types": {} }
{ "locale": "en_us", "encryption": {}, "standardizers": {}, "entity_types": {} }
Overwrite the matching algorithm
- This service completely overwrites the matching algorithm for a given record type.
- A matching algorithm defines how two records of a given type are compared.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
- This service completely overwrites the matching algorithm for a given record type.
- A matching algorithm defines how two records of a given type are compared.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
PUT /mdm/v1/algorithms/{record_type}
ServiceCall<PutAlgorithm> replaceModelAlgorithm(ReplaceModelAlgorithmOptions replaceModelAlgorithmOptions)
Request
Use the ReplaceModelAlgorithmOptions.Builder
to create a ReplaceModelAlgorithmOptions
object that contains the parameter values for the replaceModelAlgorithm
method.
Path Parameters
The data type identifier of source records, ie. person, organization, contract
Query Parameters
The cloud resource name of the service.
The matching algorithm for a given record type (i.e. person)
Collection of entity type definitions
- entity_types
A single entity type definition
Asymmetric encryption configuration
Collection of standardizer definitions
- standardizers
A single standardizer definition
The request language and location (i.e. enUS)
The replaceModelAlgorithm options.
The data type identifier of source records, ie. person, organization, contract.
Collection of entity type definitions.
- entityTypes
Collection of bucket generators.
- bucketGenerators
User defined translatable label.
Collection of input definitions used for bucket generator.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of bucket generator steps.
- bucketRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of field names.
A bucket generator method. One of: BucketGenerator.StopToken, BucketGenerator.NGram, BucketGenerator.Normphone, BucketGenerator.PickToken or BucketGenerator.MapToken.
Collection of bucket group generator steps.
- bucketGroupRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of collection of field names.
A bucket generator method. Accepted value is BucketGenerator.StopToken.
An integer value indicating maximum size of any buckets of this type.
The minimum matching score between two records for clerical review.
The minimum matching score between two records to automatically link them together.
Collection of comparators.
- compareMethods
Collection of compare methods, considered in the same group.
- methods
Collection of input definitions used for this method.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of compare method steps.
- compareRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names.
A compare method. One of: CompareMethod.AddressCompare, CompareMethod.DateCompare, CompareMethod.EmailCompare, CompareMethod.SingleTokenCompare or CompareMethod.NameCompare.
User defined translatable label.
An array of 11 weights that map to the distance measures from 0 to 10.
Collection of post filter methods.
- postFilterMethods
User defined translatable label.
Collection of input definitions used for post_filter_method.
- inputs
A single compare method existing in compare_methods.
Collection of post filter steps.
- filterRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
An array of weights composed of distances and values.
- weights
distances.
values.
maximum value for a distance.
Some required resources.
A post filter method name.
Asymmetric encryption configuration.
- encryption
Asymmetric encryption sub type (i.e. Deterministic).
Asymmetric encryption public keys.
Asymmetric encryption enabled indicator, true or false.
Asymmetric encryption type (i.e. RSA).
Collection of standardizer definitions.
- standardizers
User defined translatable label.
Collection of input definitions used for standardization.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of standardizer steps.
- standardizerRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names. The default values are all fields in the given inputs.
A standardizer method. One of: Standardizer.UpperCase, Standardizer.Tokenizer, Standardizer.StopToken, Standardizer.StopCharacter, Standardizer.PickToken, Standardizer.Phone, Standardizer.ParseToken, Standardizer.MapToken, Standardizer.MapCharacter, Standardizer.LowerCase, Standardizer.Length, Standardizer.KeepToken, Standardizer.JoinToken, Standardizer.GNM, Standardizer.Date, Standardizer.Acronym, Standardizer.AlphaNumericTokenizer or Standardizer.NumToWord.
The request language and location (i.e. enUS).
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/algorithm/person?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"locale":"en_us","encryption":{"enabled":true,"type":"RSA","sub_type":"Deterministic","pub_key":["59268009512619467129490841773957547832260510507986184641685362733218475996133","15532435938367556669"]},"standardizers":{"name_standardizer":{"label":"Person Name Standardizer","inputs":[{"fields":["last_name","full_name","given_name","middle_name","prefix","suffix","generation"], "attributes":["legal_name","previous_name"]}],"standardizer_recipe":[{"method":"Standardizer.UpperCase","label":"Uppercase","inputs":[1]},{"method":"Standardizer.MapCharacter","label":"Map equivalent Character","map_resource":"person_map_character_general","inputs":[1]},{"method":"Standardizer.Tokenizer","delimiters":[" ","-","/",",","."],"label":"Tokenization","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["given_name","full_name","middle_name","last_name","prefix","suffix","generation"],"drop_unparsed_values":false,"label":"Parse Token","map_resource":"person_map_name_alignments","inputs":[1]},{"method":"Standardizer.Length","min_length":2,"max_length":100,"fields":["last_name"],"label":"Remove single characters from last name","inputs":[1]},{"method":"Standardizer.StopToken","fields":["last_name","given_name","middle_name","prefix","suffix","generation","full_name"],"label":"Stop anonymous token","set_resource":"person_set_name_aname","inputs":[1]},{"method":"Standardizer.PickToken","fields":["last_name","given_name","middle_name","prefix","suffix","generation","full_name"],"unique_tokens":true,"label":"Pick Token","inputs":[1]}]},"birthdate_standardizer":{"label":"BirthDate Standardizer","inputs":[{"fields":["value"],"attributes":["birth_date"]}],"standardizer_recipe":[{"method":"Standardizer.MapCharacter","label":"Convert separators to dashes","map_resource":"person_map_character_date_separators","inputs":[1]},{"method":"Standardizer.Date","input_formats":["d-M-yyyy","yyyy-M-d","M-d-yyyy","yy-M-d","d-M","M-yyyy","MMM d, yyyy","yyyy-M-d'T'HH:mm:ss","yyyy-M-d HH:mm:ss","MMM d","M-yy","yyyy","yy"],"label":"Date Stanardization","inputs":[1]},{"method":"Standardizer.StopToken","label":"Remove filler dates","set_resource":"person_set_date_date","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["value"],"drop_unparsed_values":true,"label":"Parse year, month, day","map_resource":"person_map_date_tokens_year_month_day","inputs":[1]},{"method":"Standardizer.PickToken","fields":["birth_year","birth_month","birth_day"],"count":3,"unique_tokens":true,"label":"Pick Token","inputs":[1]}]},"gender_standardizer":{"label":"Gender Standardizer","inputs":[{"fields":["value"],"attributes":["gender"]}],"standardizer_recipe":[{"method":"Standardizer.MapCharacter","label":"Map equivalent Character","map_resource":"person_map_character_general","inputs":[1]},{"method":"Standardizer.UpperCase","label":"Uppercase","inputs":[1]},{"method":"Standardizer.StopToken","label":"Stop anonymous Token","set_resource":"person_set_gender_anon_gender","inputs":[1]},{"method":"Standardizer.MapToken","label":"Map equivalent Token","map_resource":"person_map_gender_gender","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["value"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_gender_tokens_gender","inputs":[1]},{"method":"Standardizer.PickToken","fields":["gender"],"count":1,"unique_tokens":true,"label":"Pick Token","inputs":[1]}]},"address_standardizer":{"label":"Address Standardizer","inputs":[{"fields":["residence_number","address_line1","address_line2","address_line3","city","province_state","zip_postal_code","country","latitude_degrees","longitude_degrees"],"attributes":["primary_residence","mailing_address"]}],"standardizer_recipe":[{"method":"Standardizer.UpperCase","label":"Uppercase","inputs":[1]},{"method":"Standardizer.MapCharacter","label":"Map equivalent Character","map_resource":"person_map_character_general","inputs":[1]},{"method":"Standardizer.MapToken","fields":["country"],"label":"Map equivalent Token","map_resource":"person_map_address_country","inputs":[1]},{"method":"Standardizer.MapToken","fields":["province_state"],"label":"Map equivalent Token","map_resource":"person_map_address_province_state","inputs":[1]},{"method":"Standardizer.MapToken","label":"Map equivalent Token","map_resource":"person_map_address_delimiter_removal","inputs":[1]},{"method":"Standardizer.Tokenizer","delimiters":[" "],"label":"Tokenization","inputs":[1]},{"method":"Standardizer.MapToken","label":"Map equivalent Token","map_resource":"person_map_address_addr_tok","inputs":[1]},{"method":"Standardizer.StopToken","fields":["zip_postal_code"],"label":"Stop anonymous Word in ZipPostalCode","set_resource":"person_set_address_postal_code","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["residence_number"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_unit_type_and_number","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["address_line1"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_unit_type_and_number","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["address_line2"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_sub_division","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["address_line3"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_pobox_type_and_number","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["city"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_city","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["province_state"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_province","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["zip_postal_code"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_postal_code","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["country"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_country","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["latitude_degrees"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_latitude","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["longitude_degrees"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_address_tokens_longtitude","inputs":[1]},{"method":"Standardizer.PickToken","fields":["unit_number","street_number","street_name","direction","street_type","pobox","postal_code","city","province","sub_division","country"],"count":16,"unique_tokens":true,"label":"Pick Token","inputs":[1]},{"method":"Standardizer.PickToken","fields":["latitude","longtitude"],"count":2,"unique_tokens":true,"label":"Pick Token","inputs":[1]}]},"phone_standardizer":{"label":"Phone Standardizer","inputs":[{"fields":["phone_number"],"attributes":["home_telephone","mobile_telephone"]}],"standardizer_recipe":[{"method":"Standardizer.StopCharacter","label":"Replace all characters except alphanumeric","set_resource":"person_set_character_phone","inputs":[1]},{"method":"Standardizer.StopToken","label":"Ignore anonymous phones","set_resource":"person_set_phone_anon_phone","inputs":[1]},{"method":"Standardizer.Phone","locales":["US","CN","GB","CA"],"drop_country_code":true,"drop_area_code":true,"drop_local_number":false,"label":"Parse phone number","digits_retained":7,"inputs":[1]},{"method":"Standardizer.ParseToken","fields":["phone_number"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_phone_tokens_phone","inputs":[1]},{"method":"Standardizer.PickToken","fields":["phone"],"count":1,"unique_tokens":true,"label":"Pick Token","inputs":[1]}]},"identification_standardizer":{"label":"Identification Standardizer","inputs":[{"fields":["identification_number"],"attributes":["drivers_licence","passport","social_insurance_number","credit_card"]}],"standardizer_recipe":[{"method":"Standardizer.MapCharacter","label":"Map equivalent Character","map_resource":"person_map_character_general","inputs":[1]},{"method":"Standardizer.UpperCase","label":"Uppercase","inputs":[1]},{"method":"Standardizer.StopToken","label":"Stop anonymous Token","set_resource":"person_set_identifier_anonymous","inputs":[1]},{"method":"Standardizer.MapToken","label":"Map equivalent Token","map_resource":"person_map_identifier_equi_identifier","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["identification_number"],"drop_unparsed_values":false,"label":"Parse token","map_resource":"person_map_identifier_tokens_identification_number","inputs":[1]},{"method":"Standardizer.PickToken","fields":["identification_number"],"count":1,"unique_tokens":true,"label":"Pick Token","inputs":[1]}]},"email_standardizer":{"label":"Non-Phone Contact Method Standardizer","inputs":[{"fields":["email_id"],"attributes":["personal_email"]}],"standardizer_recipe":[{"method":"Standardizer.MapCharacter","label":"Map equivalent Character","map_resource":"person_map_character_general","inputs":[1]},{"method":"Standardizer.UpperCase","label":"Uppercase","inputs":[1]},{"method":"Standardizer.StopToken","label":"Stop anonymous Token","set_resource":"person_set_non_phone_anon_non_phone","inputs":[1]},{"method":"Standardizer.MapToken","label":"Map equivalent Token","map_resource":"person_map_non_phone_equi_non_phone","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["email_id"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_non_phone_tokens_non_phone","inputs":[1]},{"method":"Standardizer.PickToken","fields":["email_local_part","email_domain"],"count":2,"unique_tokens":true,"label":"Pick Token","inputs":[1]}]},"social_media_standardizer":{"label":"Social media Standardizer","inputs":[{"fields":["social_media_handle"],"attributes":["twitter"]}],"standardizer_recipe":[{"method":"Standardizer.MapCharacter","label":"Map equivalent Character","map_resource":"person_map_character_general","inputs":[1]},{"method":"Standardizer.UpperCase","label":"Uppercase","inputs":[1]},{"method":"Standardizer.StopToken","label":"Stop anonymous Token","set_resource":"person_set_non_phone_anon_non_phone","inputs":[1]},{"method":"Standardizer.MapToken","label":"Map equivalent Token","map_resource":"person_map_non_phone_equi_non_phone","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["social_media_handle"],"drop_unparsed_values":true,"label":"Parse token","map_resource":"person_map_non_phone_tokens_non_phone","inputs":[1]},{"method":"Standardizer.PickToken","fields":["social_media_id"],"count":2,"unique_tokens":true,"label":"Pick Token","inputs":[1]}]}},"entity_types":{"person_entity":{"bucket_generators":{"name_phone_id_zip_dob_flat_buckets":{"label":"PersonName+Phone/Id/Zip/DOB Flat Buckets","maximum_bucket_size":1000,"inputs":[{"fields":["last_name","given_name","full_name"],"attributes":["legal_name","previous_name"]},{"fields":["phone"],"attributes":["home_telephone","mobile_telephone"]},{"fields":["identification_number"],"attributes":["drivers_licence","social_insurance_number"]},{"fields":["postal_code"],"attributes":["primary_residence","mailing_address"]},{"fields":["birth_day","birth_month","birth_year"],"attributes":["birth_date"]}],"bucket_recipe":[{"method":"BucketGenerator.StopToken","inputs":[1],"fields":["given_name","full_name"],"label":"Exclude Anonymous Name","set_resource":"person_set_name_bkt_anon"},{"method":"BucketGenerator.MapToken","inputs":[1],"fields":["given_name","full_name"],"label":"Nickname convesion","map_resource":"person_map_name_nickname"},{"method":"BucketGenerator.Normphone","inputs":[1],"fields":["last_name","given_name","full_name"],"output_fields":["last_name.normphone","given_name.normphone","full_name.normphone"],"label":"Name Phonetics"},{"inputs":[2],"method":"BucketGenerator.NGram","count":5,"output_fields":["phone.5gram"],"label":"Telephone 5 Grams"},{"inputs":[3],"method":"BucketGenerator.NGram","count":5,"output_fields":["identification_number.5gram"],"label":"Identifier 5 Grams"},{"method":"BucketGenerator.StopToken","inputs":[5],"label":"Exclude Anonymous BirthDate","set_resource":"person_set_date_date"}],"bucket_group_recipe":[{"method":"BucketGenerator.PickToken","inputs":[1,2],"fields":[["given_name.normphone","last_name.normphone","full_name.normphone"],["phone.5gram"]],"min_tokens":[1,1],"max_tokens":[1,1],"count":100,"bucket_group":1,"order":true,"maximum_bucket_size":1000,"label":"Bucket: Normphone Name + 5GramPhone "},{"method":"BucketGenerator.PickToken","inputs":[1,3],"fields":[["last_name.normphone","given_name.normphone","full_name.normphone"],["identification_number.5gram"]],"min_tokens":[1,1],"max_tokens":[1,1],"count":100,"bucket_group":2,"order":true,"maximum_bucket_size":1000,"label":"Bucket: Normphone Name + 5GramIds"},{"method":"BucketGenerator.PickToken","inputs":[1,4],"fields":[["last_name.normphone","given_name.normphone","full_name.normphone"],["postal_code"]],"min_tokens":[1,1],"max_tokens":[2,1],"count":100,"bucket_group":3,"order":true,"maximum_bucket_size":1000,"label":"Bucket: Normphone Name + PostCode AsIs"},{"method":"BucketGenerator.PickToken","inputs":[1,5],"fields":[["last_name.normphone","given_name.normphone","full_name.normphone"],["birth_day","birth_month","birth_year"]],"min_tokens":[1,1],"max_tokens":[2,1],"count":100,"bucket_group":4,"order":true,"maximum_bucket_size":1000,"label":"Bucket: Normphone Name + BirthDate"}]},"identifiers_flat_buckets":{"label":"Identifiers Flat Buckets","maximum_bucket_size":1000,"inputs":[{"fields":["identification_number"],"attributes":["passport","credit_card"]}],"bucket_recipe":[{"method":"BucketGenerator.PickToken","inputs":[1],"fields":["identification_number"],"min_tokens":[1],"max_tokens":[1],"count":100,"bucket_group":5,"order":false,"maximum_bucket_size":1000,"label":"Bucket: Id"}]},"email_flat_buckets":{"label":"Email Flat Buckets","maximum_bucket_size":1000,"inputs":[{"fields":["email_local_part","email_domain"],"attributes":["personal_email"]}],"bucket_recipe":[{"method":"BucketGenerator.PickToken","inputs":[1],"fields":["email_local_part"],"min_tokens":[1],"max_tokens":[1],"count":100,"bucket_group":6,"order":false,"maximum_bucket_size":1000,"label":"Bucket: Email"}]},"social_media_flat_buckets":{"label":"SocialMedia Flat Buckets","maximum_bucket_size":1000,"inputs":[{"fields":["social_media_id"],"attributes":["twitter"]}],"bucket_recipe":[{"method":"BucketGenerator.PickToken","inputs":[1],"fields":["social_media_id"],"min_tokens":[1],"max_tokens":[1],"count":100,"bucket_group":7,"order":false,"maximum_bucket_size":1000,"label":"Bucket: SocialMedaiId"}]}},"clerical_review_threshold":130,"auto_link_threshold":150,"compare_methods":{"name_compare":{"label":"Person Name Compare","methods":[{"inputs":[{"fields":["last_name","given_name","middle_name","prefix","suffix","generation","full_name"],"attributes":["legal_name","previous_name"]}],"compare_recipe":[{"fields":["last_name","given_name","middle_name","prefix","suffix","generation","full_name"],"method":"CompareMethod.NameCompare","label":"Name Match","comparison_resource":"person_compare_spec_name","inputs":[1]}]}],"weights":[65,60,55,50,35,20,10,0,-5,-15,-20]},"birth_date_compare":{"label":"Birth Date Compare","methods":[{"inputs":[{"fields":["birth_year","birth_month","birth_day"],"attributes":["birth_date"]}],"compare_recipe":[{"fields":["birth_year","birth_month","birth_day"],"method":"CompareMethod.DateCompare","label":"Year, Month and Day Match","comparison_resource":"person_compare_spec_date","inputs":[1]}]}],"weights":[12,11,10,9,5,4,2,1,0,0,0]},"gender_compare":{"label":"Gender Compare","methods":[{"inputs":[{"fields":["gender"],"attributes":["gender"]}],"compare_recipe":[{"fields":["gender"],"method":"CompareMethod.SingleTokenCompare","label":"Gender Match","comparison_resource":"person_compare_spec_gender","inputs":[1]}]}],"weights":[3,0,-5,-10,-15,-20,-25,-32,-40,-48,-54]},"email_and_social_media_compare":{"label":"Email and Social Media Compare","methods":[{"inputs":[{"fields":["email_local_part","email_domain"],"attributes":["personal_email"]}],"compare_recipe":[{"fields":["email_local_part","email_domain"],"method":"CompareMethod.EmailCompare","label":"Email Match","comparison_resource":"person_compare_spec_email","inputs":[1]}]},{"inputs":[{"fields":["social_media_id"],"attributes":["twitter"]}],"compare_recipe":[{"fields":["social_media_id"],"method":"CompareMethod.SingleTokenCompare","label":"Social Media Id Match","comparison_resource":"person_compare_spec_non_phone","inputs":[1]}]}],"weights":[52,45,40,35,30,25,15,5,0,-10,-20]},"identifiers_compare":{"label":"Identifiers Compare","methods":[{"inputs":[{"fields":["identification_number"],"attributes":["social_insurance_number"]}],"compare_recipe":[{"fields":["identification_number"],"method":"CompareMethod.SingleTokenCompare","label":"Social Insurance Number Match","comparison_resource":"person_compare_spec_identifier","inputs":[1]}]}],"weights":[54,50,40,35,30,25,15,5,0,-10,-20]},"other_identifiers_compare":{"label":"Other Identifiers Compare","methods":[{"inputs":[{"fields":["identification_number"],"attributes":["drivers_licence"]}],"compare_recipe":[{"fields":["identification_number"],"method":"CompareMethod.SingleTokenCompare","label":"Drivers Licence Match","comparison_resource":"person_compare_spec_identifier","inputs":[1]}]},{"inputs":[{"fields":["identification_number"],"attributes":["passport"]}],"compare_recipe":[{"fields":["identification_number"],"method":"CompareMethod.SingleTokenCompare","label":"Passport Match","comparison_resource":"person_compare_spec_identifier","inputs":[1]}]}],"weights":[54,50,40,35,30,25,15,5,0,-10,-20]},"credit_card_compare":{"label":"Credit Card Compare","methods":[{"inputs":[{"fields":["identification_number"],"attributes":["credit_card"]}],"compare_recipe":[{"fields":["identification_number"],"method":"CompareMethod.SingleTokenCompare","label":"Credit Card Match","comparison_resource":"person_compare_spec_identifier","inputs":[1]}]}],"weights":[54,50,40,35,30,25,15,5,0,-10,-20]},"phone_compare":{"label":"Phone Compare","methods":[{"inputs":[{"fields":["phone"],"attributes":["home_telephone","mobile_telephone"]}],"compare_recipe":[{"fields":["phone"],"method":"CompareMethod.SingleTokenCompare","label":"Phone Match","comparison_resource":"person_compare_spec_phone","inputs":[1]}]}],"weights":[52,50,47,44,40,35,30,26,23,23,22]},"address_compare":{"label":"Address Compare","methods":[{"inputs":[{"fields":["unit_number","street_number","street_name","direction","street_type","pobox","postal_code","city","province","sub_division","country","latitude","longtitude"],"attributes":["primary_residence","mailing_address"]}],"compare_recipe":[{"fields":["unit_number","street_number","street_name","direction","street_type","pobox","postal_code","city","province","sub_division","country","latitude","longtitude"],"method":"CompareMethod.AddressCompare","label":"Address Match","comparison_resource":"person_compare_spec_address","inputs":[1]}]}],"weights":[52,47,42,37,30,25,20,15,10,5,1]}}}}}"
AlgorithmStandardizerStep algorithmStandardizerStepModel = new AlgorithmStandardizerStep.Builder() .label("testString") .method("testString") .build(); AlgorithmInput algorithmInputModel = new AlgorithmInput.Builder() .attributes(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .fields(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .build(); AlgorithmStandardizer algorithmStandardizerModel = new AlgorithmStandardizer.Builder() .label("testString") .standardizerRecipe(new java.util.ArrayList<AlgorithmStandardizerStep>(java.util.Arrays.asList(algorithmStandardizerStepModel))) .inputs(new java.util.ArrayList<AlgorithmInput>(java.util.Arrays.asList(algorithmInputModel))) .build(); AlgorithmEncryption algorithmEncryptionModel = new AlgorithmEncryption.Builder() .subType("testString") .pubKey(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .enabled(true) .type("testString") .build(); AlgorithmEntityType algorithmEntityTypeModel = new AlgorithmEntityType.Builder() .autoLinkThreshold(Float.valueOf("36.0")) .build(); ReplaceModelAlgorithmOptions replaceModelAlgorithmOptions = new ReplaceModelAlgorithmOptions.Builder() .recordType("testString") .standardizers(new java.util.HashMap<String, AlgorithmStandardizer>() { { put("foo", algorithmStandardizerModel); } }) .encryption(algorithmEncryptionModel) .entityTypes(new java.util.HashMap<String, AlgorithmEntityType>() { { put("foo", algorithmEntityTypeModel); } }) .locale("testString") .build(); Response<PutAlgorithm> response = mdmService.replaceModelAlgorithm(replaceModelAlgorithmOptions).execute(); PutAlgorithm putAlgorithm = response.getResult(); System.out.println(putAlgorithm);
Response
Response wrapper object for overwriting matching algorithm
Current state of flow according to its state machine
System generated flow identifier
The matching algorithm for a given record type (i.e. person)
Response wrapper object for overwriting matching algorithm.
Current state of flow according to its state machine.
System generated flow identifier.
The matching algorithm for a given record type (i.e. person).
- algorithm
Collection of entity type definitions.
- entityTypes
Collection of bucket generators.
- bucketGenerators
User defined translatable label.
Collection of input definitions used for bucket generator.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of bucket generator steps.
- bucketRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of field names.
A bucket generator method. One of: BucketGenerator.StopToken, BucketGenerator.NGram, BucketGenerator.Normphone, BucketGenerator.PickToken or BucketGenerator.MapToken.
Collection of bucket group generator steps.
- bucketGroupRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of collection of field names.
A bucket generator method. Accepted value is BucketGenerator.StopToken.
An integer value indicating maximum size of any buckets of this type.
The minimum matching score between two records for clerical review.
The minimum matching score between two records to automatically link them together.
Collection of comparators.
- compareMethods
Collection of compare methods, considered in the same group.
- methods
Collection of input definitions used for this method.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of compare method steps.
- compareRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names.
A compare method. One of: CompareMethod.AddressCompare, CompareMethod.DateCompare, CompareMethod.EmailCompare, CompareMethod.SingleTokenCompare or CompareMethod.NameCompare.
User defined translatable label.
An array of 11 weights that map to the distance measures from 0 to 10.
Collection of post filter methods.
- postFilterMethods
User defined translatable label.
Collection of input definitions used for post_filter_method.
- inputs
A single compare method existing in compare_methods.
Collection of post filter steps.
- filterRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
An array of weights composed of distances and values.
- weights
distances.
values.
maximum value for a distance.
Some required resources.
A post filter method name.
Asymmetric encryption configuration.
- encryption
Asymmetric encryption sub type (i.e. Deterministic).
Asymmetric encryption public keys.
Asymmetric encryption enabled indicator, true or false.
Asymmetric encryption type (i.e. RSA).
Collection of standardizer definitions.
- standardizers
User defined translatable label.
Collection of input definitions used for standardization.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of standardizer steps.
- standardizerRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names. The default values are all fields in the given inputs.
A standardizer method. One of: Standardizer.UpperCase, Standardizer.Tokenizer, Standardizer.StopToken, Standardizer.StopCharacter, Standardizer.PickToken, Standardizer.Phone, Standardizer.ParseToken, Standardizer.MapToken, Standardizer.MapCharacter, Standardizer.LowerCase, Standardizer.Length, Standardizer.KeepToken, Standardizer.JoinToken, Standardizer.GNM, Standardizer.Date, Standardizer.Acronym, Standardizer.AlphaNumericTokenizer or Standardizer.NumToWord.
The request language and location (i.e. enUS).
Status Code
The algorithm has been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "flow_id": "41017488", "algorithm": {} }
{ "flow_state": "published", "flow_id": "41017488", "algorithm": {} }
generate matching algorithm
- This service customizes the matching algorithm for a given record type.
- A matching algorithm defines how two records of a given type are compared.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
- This service customizes the matching algorithm for a given record type.
- A matching algorithm defines how two records of a given type are compared.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
POST /mdm/v1/algorithms/{record_type}
ServiceCall<PutAlgorithm> generateModelAlgorithm(GenerateModelAlgorithmOptions generateModelAlgorithmOptions)
Request
Use the GenerateModelAlgorithmOptions.Builder
to create a GenerateModelAlgorithmOptions
object that contains the parameter values for the generateModelAlgorithm
method.
Path Parameters
The data type identifier of source records, ie. person, organization, contract
Query Parameters
The cloud resource name of the service.
The matching algorithm for a given record type (i.e. person)
A single read-only entity type
- any property
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address)
The minimum matching score between two records to automatically link them together. The range is from 0 to 1
Possible values: 0 ≤ value ≤ 1
The generateModelAlgorithm options.
The data type identifier of source records, ie. person, organization, contract.
The matching algorithm for a given record type (i.e. person).
- requestBody
The minimum matching score between two records to automatically link them together. The range is from 0 to 1.
Possible values: 0 ≤ value ≤ 1
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address).
- matchingAttributes
the fields to be modified.
Collection of applicable attributes. The attribute key must be lower snake case (i.e. employment_detail).
AlgorithmGenerationAttributeItem algorithmGenerationAttributeItemModel = new AlgorithmGenerationAttributeItem.Builder() .attributes(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .build(); AlgorithmGenerationEntityType algorithmGenerationEntityTypeModel = new AlgorithmGenerationEntityType.Builder() .matchingAttributes(new java.util.ArrayList<AlgorithmGenerationAttributeItem>(java.util.Arrays.asList(algorithmGenerationAttributeItemModel))) .build(); GenerateModelAlgorithmOptions generateModelAlgorithmOptions = new GenerateModelAlgorithmOptions.Builder() .recordType("testString") .requestBody(new java.util.HashMap<String, AlgorithmGenerationEntityType>() { { put("foo", algorithmGenerationEntityTypeModel); } }) .build(); Response<PutAlgorithm> response = mdmService.generateModelAlgorithm(generateModelAlgorithmOptions).execute(); PutAlgorithm putAlgorithm = response.getResult(); System.out.println(putAlgorithm);
Response
Response wrapper object for overwriting matching algorithm
Current state of flow according to its state machine
System generated flow identifier
The matching algorithm for a given record type (i.e. person)
Response wrapper object for overwriting matching algorithm.
Current state of flow according to its state machine.
System generated flow identifier.
The matching algorithm for a given record type (i.e. person).
- algorithm
Collection of entity type definitions.
- entityTypes
Collection of bucket generators.
- bucketGenerators
User defined translatable label.
Collection of input definitions used for bucket generator.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of bucket generator steps.
- bucketRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of field names.
A bucket generator method. One of: BucketGenerator.StopToken, BucketGenerator.NGram, BucketGenerator.Normphone, BucketGenerator.PickToken or BucketGenerator.MapToken.
Collection of bucket group generator steps.
- bucketGroupRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of collection of field names.
A bucket generator method. Accepted value is BucketGenerator.StopToken.
An integer value indicating maximum size of any buckets of this type.
The minimum matching score between two records for clerical review.
The minimum matching score between two records to automatically link them together.
Collection of comparators.
- compareMethods
Collection of compare methods, considered in the same group.
- methods
Collection of input definitions used for this method.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of compare method steps.
- compareRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names.
A compare method. One of: CompareMethod.AddressCompare, CompareMethod.DateCompare, CompareMethod.EmailCompare, CompareMethod.SingleTokenCompare or CompareMethod.NameCompare.
User defined translatable label.
An array of 11 weights that map to the distance measures from 0 to 10.
Collection of post filter methods.
- postFilterMethods
User defined translatable label.
Collection of input definitions used for post_filter_method.
- inputs
A single compare method existing in compare_methods.
Collection of post filter steps.
- filterRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
An array of weights composed of distances and values.
- weights
distances.
values.
maximum value for a distance.
Some required resources.
A post filter method name.
Asymmetric encryption configuration.
- encryption
Asymmetric encryption sub type (i.e. Deterministic).
Asymmetric encryption public keys.
Asymmetric encryption enabled indicator, true or false.
Asymmetric encryption type (i.e. RSA).
Collection of standardizer definitions.
- standardizers
User defined translatable label.
Collection of input definitions used for standardization.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of standardizer steps.
- standardizerRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names. The default values are all fields in the given inputs.
A standardizer method. One of: Standardizer.UpperCase, Standardizer.Tokenizer, Standardizer.StopToken, Standardizer.StopCharacter, Standardizer.PickToken, Standardizer.Phone, Standardizer.ParseToken, Standardizer.MapToken, Standardizer.MapCharacter, Standardizer.LowerCase, Standardizer.Length, Standardizer.KeepToken, Standardizer.JoinToken, Standardizer.GNM, Standardizer.Date, Standardizer.Acronym, Standardizer.AlphaNumericTokenizer or Standardizer.NumToWord.
The request language and location (i.e. enUS).
Status Code
The algorithm has been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "flow_id": "41017488", "algorithm": {} }
{ "flow_state": "published", "flow_id": "41017488", "algorithm": {} }
Partially modify matching algorithm
- This service partially modifies the matching algorithm for a given record type.
- A matching algorithm defines how two records of a given type are compared.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
- This service partially modifies the matching algorithm for a given record type.
- A matching algorithm defines how two records of a given type are compared.
- A matching algorithm contains the matching metadata for a given record type and is comprised of standardization, bucket generation and comparison sections.
PATCH /mdm/v1/algorithms/{record_type}
ServiceCall<PutAlgorithm> updateModelAlgorithm(UpdateModelAlgorithmOptions updateModelAlgorithmOptions)
Request
Use the UpdateModelAlgorithmOptions.Builder
to create a UpdateModelAlgorithmOptions
object that contains the parameter values for the updateModelAlgorithm
method.
Path Parameters
The data type identifier of source records, ie. person, organization, contract
Query Parameters
The cloud resource name of the service.
The matching algorithm for a given record type (i.e. person)
Collection of entity type definitions
- entity_types
A single entity type definition
Asymmetric encryption configuration
Collection of standardizer definitions
- standardizers
A single standardizer definition
The request language and location (i.e. enUS)
The updateModelAlgorithm options.
The data type identifier of source records, ie. person, organization, contract.
Collection of entity type definitions.
- entityTypes
Collection of bucket generators.
- bucketGenerators
User defined translatable label.
Collection of input definitions used for bucket generator.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of bucket generator steps.
- bucketRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of field names.
A bucket generator method. One of: BucketGenerator.StopToken, BucketGenerator.NGram, BucketGenerator.Normphone, BucketGenerator.PickToken or BucketGenerator.MapToken.
Collection of bucket group generator steps.
- bucketGroupRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of collection of field names.
A bucket generator method. Accepted value is BucketGenerator.StopToken.
An integer value indicating maximum size of any buckets of this type.
The minimum matching score between two records for clerical review.
The minimum matching score between two records to automatically link them together.
Collection of comparators.
- compareMethods
Collection of compare methods, considered in the same group.
- methods
Collection of input definitions used for this method.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of compare method steps.
- compareRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names.
A compare method. One of: CompareMethod.AddressCompare, CompareMethod.DateCompare, CompareMethod.EmailCompare, CompareMethod.SingleTokenCompare or CompareMethod.NameCompare.
User defined translatable label.
An array of 11 weights that map to the distance measures from 0 to 10.
Collection of post filter methods.
- postFilterMethods
User defined translatable label.
Collection of input definitions used for post_filter_method.
- inputs
A single compare method existing in compare_methods.
Collection of post filter steps.
- filterRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
An array of weights composed of distances and values.
- weights
distances.
values.
maximum value for a distance.
Some required resources.
A post filter method name.
Asymmetric encryption configuration.
- encryption
Asymmetric encryption sub type (i.e. Deterministic).
Asymmetric encryption public keys.
Asymmetric encryption enabled indicator, true or false.
Asymmetric encryption type (i.e. RSA).
Collection of standardizer definitions.
- standardizers
User defined translatable label.
Collection of input definitions used for standardization.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of standardizer steps.
- standardizerRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names. The default values are all fields in the given inputs.
A standardizer method. One of: Standardizer.UpperCase, Standardizer.Tokenizer, Standardizer.StopToken, Standardizer.StopCharacter, Standardizer.PickToken, Standardizer.Phone, Standardizer.ParseToken, Standardizer.MapToken, Standardizer.MapCharacter, Standardizer.LowerCase, Standardizer.Length, Standardizer.KeepToken, Standardizer.JoinToken, Standardizer.GNM, Standardizer.Date, Standardizer.Acronym, Standardizer.AlphaNumericTokenizer or Standardizer.NumToWord.
The request language and location (i.e. enUS).
curl -X PATCH --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/algorithm/person?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"standardizers":{"name_standardizer":{"label":"Person Name Standardizer","inputs":[{"fields":["last_name","full_name","given_name","middle_name","prefix","suffix","generation"],"attributes":["legal_name","previous_name"]}],"standardizer_recipe":[{"method":"Standardizer.UpperCase","label":"Uppercase","inputs":[1]},{"method":"Standardizer.MapCharacter","label":"Map equivalent Character","map_resource":"person_map_character_general","inputs":[1]},{"method":"Standardizer.Tokenizer","delimiters":[" ","-","/",",","."],"label":"Tokenization","inputs":[1]},{"method":"Standardizer.ParseToken","fields":["given_name","full_name","middle_name","last_name","prefix","suffix","generation"],"drop_unparsed_values":false,"label":"Parse Token","map_resource":"person_map_name_alignments","inputs":[1]},{"method":"Standardizer.Length","min_length":2,"max_length":100,"fields":["last_name"],"label":"Remove single characters from last name","inputs":[1]},{"method":"Standardizer.StopToken","fields":["last_name","given_name","middle_name","prefix","suffix","generation","full_name"],"label":"Stop anonymous token","set_resource":"person_set_name_aname","inputs":[1]},{"method":"Standardizer.PickToken","fields":["last_name","given_name","middle_name","prefix","suffix","generation","full_name"],"unique_tokens":true,"label":"Pick Token","inputs":[1]}]}}}"
AlgorithmStandardizerStep algorithmStandardizerStepModel = new AlgorithmStandardizerStep.Builder() .label("testString") .method("testString") .build(); AlgorithmInput algorithmInputModel = new AlgorithmInput.Builder() .attributes(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .fields(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .build(); AlgorithmStandardizer algorithmStandardizerModel = new AlgorithmStandardizer.Builder() .label("testString") .standardizerRecipe(new java.util.ArrayList<AlgorithmStandardizerStep>(java.util.Arrays.asList(algorithmStandardizerStepModel))) .inputs(new java.util.ArrayList<AlgorithmInput>(java.util.Arrays.asList(algorithmInputModel))) .build(); AlgorithmEncryption algorithmEncryptionModel = new AlgorithmEncryption.Builder() .subType("testString") .pubKey(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .enabled(true) .type("testString") .build(); AlgorithmEntityType algorithmEntityTypeModel = new AlgorithmEntityType.Builder() .autoLinkThreshold(Float.valueOf("36.0")) .build(); UpdateModelAlgorithmOptions updateModelAlgorithmOptions = new UpdateModelAlgorithmOptions.Builder() .recordType("testString") .standardizers(new java.util.HashMap<String, AlgorithmStandardizer>() { { put("foo", algorithmStandardizerModel); } }) .encryption(algorithmEncryptionModel) .entityTypes(new java.util.HashMap<String, AlgorithmEntityType>() { { put("foo", algorithmEntityTypeModel); } }) .locale("testString") .build(); Response<PutAlgorithm> response = mdmService.updateModelAlgorithm(updateModelAlgorithmOptions).execute(); PutAlgorithm putAlgorithm = response.getResult(); System.out.println(putAlgorithm);
Response
Response wrapper object for overwriting matching algorithm
Current state of flow according to its state machine
System generated flow identifier
The matching algorithm for a given record type (i.e. person)
Response wrapper object for overwriting matching algorithm.
Current state of flow according to its state machine.
System generated flow identifier.
The matching algorithm for a given record type (i.e. person).
- algorithm
Collection of entity type definitions.
- entityTypes
Collection of bucket generators.
- bucketGenerators
User defined translatable label.
Collection of input definitions used for bucket generator.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of bucket generator steps.
- bucketRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of field names.
A bucket generator method. One of: BucketGenerator.StopToken, BucketGenerator.NGram, BucketGenerator.Normphone, BucketGenerator.PickToken or BucketGenerator.MapToken.
Collection of bucket group generator steps.
- bucketGroupRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
True the tokens within the same input will be pre-sorted alphabetically.
Collection of collection of field names.
A bucket generator method. Accepted value is BucketGenerator.StopToken.
An integer value indicating maximum size of any buckets of this type.
The minimum matching score between two records for clerical review.
The minimum matching score between two records to automatically link them together.
Collection of comparators.
- compareMethods
Collection of compare methods, considered in the same group.
- methods
Collection of input definitions used for this method.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of compare method steps.
- compareRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names.
A compare method. One of: CompareMethod.AddressCompare, CompareMethod.DateCompare, CompareMethod.EmailCompare, CompareMethod.SingleTokenCompare or CompareMethod.NameCompare.
User defined translatable label.
An array of 11 weights that map to the distance measures from 0 to 10.
Collection of post filter methods.
- postFilterMethods
User defined translatable label.
Collection of input definitions used for post_filter_method.
- inputs
A single compare method existing in compare_methods.
Collection of post filter steps.
- filterRecipe
User defined translatable label.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
An array of weights composed of distances and values.
- weights
distances.
values.
maximum value for a distance.
Some required resources.
A post filter method name.
Asymmetric encryption configuration.
- encryption
Asymmetric encryption sub type (i.e. Deterministic).
Asymmetric encryption public keys.
Asymmetric encryption enabled indicator, true or false.
Asymmetric encryption type (i.e. RSA).
Collection of standardizer definitions.
- standardizers
User defined translatable label.
Collection of input definitions used for standardization.
- inputs
Collection of encrypted field names.
Collection of field names.
Collection of attributes.
Collection of standardizer steps.
- standardizerRecipe
User defined translatable label.
An existing set resource name, if applicable.
An existing map resource name, if applicable.
An existing comparison resource name, if applicable.
Collection of numbers, referencing the position of one or more defined inputs. The default value is [1].
Collection of field names. The default values are all fields in the given inputs.
A standardizer method. One of: Standardizer.UpperCase, Standardizer.Tokenizer, Standardizer.StopToken, Standardizer.StopCharacter, Standardizer.PickToken, Standardizer.Phone, Standardizer.ParseToken, Standardizer.MapToken, Standardizer.MapCharacter, Standardizer.LowerCase, Standardizer.Length, Standardizer.KeepToken, Standardizer.JoinToken, Standardizer.GNM, Standardizer.Date, Standardizer.Acronym, Standardizer.AlphaNumericTokenizer or Standardizer.NumToWord.
The request language and location (i.e. enUS).
Status Code
The algorithm has been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "flow_id": "135208", "algorithm": {} }
{ "flow_state": "published", "flow_id": "135208", "algorithm": {} }
Retrieve a summary of all comparison parameters
- This service retrieves the list of specification names for the existing comparison parameters.
- This service retrieves the list of specification names for the existing comparison parameters.
GET /mdm/v1/compare_spec_resources
ServiceCall<CompareSpecResourceNames> listModelComparespecResoures(ListModelComparespecResouresOptions listModelComparespecResouresOptions)
Request
Use the ListModelComparespecResouresOptions.Builder
to create a ListModelComparespecResouresOptions
object that contains the parameter values for the listModelComparespecResoures
method.
Query Parameters
The cloud resource name of the service.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/model/v1/compare_spec_resources?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListModelComparespecResouresOptions listModelComparespecResouresOptions = new ListModelComparespecResouresOptions(); Response<CompareSpecResourceNames> response = mdmService.listModelComparespecResoures(listModelComparespecResouresOptions).execute(); CompareSpecResourceNames compareSpecResourceNames = response.getResult(); System.out.println(compareSpecResourceNames);
Response
Response wrapper object for all comparison resource names
Collection of comparison resource names
Response wrapper object for all comparison resource names.
Collection of comparison resource names.
Status Code
The resources have been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "compare_spec_resource_names": [ "person_compare_spec_email", "org_compare_spec_identifier", "person_compare_spec_non_phone", "org_compare_spec_phone", "org_compare_spec_name", "persongnm_compare_spec_name", "person_compare_spec_identifier", "person_compare_spec_date", "person_compare_spec_name", "org_compare_spec_address", "person_compare_spec_gender", "person_compare_spec_phone", "person_compare_spec_address" ] }
{ "compare_spec_resource_names": [ "person_compare_spec_email", "org_compare_spec_identifier", "person_compare_spec_non_phone", "org_compare_spec_phone", "org_compare_spec_name", "persongnm_compare_spec_name", "person_compare_spec_identifier", "person_compare_spec_date", "person_compare_spec_name", "org_compare_spec_address", "person_compare_spec_gender", "person_compare_spec_phone", "person_compare_spec_address" ] }
Retrieve details of comparison parameters
- This service retrieves the comparison parameters for a given specification name.
- Comparison parameters are maintained in a json document and is used for comparing attributes within an algorithm.
- This service retrieves the comparison parameters for a given specification name.
- Comparison parameters are maintained in a json document and is used for comparing attributes within an algorithm.
GET /mdm/v1/compare_spec_resources/{resource_name}
ServiceCall<CompareSpecResource> getModelComparespecResource(GetModelComparespecResourceOptions getModelComparespecResourceOptions)
Request
Use the GetModelComparespecResourceOptions.Builder
to create a GetModelComparespecResourceOptions
object that contains the parameter values for the getModelComparespecResource
method.
Path Parameters
The unique identifier for the comparison parameters
Query Parameters
The cloud resource name of the service.
The getModelComparespecResource options.
The unique identifier for the comparison parameters.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/compare_spec_resources/person_compare_spec_email?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetModelComparespecResourceOptions getModelComparespecResourceOptions = new GetModelComparespecResourceOptions.Builder() .resourceName("testString") .build(); Response<CompareSpecResource> response = mdmService.getModelComparespecResource(getModelComparespecResourceOptions).execute(); CompareSpecResource compareSpecResource = response.getResult(); System.out.println(compareSpecResource);
Response
A single comparison resource used to customize comparison logic of a matching algorithm
The distance factor for each occurence of typographical error. The value must be between 0 to 1
Collection of feature coefficients used for distance measurement. The feature coefficient key must be lower snake case (i.e. name_similar90, name_exact)
- feature_coefficients
Collection of user defined comparison feature categories. The feature category key must be lower snake case
- feature_categories
A single feature category definition
An existing map resource name for lookalike characters
The distance factor for each occurence of lookalike characters (i.e. 8 vs B, 0 vs O). The value must be between 0 to 1
A single comparison resource used to customize comparison logic of a matching algorithm.
The distance factor for each occurence of typographical error. The value must be between 0 to 1.
An existing map resource name for lookalike characters.
Collection of feature coefficients used for distance measurement. The feature coefficient key must be lower snake case (i.e. name_similar90, name_exact).
The distance factor for each occurence of lookalike characters (i.e. 8 vs B, 0 vs O). The value must be between 0 to 1.
Collection of user defined comparison feature categories. The feature category key must be lower snake case.
- featureCategories
An existing map resource name for equivalent tokens.
Collection of applicable comparison categories in a preferred order. A subset of: exact, equivalent, similar, initials, metaphone, normphone, unmatched, misplaced, leftout, missing, gnm or similarity.
Collection of fields consider for the current feature category.
Status Code
The resources have been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "typo_distance": 0.25, "similar_characters_distance": 0.5, "similar_characters_map_resource": "person_map_character_similar_character", "feature_categories": { "id": { "features": [ "similarity" ], "fields": [ "email_local_part" ] }, "domain": { "features": [ "similarity" ], "fields": [ "email_domain" ] } }, "feature_coefficients": { "id_similarity": 0.9, "domain_similarity": 0.1 } }
{ "typo_distance": 0.25, "similar_characters_distance": 0.5, "similar_characters_map_resource": "person_map_character_similar_character", "feature_categories": { "id": { "features": [ "similarity" ], "fields": [ "email_local_part" ] }, "domain": { "features": [ "similarity" ], "fields": [ "email_domain" ] } }, "feature_coefficients": { "id_similarity": 0.9, "domain_similarity": 0.1 } }
Overwrite the comparison parameters
- This service completely overwrites the comparison parameters for a given specification name.
- Comparison parameters are maintained in a json document and is used for comparing attributes within an algorithm.
- This service completely overwrites the comparison parameters for a given specification name.
- Comparison parameters are maintained in a json document and is used for comparing attributes within an algorithm.
PUT /mdm/v1/compare_spec_resources/{resource_name}
ServiceCall<PutCompareSpecResources> replaceModelComparespecResource(ReplaceModelComparespecResourceOptions replaceModelComparespecResourceOptions)
Request
Use the ReplaceModelComparespecResourceOptions.Builder
to create a ReplaceModelComparespecResourceOptions
object that contains the parameter values for the replaceModelComparespecResource
method.
Path Parameters
The unique identifier for the comparison parameters
Query Parameters
The cloud resource name of the service.
A single comparison resource used to customize comparison logic of a matching algorithm
The distance factor for each occurence of typographical error. The value must be between 0 to 1
Collection of feature coefficients used for distance measurement. The feature coefficient key must be lower snake case (i.e. name_similar90, name_exact)
- feature_coefficients
Collection of user defined comparison feature categories. The feature category key must be lower snake case
- feature_categories
A single feature category definition
An existing map resource name for lookalike characters
The distance factor for each occurence of lookalike characters (i.e. 8 vs B, 0 vs O). The value must be between 0 to 1
The replaceModelComparespecResource options.
The unique identifier for the comparison parameters.
The distance factor for each occurence of typographical error. The value must be between 0 to 1.
Collection of feature coefficients used for distance measurement. The feature coefficient key must be lower snake case (i.e. name_similar90, name_exact).
Collection of user defined comparison feature categories. The feature category key must be lower snake case.
- featureCategories
An existing map resource name for equivalent tokens.
Collection of applicable comparison categories in a preferred order. A subset of: exact, equivalent, similar, initials, metaphone, normphone, unmatched, misplaced, leftout, missing, gnm or similarity.
Collection of fields consider for the current feature category.
An existing map resource name for lookalike characters.
The distance factor for each occurence of lookalike characters (i.e. 8 vs B, 0 vs O). The value must be between 0 to 1.
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/compare_spec_resources/person_compare_spec_email?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"typo_distance":0.25,"similar_characters_distance":0.5,"similar_characters_map_resource":"person_map_character_similar_character","feature_categories":{"id":{"features":["similarity"],"fields":["email_local_part"]},"domain":{"features":["similarity"],"fields":["email_domain"]}},"feature_coefficients":{"id_similarity":0.9,"domain_similarity":0.1}}"
CompareSpecResourceFeatureCategory compareSpecResourceFeatureCategoryModel = new CompareSpecResourceFeatureCategory.Builder() .build(); ReplaceModelComparespecResourceOptions replaceModelComparespecResourceOptions = new ReplaceModelComparespecResourceOptions.Builder() .resourceName("testString") .featureCategories(new java.util.HashMap<String, CompareSpecResourceFeatureCategory>() { { put("foo", compareSpecResourceFeatureCategoryModel); } }) .typoDistance(Float.valueOf("36.0")) .featureCoefficients(new java.util.HashMap<String, Float>() { { put("foo", Float.valueOf("36.0")); } }) .build(); Response<PutCompareSpecResources> response = mdmService.replaceModelComparespecResource(replaceModelComparespecResourceOptions).execute(); PutCompareSpecResources putCompareSpecResources = response.getResult(); System.out.println(putCompareSpecResources);
Response
Response wrapper object for overwriting comparison resource
A single comparison resource used to customize comparison logic of a matching algorithm
Current state of flow according to its state machine
System generated flow identifier
Response wrapper object for overwriting comparison resource.
A single comparison resource used to customize comparison logic of a matching algorithm.
- compareSpecResources
The distance factor for each occurence of typographical error. The value must be between 0 to 1.
An existing map resource name for lookalike characters.
Collection of feature coefficients used for distance measurement. The feature coefficient key must be lower snake case (i.e. name_similar90, name_exact).
The distance factor for each occurence of lookalike characters (i.e. 8 vs B, 0 vs O). The value must be between 0 to 1.
Collection of user defined comparison feature categories. The feature category key must be lower snake case.
- featureCategories
An existing map resource name for equivalent tokens.
Collection of applicable comparison categories in a preferred order. A subset of: exact, equivalent, similar, initials, metaphone, normphone, unmatched, misplaced, leftout, missing, gnm or similarity.
Collection of fields consider for the current feature category.
Current state of flow according to its state machine.
System generated flow identifier.
Status Code
The resources have been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "compare_spec_resources": {} }
{ "flow_state": "published", "compare_spec_resources": {} }
Retrieve the survivorship composite rules
- Retrieve the survivorship composite rules applicable to entity types, as defined by matching algorithms
- The ability to construct survived "picture" of the linked records relies on Composite Rule definition.
- Composite Rule is a json document that contains survivorship criteria at global level or within a specific scope.
- Retrieve the survivorship composite rules applicable to entity types, as defined by matching algorithms
- The ability to construct survived "picture" of the linked records relies on Composite Rule definition.
- Composite Rule is a json document that contains survivorship criteria at global level or within a specific scope.
GET /mdm/v1/composite_rules
ServiceCall<CompositeRules> getModelCompositeRules(GetModelCompositeRulesOptions getModelCompositeRulesOptions)
Request
Use the GetModelCompositeRulesOptions.Builder
to create a GetModelCompositeRulesOptions
object that contains the parameter values for the getModelCompositeRules
method.
Query Parameters
The cloud resource name of the service.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/composite_rules?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetModelCompositeRulesOptions getModelCompositeRulesOptions = new GetModelCompositeRulesOptions(); Response<CompositeRules> response = mdmService.getModelCompositeRules(getModelCompositeRulesOptions).execute(); CompositeRules compositeRules = response.getResult(); System.out.println(compositeRules);
Response
The wrapper object of composite rules
Collection of composite rule definitions
The request language and location (i.e. enUS)
The wrapper object of composite rules.
Collection of composite rule definitions.
- rules
A single composite rule definition.
- global
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
Collection of composite rule definitions per record type. The record type key must be lower snake case.
- recordTypes
Collection of composite rule definitions at attribute level.
- attributeRules
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
A single composite rule definition.
- recordTypeRule
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
Collection of composite rule definitions at entity level.
- entityRules
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
The request language and location (i.e. enUS).
Status Code
The composite rules have been successfully modified.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "locale": "en_us", "rules": { "global": { "choices": [ "mca", "mfa" ], "sources": [] } } }
{ "locale": "en_us", "rules": { "global": { "choices": [ "mca", "mfa" ], "sources": [] } } }
Overwrite the survivorship composite rules
- Overwrite the survivorship composite rules applicable to entity types, as defined by matching algorithm
- The ability to construct survived "picture" of the linked records relies on Composite Rule definition.
- Composite Rule is a json document that contains survivorship criteria at global level or within a specific scope.
- Overwrite the survivorship composite rules applicable to entity types, as defined by matching algorithm
- The ability to construct survived "picture" of the linked records relies on Composite Rule definition.
- Composite Rule is a json document that contains survivorship criteria at global level or within a specific scope.
PUT /mdm/v1/composite_rules
ServiceCall<PutCompositeRules> replaceModelCompositeRules(ReplaceModelCompositeRulesOptions replaceModelCompositeRulesOptions)
Request
Use the ReplaceModelCompositeRulesOptions.Builder
to create a ReplaceModelCompositeRulesOptions
object that contains the parameter values for the replaceModelCompositeRules
method.
Query Parameters
The cloud resource name of the service.
The wrapper object of composite rules
Collection of composite rule definitions
The request language and location (i.e. enUS)
The replaceModelCompositeRules options.
Collection of composite rule definitions.
- rules
A single composite rule definition.
- global
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
Collection of composite rule definitions per record type. The record type key must be lower snake case.
- recordTypes
Collection of composite rule definitions at attribute level.
- attributeRules
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
A single composite rule definition.
- recordTypeRule
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
Collection of composite rule definitions at entity level.
- entityRules
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
The request language and location (i.e. enUS).
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/composite_rules?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"locale":"en_us","rules":{"global":{"choices":["mca","source"],"sources":["src1","src5","src2"]}}}"
CompositeRulesRule compositeRulesRuleModel = new CompositeRulesRule.Builder() .sources(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .choices(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .build(); CompositeRulesRules compositeRulesRulesModel = new CompositeRulesRules.Builder() .global(compositeRulesRuleModel) .build(); ReplaceModelCompositeRulesOptions replaceModelCompositeRulesOptions = new ReplaceModelCompositeRulesOptions.Builder() .rules(compositeRulesRulesModel) .locale("testString") .build(); Response<PutCompositeRules> response = mdmService.replaceModelCompositeRules(replaceModelCompositeRulesOptions).execute(); PutCompositeRules putCompositeRules = response.getResult(); System.out.println(putCompositeRules);
Response
Response wrapper object for overwriting composite rules
The wrapper object of composite rules
Current state of flow according to its state machine
System generated flow identifier
Response wrapper object for overwriting composite rules.
The wrapper object of composite rules.
- compositeRules
Collection of composite rule definitions.
- rules
A single composite rule definition.
- global
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
Collection of composite rule definitions per record type. The record type key must be lower snake case.
- recordTypes
Collection of composite rule definitions at attribute level.
- attributeRules
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
A single composite rule definition.
- recordTypeRule
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
Collection of composite rule definitions at entity level.
- entityRules
Collection of composite rules in prefered order. A subset of : mca, mfa, source and uniques. The default value is [mca, mfa, source].
Collection of sources ordered by prefered priorties.
The request language and location (i.e. enUS).
Current state of flow according to its state machine.
System generated flow identifier.
Status Code
The composite rules have been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "flow_id": "172056", "composite_rules": {} }
{ "flow_state": "published", "flow_id": "172056", "composite_rules": {} }
Retrieve the data model
- This service retrieves the data model for record types and relationship types.
- Data model defines the fields and attributes associated to one or more record types (e.g. person, organization) and one or more relationship types (e.g. sibling, employment).
- This service retrieves the data model for record types and relationship types.
- Data model defines the fields and attributes associated to one or more record types (e.g. person, organization) and one or more relationship types (e.g. sibling, employment).
GET /mdm/v1/data_model
ServiceCall<DataModel> getModelDataModel(GetModelDataModelOptions getModelDataModelOptions)
Request
Use the GetModelDataModelOptions.Builder
to create a GetModelDataModelOptions
object that contains the parameter values for the getModelDataModel
method.
Query Parameters
The cloud resource name of the service.
The identifier for a given state of the data model, ie. current, draft
Default:
current
The getModelDataModel options.
The identifier for a given state of the data model, ie. current, draft.
Default:
current
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/data_model?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&version=current"
GetModelDataModelOptions getModelDataModelOptions = new GetModelDataModelOptions.Builder() .build(); Response<DataModel> response = mdmService.getModelDataModel(getModelDataModelOptions).execute(); DataModel dataModel = response.getResult(); System.out.println(dataModel);
Response
Collection of record and relationship types definition
Collection of user defined record types. The record type key must be lower snake case (i.e. person, organization)
- record_types
A single user defined record type
Collection of relationship types. The relationship type key must be lower snake case (i.e. employment)
- relationship_types
A single relationship type
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address)
- attribute_types
A single user defined attribute type
Collection of common fields applicable to various types in data model
The request language and location (i.e. enUS)
Collection of record and relationship types definition.
Collection of user defined record types. The record type key must be lower snake case (i.e. person, organization).
- recordTypes
User defined translatable label.
Read-only collection of applicable entity types.
- entityTypes
Read-only label of entity type.
Read-only type of entity type, one of individual or household.
Read-only description of entity type.
Tag to define the entity type as default.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e primary_residence).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of relationship types. The relationship type key must be lower snake case (i.e. employment).
- relationshipTypes
User defined translatable label.
User defined translatable label of 'from' endpoint in the relationship.
User defined translatable label of 'to' endpoint in the relationship.
True if the relationship is directional, otherwise false. The default value is true.
Collection of defined relationship rules.
- rules
Defines record types or entity types allowed as relationship endpoint.
- source
Collection of allowed record types.
Collection of allowed entity types.
Defines record types or entity types allowed as relationship endpoint.
- target
Collection of allowed record types.
Collection of allowed entity types.
User defined cardinality, one of MULTI, SIMPLE, MANY2ONE, ONE2MANY or ONE2ONE. The default value is MULTI.
True for linkage relationship, otherwise false. The default value is false.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e. employment_detail).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address).
- attributeTypes
User defined translatable label.
User defined classification.
Collection of matching types, a subset of: PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER and PAYMENTCARDNUMBER.
User defined translatable description.
Collection of user defined fields.
- fields
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined translatable description.
Collection of common fields applicable to various types in data model.
- systemProperties
Defines metadata of system properties of record types.
- recordTypes
Defines metadata of a system property.
- recordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- collectionId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all entity types.
- entityTypes
Defines metadata of a system property.
- entityId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- entityLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all relationship types.
- relationshipTypes
Defines metadata of a system property.
- relationshipType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all attribute types.
- attributeTypes
Defines metadata of a system property.
- attributeLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Internal version of system properties.
The request language and location (i.e. enUS).
Status Code
The data model has been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "locale": "en_us", "system_properties": {}, "record_types": {}, "attribute_types": {}, "relationship_types": {} }
{ "locale": "en_us", "system_properties": {}, "record_types": {}, "attribute_types": {}, "relationship_types": {} }
Overwrite the data model
- This service completely overwrites the data model for record types and relationship types.
- Data model defines the fields and attributes associated to one or more record types (e.g. person, organization) and one or more relationship types (e.g. sibling, employment).
- This service completely overwrites the data model for record types and relationship types.
- Data model defines the fields and attributes associated to one or more record types (e.g. person, organization) and one or more relationship types (e.g. sibling, employment).
PUT /mdm/v1/data_model
ServiceCall<PutDataModel> replaceModelDataModel(ReplaceModelDataModelOptions replaceModelDataModelOptions)
Request
Use the ReplaceModelDataModelOptions.Builder
to create a ReplaceModelDataModelOptions
object that contains the parameter values for the replaceModelDataModel
method.
Query Parameters
The cloud resource name of the service.
Collection of record and relationship types definition
Collection of user defined record types. The record type key must be lower snake case (i.e. person, organization)
- record_types
A single user defined record type
Collection of relationship types. The relationship type key must be lower snake case (i.e. employment)
- relationship_types
A single relationship type
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address)
- attribute_types
A single user defined attribute type
Collection of common fields applicable to various types in data model
The request language and location (i.e. enUS)
The replaceModelDataModel options.
Collection of user defined record types. The record type key must be lower snake case (i.e. person, organization).
- recordTypes
User defined translatable label.
Read-only collection of applicable entity types.
- entityTypes
Read-only label of entity type.
Read-only type of entity type, one of individual or household.
Read-only description of entity type.
Tag to define the entity type as default.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e primary_residence).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of relationship types. The relationship type key must be lower snake case (i.e. employment).
- relationshipTypes
User defined translatable label.
User defined translatable label of 'from' endpoint in the relationship.
User defined translatable label of 'to' endpoint in the relationship.
True if the relationship is directional, otherwise false. The default value is true.
Collection of defined relationship rules.
- rules
Defines record types or entity types allowed as relationship endpoint.
- source
Collection of allowed record types.
Collection of allowed entity types.
Defines record types or entity types allowed as relationship endpoint.
- target
Collection of allowed record types.
Collection of allowed entity types.
User defined cardinality, one of MULTI, SIMPLE, MANY2ONE, ONE2MANY or ONE2ONE. The default value is MULTI.
True for linkage relationship, otherwise false. The default value is false.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e. employment_detail).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address).
- attributeTypes
User defined translatable label.
User defined classification.
Collection of matching types, a subset of: PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER and PAYMENTCARDNUMBER.
User defined translatable description.
Collection of user defined fields.
- fields
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined translatable description.
Collection of common fields applicable to various types in data model.
- systemProperties
Defines metadata of system properties of record types.
- recordTypes
Defines metadata of a system property.
- recordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- collectionId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all entity types.
- entityTypes
Defines metadata of a system property.
- entityId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- entityLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all relationship types.
- relationshipTypes
Defines metadata of a system property.
- relationshipType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all attribute types.
- attributeTypes
Defines metadata of a system property.
- attributeLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Internal version of system properties.
The request language and location (i.e. enUS).
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/data_model?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"locale":"en_us","system_properties":{"record_types":{"collection_id":{"label":"Collection ID","description":"Optional identifier for identifying a collection of records","data_type":"String","editable":true,"indexed":true},"record_source":{"label":"Record source","description":"A user provided record source.","data_type":"String","editable":true,"indexed":true},"record_id":{"label":"Record identifier","description":"User provided or autogenerated record identifier","data_type":"String","editable":true,"indexed":true},"record_number":{"label":"System record number","description":"System generated record number","data_type":"String","editable":false,"indexed":true},"record_last_updated":{"label":"Record last updated","description":"System generated record last updated","data_type":"Long","editable":false,"indexed":true}},"entity_types":{"entity_id":{"label":"Entity identifier","data_type":"String","editable":false,"indexed":true},"entity_last_updated":{"label":"Entity last updated time","data_type":"Long","editable":false,"indexed":false}},"attribute_types":{"attribute_last_updated":{"label":"Attribute last updated date","description":"Entity last updated time","data_type":"Long","editable":false,"indexed":false}},"relationship_types":{"relationship_last_updated":{"label":"Relationship last updated date","description":"Entity last updated time","data_type":"Long","editable":false,"indexed":false}}},"record_types":{"person":{"label":"Person","description":"The record type for person records.","entity_types":{"person_entity":{"label":"Person Entity","description":"The entity type for person records."}},"attributes":{"birth_date":{"label":"Birth Date","description":"The birth date associated with this person record.","attribute_type":"string","classification":"","cardinality":"LIST","indexed":true,"matching_type":"DATE"},"gender":{"label":"Gender","description":"The gender of the the person associated with this record.","attribute_type":"string","classification":"","cardinality":"LIST","indexed":true,"matching_type":"GENDER"},"primary_residence":{"label":"Primary Residence","description":"Indicates that this address is a primary residence.","attribute_type":"address","classification":"","cardinality":"LIST","indexed":true},"mailing_address":{"label":"Mailing Address","description":"Indicates that this address is a mailing address.","attribute_type":"address","classification":"","cardinality":"LIST","indexed":true},"home_telephone":{"label":"Home Telephone","description":"Indicates that this phone number is for a home telephone.","attribute_type":"telephone","classification":"","cardinality":"LIST","indexed":true},"mobile_telephone":{"label":"Mobile Telephone","description":"Indicates that this phone number is for a mobile telephone.","attribute_type":"telephone","classification":"","cardinality":"LIST","indexed":true},"personal_email":{"label":"Personal Email","description":"Indicates that this email address is a personal email address.","attribute_type":"email","classification":"","cardinality":"LIST","indexed":true},"twitter":{"label":"twitter","description":"Indicates that this social media type is Twitter.","attribute_type":"social_media","classification":"","cardinality":"LIST","indexed":true},"drivers_licence":{"label":"Driver''s Licence","description":"Indicates that this identifier is a driver's license.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"},"passport":{"label":"passport","description":"Indicates that this identifier is a passport.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"},"credit_card":{"label":"Credit Card","description":"Indicates that this identifier is a credit card.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"PAYMENTCARDNUMBER"},"social_insurance_number":{"label":"Social Insurance Number","description":"Indicates that this identifier is a social insurance number.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"},"legal_name":{"label":"Legal Name","description":"Indicates that this name is a legal name.","attribute_type":"person_name","classification":"","cardinality":"LIST","indexed":true},"previous_name":{"label":"Previous Name","description":"Indicates that this name is a previous name.","attribute_type":"person_name","classification":"","cardinality":"LIST","indexed":true}}},"organization":{"label":"Organization","description":"The record type for organization records.","entity_types":{},"attributes":{"business_name":{"label":"Business Name","description":"Indicates that this name is a business name.","attribute_type":"organization_name","classification":"","cardinality":"LIST","indexed":true},"doing_business_as":{"label":"Doing Business As","description":"Indicates that this name is a Doing Business As name.","attribute_type":"organization_name","classification":"","cardinality":"LIST","indexed":true},"abbreviated_name":{"label":"Abbreviated Name","description":"Indicates that this name is an abbreviated name.","attribute_type":"organization_name","classification":"","cardinality":"LIST","indexed":true},"business_address":{"label":"Business Address","description":"Indicates that this address is a business address.","attribute_type":"address","classification":"","cardinality":"LIST","indexed":true},"mailing_address":{"label":"Mailing Address","description":"Indicates that this address is a mailing address.","attribute_type":"address","classification":"","cardinality":"LIST","indexed":true},"business_telephone":{"label":"Business Telephone","description":"Indicates that this phone number is for a business telephone.","attribute_type":"telephone","classification":"","cardinality":"LIST","indexed":true},"business_email":{"label":"Business Email","description":"Indicates that this email address is a business email.","attribute_type":"email","classification":"","cardinality":"LIST","indexed":true},"business_tax_identification":{"label":"Business Tax Identification","description":"Indicates that this identifier is a business tax identification number.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"},"duns":{"label":"DUNS","description":"Indicates that this identifier is a D-U-N-S Number.","attribute_type":"identification","classification":"","cardinality":"LIST","indexed":true,"matching_type":"NATIONALIDENTIFIER"}}}},"attribute_types":{"address":{"label":"Party Address","description":"The address locations associated with a record. Only one address per usage value is allowed. For example, there can only be one mailing address for a contact.","classification":"","matching_types":["ADDRESS"],"fields":{"residence":{"label":"Residence Value","description":"The type of residence for this address, such as home, apartment, or suite.","classification":"","indexed":true},"address_line1":{"label":"Address Line 1","description":"The first line of this address.","classification":"","indexed":true},"address_line2":{"label":"Address Line 2","description":"The second line of this address.","classification":"","indexed":true},"address_line3":{"label":"Address Line 3","description":"The third line of this address.","classification":"","indexed":true},"city":{"label":"City","description":"The city of this address.","classification":"","indexed":true},"zip_postal_code":{"label":"Postal Code","description":"The postal code of this address.","classification":"","indexed":true},"residence_number":{"label":"Residence Number","description":"The residence number of this address.","classification":"","indexed":true},"province_state":{"label":"State/Province Value","description":"The state or province of this address.","classification":"","indexed":true},"county":{"label":"County","description":"The county of this address.","classification":"","indexed":true},"country":{"label":"Country Value","description":"The country of this address.","classification":"","indexed":true},"latitude_degrees":{"label":"Latitude Degrees","description":"The latitude of this address.","classification":"","indexed":true},"longitude_degrees":{"label":"Longitude Degrees","description":"The longitude of this address.","classification":"","indexed":true}}},"telephone":{"label":"Party Contact Method","description":"The ways that an entity can be reached. Some examples include email addresses, phone numbers, and social media. ","classification":"","matching_types":["PHONE"],"fields":{"phone_number":{"label":"Phone Number","description":"The text or number string provided for this contact method. For example, if the contact method type is telephone, then this column contains the digits for the phone number.","classification":"","indexed":true}}},"email":{"label":"Party Email","description":"The ways that an entity can be reached. Some examples include email addresses, phone numbers, and social media. ","classification":"","matching_types":["EMAIL"],"fields":{"email_id":{"label":"Email Id","description":"The text or number string provided for this contact method. For example, if the contact method type is telephone, then this column contains the digits for the phone number.","classification":"","indexed":true}}},"social_media":{"label":"Party Social Media","description":"The ways that an entity can be reached. Some examples include email addresses, phone numbers, and social media. ","classification":"","matching_types":["SOCIALMEDIA"],"fields":{"social_media_handle":{"label":"Social Media Handle","description":"The text or number string provided for this contact method. For example, if the contact method type is telephone, then this column contains the digits for the phone number.","classification":"","indexed":true}}},"identification":{"label":"identification","description":"A unique identifier that can be used to distinguish a party from others.","classification":"","matching_types":["NATIONALIDENTIFIER","PAYMENTCARDNUMBER","OTHERIDENTIFIER"],"fields":{"identification_number":{"label":"Identification Number","description":"The actual alphanumeric identifier. For example, if the identification type indicates a social security number, then this value contains the 9 characters of the social security number.","classification":"","indexed":true}}},"person_name":{"label":"Person Name","description":"Information about a name associated with a person record.","classification":"","matching_types":["PERSONNAME"],"fields":{"generation":{"label":"Generation Value","description":"Identifies familial generational information in the form of a generation type. Examples include The First, The Second, Junior or Senior.","classification":"","indexed":true},"prefix":{"label":"Prefix Value","description":"The name prefix, such as Mr, Mrs, Miss, Dr, and others.","classification":"","indexed":true},"given_name":{"label":"Given Name","description":"The first given name of a person. Commonly known as the first name.","classification":"","indexed":true},"middle_name":{"label":"Middle Name","description":"The second given name of a person. Commonly known as the middle name.","classification":"","indexed":true},"last_name":{"label":"Last Name","description":"The surname or family name of a person. Commonly known as the last name.","classification":"","indexed":true},"suffix":{"label":"suffix","description":"The name suffix, such as Jr, MD, Esq, PhD, and others.","classification":"","indexed":true},"full_name":{"label":"Full name","description":"","classification":"","indexed":true}}},"organization_name":{"label":"Organization Name","description":"Information about a name associated with an organization record.","classification":"","matching_types":["ORGNAME"],"fields":{"name":{"label":"name","description":"The organization name.","classification":"","indexed":true}}},"string":{"label":"Simple attribute","description":"A single field primitive attribute","classification":"","fields":{"value":{"label":"Value","description":"","classification":"","indexed":true}}}},"relationship_types":{"linkage":{"label":"Linkage","label_from_source":"Linked into","label_from_target":"Linked from","description":"This is the built in linkage relationship type the matching engine creates between records and their resolved entities","cardinality":"ONE2MANY","directional":true}}}"
DataModelRelationshipType dataModelRelationshipTypeModel = new DataModelRelationshipType.Builder() .label("testString") .build(); DataModelField dataModelFieldModel = new DataModelField.Builder() .label("testString") .build(); DataModelAttributeType dataModelAttributeTypeModel = new DataModelAttributeType.Builder() .label("testString") .fields(new java.util.HashMap<String, DataModelField>() { { put("foo", dataModelFieldModel); } }) .build(); DataModelAttribute dataModelAttributeModel = new DataModelAttribute.Builder() .label("testString") .attributeType("testString") .build(); DataModelRecordType dataModelRecordTypeModel = new DataModelRecordType.Builder() .label("testString") .attributes(new java.util.HashMap<String, DataModelAttribute>() { { put("foo", dataModelAttributeModel); } }) .build(); DataModelSystemProperty dataModelSystemPropertyModel = new DataModelSystemProperty.Builder() .label("testString") .dataType("testString") .build(); DataModelRelationshipTypeSystemProperties dataModelRelationshipTypeSystemPropertiesModel = new DataModelRelationshipTypeSystemProperties.Builder() .relationshipLastUpdated(dataModelSystemPropertyModel) .build(); DataModelAttributeTypeSystemProperties dataModelAttributeTypeSystemPropertiesModel = new DataModelAttributeTypeSystemProperties.Builder() .attributeLastUpdated(dataModelSystemPropertyModel) .build(); DataModelRecordTypeSystemProperties dataModelRecordTypeSystemPropertiesModel = new DataModelRecordTypeSystemProperties.Builder() .recordId(dataModelSystemPropertyModel) .collectionId(dataModelSystemPropertyModel) .recordSource(dataModelSystemPropertyModel) .recordLastUpdated(dataModelSystemPropertyModel) .recordNumber(dataModelSystemPropertyModel) .build(); DataModelEntityTypeSystemProperties dataModelEntityTypeSystemPropertiesModel = new DataModelEntityTypeSystemProperties.Builder() .entityId(dataModelSystemPropertyModel) .entityLastUpdated(dataModelSystemPropertyModel) .build(); DataModelSystemProperties dataModelSystemPropertiesModel = new DataModelSystemProperties.Builder() .relationshipTypes(dataModelRelationshipTypeSystemPropertiesModel) .attributeTypes(dataModelAttributeTypeSystemPropertiesModel) .recordTypes(dataModelRecordTypeSystemPropertiesModel) .entityTypes(dataModelEntityTypeSystemPropertiesModel) .build(); ReplaceModelDataModelOptions replaceModelDataModelOptions = new ReplaceModelDataModelOptions.Builder() .relationshipTypes(new java.util.HashMap<String, DataModelRelationshipType>() { { put("foo", dataModelRelationshipTypeModel); } }) .attributeTypes(new java.util.HashMap<String, DataModelAttributeType>() { { put("foo", dataModelAttributeTypeModel); } }) .recordTypes(new java.util.HashMap<String, DataModelRecordType>() { { put("foo", dataModelRecordTypeModel); } }) .systemProperties(dataModelSystemPropertiesModel) .locale("testString") .build(); Response<PutDataModel> response = mdmService.replaceModelDataModel(replaceModelDataModelOptions).execute(); PutDataModel putDataModel = response.getResult(); System.out.println(putDataModel);
Response
Response wrapper object for overwritting data model
Collection of record and relationship types definition
Current state of flow according to its state machine
System generated flow identifier
Response wrapper object for overwritting data model.
Collection of record and relationship types definition.
- dataModel
Collection of user defined record types. The record type key must be lower snake case (i.e. person, organization).
- recordTypes
User defined translatable label.
Read-only collection of applicable entity types.
- entityTypes
Read-only label of entity type.
Read-only type of entity type, one of individual or household.
Read-only description of entity type.
Tag to define the entity type as default.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e primary_residence).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of relationship types. The relationship type key must be lower snake case (i.e. employment).
- relationshipTypes
User defined translatable label.
User defined translatable label of 'from' endpoint in the relationship.
User defined translatable label of 'to' endpoint in the relationship.
True if the relationship is directional, otherwise false. The default value is true.
Collection of defined relationship rules.
- rules
Defines record types or entity types allowed as relationship endpoint.
- source
Collection of allowed record types.
Collection of allowed entity types.
Defines record types or entity types allowed as relationship endpoint.
- target
Collection of allowed record types.
Collection of allowed entity types.
User defined cardinality, one of MULTI, SIMPLE, MANY2ONE, ONE2MANY or ONE2ONE. The default value is MULTI.
True for linkage relationship, otherwise false. The default value is false.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e. employment_detail).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address).
- attributeTypes
User defined translatable label.
User defined classification.
Collection of matching types, a subset of: PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER and PAYMENTCARDNUMBER.
User defined translatable description.
Collection of user defined fields.
- fields
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined translatable description.
Collection of common fields applicable to various types in data model.
- systemProperties
Defines metadata of system properties of record types.
- recordTypes
Defines metadata of a system property.
- recordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- collectionId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all entity types.
- entityTypes
Defines metadata of a system property.
- entityId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- entityLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all relationship types.
- relationshipTypes
Defines metadata of a system property.
- relationshipType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all attribute types.
- attributeTypes
Defines metadata of a system property.
- attributeLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Internal version of system properties.
The request language and location (i.e. enUS).
Current state of flow according to its state machine.
System generated flow identifier.
Status Code
The data model has been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "draft", "flow_id": "41017488", "data_model": { "locale": "en_us", "system_properties": {}, "record_types": {}, "attribute_types": {}, "relationship_types": {} } }
{ "flow_state": "draft", "flow_id": "41017488", "data_model": { "locale": "en_us", "system_properties": {}, "record_types": {}, "attribute_types": {}, "relationship_types": {} } }
Partially modify data model
- This service partially modifies the data model for record types and relationship types.
- Data model defines the fields and attributes associated to one or more record types (e.g. person, organization) and one or more relationship types (e.g. sibling, employment).
- This service partially modifies the data model for record types and relationship types.
- Data model defines the fields and attributes associated to one or more record types (e.g. person, organization) and one or more relationship types (e.g. sibling, employment).
PATCH /mdm/v1/data_model
ServiceCall<PutDataModel> updateModelDataModel(UpdateModelDataModelOptions updateModelDataModelOptions)
Request
Use the UpdateModelDataModelOptions.Builder
to create a UpdateModelDataModelOptions
object that contains the parameter values for the updateModelDataModel
method.
Query Parameters
The cloud resource name of the service.
Collection of record and relationship types definition
Collection of user defined record types. The record type key must be lower snake case (i.e. person, organization)
- record_types
A single user defined record type
Collection of relationship types. The relationship type key must be lower snake case (i.e. employment)
- relationship_types
A single relationship type
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address)
- attribute_types
A single user defined attribute type
Collection of common fields applicable to various types in data model
The request language and location (i.e. enUS)
The updateModelDataModel options.
Collection of user defined record types. The record type key must be lower snake case (i.e. person, organization).
- recordTypes
User defined translatable label.
Read-only collection of applicable entity types.
- entityTypes
Read-only label of entity type.
Read-only type of entity type, one of individual or household.
Read-only description of entity type.
Tag to define the entity type as default.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e primary_residence).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of relationship types. The relationship type key must be lower snake case (i.e. employment).
- relationshipTypes
User defined translatable label.
User defined translatable label of 'from' endpoint in the relationship.
User defined translatable label of 'to' endpoint in the relationship.
True if the relationship is directional, otherwise false. The default value is true.
Collection of defined relationship rules.
- rules
Defines record types or entity types allowed as relationship endpoint.
- source
Collection of allowed record types.
Collection of allowed entity types.
Defines record types or entity types allowed as relationship endpoint.
- target
Collection of allowed record types.
Collection of allowed entity types.
User defined cardinality, one of MULTI, SIMPLE, MANY2ONE, ONE2MANY or ONE2ONE. The default value is MULTI.
True for linkage relationship, otherwise false. The default value is false.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e. employment_detail).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address).
- attributeTypes
User defined translatable label.
User defined classification.
Collection of matching types, a subset of: PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER and PAYMENTCARDNUMBER.
User defined translatable description.
Collection of user defined fields.
- fields
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined translatable description.
Collection of common fields applicable to various types in data model.
- systemProperties
Defines metadata of system properties of record types.
- recordTypes
Defines metadata of a system property.
- recordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- collectionId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all entity types.
- entityTypes
Defines metadata of a system property.
- entityId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- entityLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all relationship types.
- relationshipTypes
Defines metadata of a system property.
- relationshipType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all attribute types.
- attributeTypes
Defines metadata of a system property.
- attributeLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Internal version of system properties.
The request language and location (i.e. enUS).
curl -X PATCH --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/data_model?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"attribute_types":{"third_string":{"label":"Second complex attribute","description":"A single field complex attribute","classification":"","fields":{"value":{"label":"Value","description":"","classification":"","indexed":true}}}}}"
DataModelRelationshipType dataModelRelationshipTypeModel = new DataModelRelationshipType.Builder() .label("testString") .build(); DataModelField dataModelFieldModel = new DataModelField.Builder() .label("testString") .build(); DataModelAttributeType dataModelAttributeTypeModel = new DataModelAttributeType.Builder() .label("testString") .fields(new java.util.HashMap<String, DataModelField>() { { put("foo", dataModelFieldModel); } }) .build(); DataModelAttribute dataModelAttributeModel = new DataModelAttribute.Builder() .label("testString") .attributeType("testString") .build(); DataModelRecordType dataModelRecordTypeModel = new DataModelRecordType.Builder() .label("testString") .attributes(new java.util.HashMap<String, DataModelAttribute>() { { put("foo", dataModelAttributeModel); } }) .build(); DataModelSystemProperty dataModelSystemPropertyModel = new DataModelSystemProperty.Builder() .label("testString") .dataType("testString") .build(); DataModelRelationshipTypeSystemProperties dataModelRelationshipTypeSystemPropertiesModel = new DataModelRelationshipTypeSystemProperties.Builder() .relationshipLastUpdated(dataModelSystemPropertyModel) .build(); DataModelAttributeTypeSystemProperties dataModelAttributeTypeSystemPropertiesModel = new DataModelAttributeTypeSystemProperties.Builder() .attributeLastUpdated(dataModelSystemPropertyModel) .build(); DataModelRecordTypeSystemProperties dataModelRecordTypeSystemPropertiesModel = new DataModelRecordTypeSystemProperties.Builder() .recordId(dataModelSystemPropertyModel) .collectionId(dataModelSystemPropertyModel) .recordSource(dataModelSystemPropertyModel) .recordLastUpdated(dataModelSystemPropertyModel) .recordNumber(dataModelSystemPropertyModel) .build(); DataModelEntityTypeSystemProperties dataModelEntityTypeSystemPropertiesModel = new DataModelEntityTypeSystemProperties.Builder() .entityId(dataModelSystemPropertyModel) .entityLastUpdated(dataModelSystemPropertyModel) .build(); DataModelSystemProperties dataModelSystemPropertiesModel = new DataModelSystemProperties.Builder() .relationshipTypes(dataModelRelationshipTypeSystemPropertiesModel) .attributeTypes(dataModelAttributeTypeSystemPropertiesModel) .recordTypes(dataModelRecordTypeSystemPropertiesModel) .entityTypes(dataModelEntityTypeSystemPropertiesModel) .build(); UpdateModelDataModelOptions updateModelDataModelOptions = new UpdateModelDataModelOptions.Builder() .relationshipTypes(new java.util.HashMap<String, DataModelRelationshipType>() { { put("foo", dataModelRelationshipTypeModel); } }) .attributeTypes(new java.util.HashMap<String, DataModelAttributeType>() { { put("foo", dataModelAttributeTypeModel); } }) .recordTypes(new java.util.HashMap<String, DataModelRecordType>() { { put("foo", dataModelRecordTypeModel); } }) .systemProperties(dataModelSystemPropertiesModel) .locale("testString") .build(); Response<PutDataModel> response = mdmService.updateModelDataModel(updateModelDataModelOptions).execute(); PutDataModel putDataModel = response.getResult(); System.out.println(putDataModel);
Response
Response wrapper object for overwritting data model
Collection of record and relationship types definition
Current state of flow according to its state machine
System generated flow identifier
Response wrapper object for overwritting data model.
Collection of record and relationship types definition.
- dataModel
Collection of user defined record types. The record type key must be lower snake case (i.e. person, organization).
- recordTypes
User defined translatable label.
Read-only collection of applicable entity types.
- entityTypes
Read-only label of entity type.
Read-only type of entity type, one of individual or household.
Read-only description of entity type.
Tag to define the entity type as default.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e primary_residence).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of relationship types. The relationship type key must be lower snake case (i.e. employment).
- relationshipTypes
User defined translatable label.
User defined translatable label of 'from' endpoint in the relationship.
User defined translatable label of 'to' endpoint in the relationship.
True if the relationship is directional, otherwise false. The default value is true.
Collection of defined relationship rules.
- rules
Defines record types or entity types allowed as relationship endpoint.
- source
Collection of allowed record types.
Collection of allowed entity types.
Defines record types or entity types allowed as relationship endpoint.
- target
Collection of allowed record types.
Collection of allowed entity types.
User defined cardinality, one of MULTI, SIMPLE, MANY2ONE, ONE2MANY or ONE2ONE. The default value is MULTI.
True for linkage relationship, otherwise false. The default value is false.
User defined translatable description.
Collection of applicable attributes. The attribute key must be lower snake case (i.e. employment_detail).
- attributes
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined matching type (only applicable to record type), one of PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER or PAYMENTCARDNUMBER.
The type of attribute (i.e. address).
User defined cardinality, one of SINGLE, LIST or SET. The default value is LIST.
User defined translatable description.
Collection of user defined attribute types. The attribute type key must be lower snake case (i.e. address).
- attributeTypes
User defined translatable label.
User defined classification.
Collection of matching types, a subset of: PERSONNAME, ORGNAME, GENDER, DATE, EMAIL, SOCIALMEDIA, ADDRESS, PHONE, NATIONALIDENTIFIER, OTHERIDENTIFIER and PAYMENTCARDNUMBER.
User defined translatable description.
Collection of user defined fields.
- fields
User defined translatable label.
User defined indexed indicator. The default value is true.
User defined classification.
User defined translatable description.
Collection of common fields applicable to various types in data model.
- systemProperties
Defines metadata of system properties of record types.
- recordTypes
Defines metadata of a system property.
- recordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- collectionId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- recordLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all entity types.
- entityTypes
Defines metadata of a system property.
- entityId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- entityLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all relationship types.
- relationshipTypes
Defines metadata of a system property.
- relationshipType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordType
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordSource
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- fromRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- relationshipNumber
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of a system property.
- toRecordId
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Defines metadata of system properties of all attribute types.
- attributeTypes
Defines metadata of a system property.
- attributeLastUpdated
System pre-defined data type. One of: String or Long.
System pre-defined label.
System pre-defined indexed indicator. The default value is true.
System pre-defined settable indicator. The default value is false.
System pre-defined editable indicator. The default value is false.
System pre-defined description.
Internal version of system properties.
The request language and location (i.e. enUS).
Current state of flow according to its state machine.
System generated flow identifier.
Status Code
The data model has been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "flow_id": "135208", "data_model": {} }
{ "flow_state": "published", "flow_id": "135208", "data_model": {} }
Retrieve the latest workflow information
- This service retrieves the latest workflow information of a previously requested change to data model.
- An update to data model is only finalized when its corresponding workflow is approved by the authorized approvers.
- This capability is primarily built for internal approval processes.
- This service retrieves the latest workflow information of a previously requested change to data model.
- An update to data model is only finalized when its corresponding workflow is approved by the authorized approvers.
- This capability is primarily built for internal approval processes.
GET /mdm/v1/flows/{flow_id}
ServiceCall<Flow> getModelFlow(GetModelFlowOptions getModelFlowOptions)
Request
Use the GetModelFlowOptions.Builder
to create a GetModelFlowOptions
object that contains the parameter values for the getModelFlow
method.
Path Parameters
The unique identifier of a workflow as assigned by the system
Query Parameters
The cloud resource name of the service.
The getModelFlow options.
The unique identifier of a workflow as assigned by the system.
GetModelFlowOptions getModelFlowOptions = new GetModelFlowOptions.Builder() .flowId("testString") .build(); Response<Flow> response = mdmService.getModelFlow(getModelFlowOptions).execute(); Flow flow = response.getResult(); System.out.println(flow);
Response
Response wrapper object for retrieving a flow
Current state of flow according to its state machine
System generated flow identifier
Type of flow. One of: data_model, algorithm, compare_spec_resources, composite_rules, map_resources or set_resources
Collection of authorized approvers that rejected the flow
Collection of authorized approvers that approved the flow
True if the flow is active
Response wrapper object for retrieving a flow.
Current state of flow according to its state machine.
System generated flow identifier.
Type of flow. One of: data_model, algorithm, compare_spec_resources, composite_rules, map_resources or set_resources.
Collection of authorized approvers that rejected the flow.
Collection of authorized approvers that approved the flow.
True if the flow is active.
Status Code
The flow status has been successfully retrieved
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "flow_type": "data_model", "rejections": [], "flow_id": "192696", "approvals": [], "active": false }
{ "flow_state": "published", "flow_type": "data_model", "rejections": [], "flow_id": "192696", "approvals": [], "active": false }
Approve or Reject an active workflow
- This service is used to approve or reject an active workflow specified by the supplied flow_id.
- An update to data model is only finalized when its corresponding workflow is approved by the authorized approvers.
- This capability is primarily built for internal approval processes.
- This service is used to approve or reject an active workflow specified by the supplied flow_id.
- An update to data model is only finalized when its corresponding workflow is approved by the authorized approvers.
- This capability is primarily built for internal approval processes.
PATCH /mdm/v1/flows/{flow_id}
ServiceCall<Flow> updateModelFlow(UpdateModelFlowOptions updateModelFlowOptions)
Request
Use the UpdateModelFlowOptions.Builder
to create a UpdateModelFlowOptions
object that contains the parameter values for the updateModelFlow
method.
Path Parameters
The unique identifier of a workflow as assigned by the system
Query Parameters
The cloud resource name of the service.
Request wrapper object for updating a flow
One of: approve or reject
Authorized approver name who invokes the action
Additional detail about the action (i.e. success)
The updateModelFlow options.
The unique identifier of a workflow as assigned by the system.
One of: approve or reject.
Authorized approver name who invokes the action.
Additional detail about the action (i.e. success).
UpdateModelFlowOptions updateModelFlowOptions = new UpdateModelFlowOptions.Builder() .flowId("testString") .approverName("testString") .action("testString") .build(); Response<Flow> response = mdmService.updateModelFlow(updateModelFlowOptions).execute(); Flow flow = response.getResult(); System.out.println(flow);
Response
Response wrapper object for retrieving a flow
Current state of flow according to its state machine
System generated flow identifier
Type of flow. One of: data_model, algorithm, compare_spec_resources, composite_rules, map_resources or set_resources
Collection of authorized approvers that rejected the flow
Collection of authorized approvers that approved the flow
True if the flow is active
Response wrapper object for retrieving a flow.
Current state of flow according to its state machine.
System generated flow identifier.
Type of flow. One of: data_model, algorithm, compare_spec_resources, composite_rules, map_resources or set_resources.
Collection of authorized approvers that rejected the flow.
Collection of authorized approvers that approved the flow.
True if the flow is active.
Status Code
The flow has been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "flow_type": "data_model", "rejections": [], "flow_id": "192696", "approvals": [], "active": false }
{ "flow_state": "published", "flow_type": "data_model", "rejections": [], "flow_id": "192696", "approvals": [], "active": false }
Retrieve the configured metadata
- This service retrieves the configured metadata for a provisioned instance of system.
- The onboarding process of a new subscriber to Master Data Management On Cloud depends on capturing and maintaining certain configured metadata for their provisioned instance.
- Instance Metadata is a json document that primarily contains the catalog and project information in Watson Knowledge Catalog and the details of Cloud Object Storage if provided by the user.
- This service retrieves the configured metadata for a provisioned instance of system.
- The onboarding process of a new subscriber to Master Data Management On Cloud depends on capturing and maintaining certain configured metadata for their provisioned instance.
- Instance Metadata is a json document that primarily contains the catalog and project information in Watson Knowledge Catalog and the details of Cloud Object Storage if provided by the user.
GET /mdm/v1/instance_metadata
ServiceCall<InstanceMetadataResponse> getModelInstanceMetadata(GetModelInstanceMetadataOptions getModelInstanceMetadataOptions)
Request
Use the GetModelInstanceMetadataOptions.Builder
to create a GetModelInstanceMetadataOptions
object that contains the parameter values for the getModelInstanceMetadata
method.
Query Parameters
The cloud resource name of the service.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/instance_metadata?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetModelInstanceMetadataOptions getModelInstanceMetadataOptions = new GetModelInstanceMetadataOptions(); Response<InstanceMetadataResponse> response = mdmService.getModelInstanceMetadata(getModelInstanceMetadataOptions).execute(); InstanceMetadataResponse instanceMetadataResponse = response.getResult(); System.out.println(instanceMetadataResponse);
Response
Wrapper object for instance metadata response
Label for instance metadata
Bulkload Bucket credentials
Collection of catalog objects as available in Watson Knowledge Catalog (WKC)
The unique identifier of a project for the jobs
Collection of project objects as available in Watson Knowledge Catalog (WKC)
Endpoint of a cloud object storage
The cloud resource Name of cloud object storage
Wrapper object for instance metadata response.
Label for instance metadata.
Bulkload Bucket credentials.
- bulkloadBucket
The location of the cloud object storage bucket.
Bucket API key of a cloud object storage.
Name of a bucket on cloud object storage.
Collection of catalog objects as available in Watson Knowledge Catalog (WKC).
- catalogs
Unique Identifier of the catalog associated with instance.
Name of the catalog associated with instance.
The unique identifier of a project for the jobs.
Collection of project objects as available in Watson Knowledge Catalog (WKC).
- projects
Unique Identifier of the project associated with instance.
Identifier for the configuration asset created on the project.
Name of the project associated with instance.
Identifier for the data asset created on the project.
Endpoint of a cloud object storage.
The cloud resource Name of cloud object storage.
Status Code
The instance metadata has been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "label": "test instance", "catalogs": [ { "catalog_instance": "wkc instance", "catalog_id": "123_catalog" } ], "projects": [ { "project_id": "123_project", "project_name": "test project", "asset_id": "123_asset" } ], "job_project_id": "123" }
{ "label": "test instance", "catalogs": [ { "catalog_instance": "wkc instance", "catalog_id": "123_catalog" } ], "projects": [ { "project_id": "123_project", "project_name": "test project", "asset_id": "123_asset" } ], "job_project_id": "123" }
Overwrite the configured metadata
- This service overwrites the configured metadata for a provisioned instance of system.
- The onboarding process of a new subscriber to Master Data Management On Cloud depends on capturing and maintaining certain configured metadata for their provisioned instance.
- Instance Metadata is a json document that primarily contains the catalog and project information in Watson Knowledge Catalog and the details of Cloud Object Storage if provided by the user.
- This service overwrites the configured metadata for a provisioned instance of system.
- The onboarding process of a new subscriber to Master Data Management On Cloud depends on capturing and maintaining certain configured metadata for their provisioned instance.
- Instance Metadata is a json document that primarily contains the catalog and project information in Watson Knowledge Catalog and the details of Cloud Object Storage if provided by the user.
PUT /mdm/v1/instance_metadata
ServiceCall<InstanceMetadataResponse> replaceModelInstanceMetadata(ReplaceModelInstanceMetadataOptions replaceModelInstanceMetadataOptions)
Request
Use the ReplaceModelInstanceMetadataOptions.Builder
to create a ReplaceModelInstanceMetadataOptions
object that contains the parameter values for the replaceModelInstanceMetadata
method.
Query Parameters
The cloud resource name of the service.
Wrapper object for instance metadata
Label for instance metadata
Bulkload Bucket credentials
Collection of catalog objects as available in Watson Knowledge Catalog (WKC)
The unique identifier of a project for the jobs
Collection of project objects as available in Watson Knowledge Catalog (WKC)
Endpoint of a cloud object storage
The cloud resource Name of cloud object storage
The replaceModelInstanceMetadata options.
Label for instance metadata.
Bulkload Bucket credentials.
- bulkloadBucket
The location of the cloud object storage bucket.
Bucket API key of a cloud object storage.
Name of a bucket on cloud object storage.
Collection of catalog objects as available in Watson Knowledge Catalog (WKC).
- catalogs
Unique Identifier of the catalog associated with instance.
Name of the catalog associated with instance.
The unique identifier of a project for the jobs.
Collection of project objects as available in Watson Knowledge Catalog (WKC).
- projects
Unique Identifier of the project associated with instance.
Identifier for the configuration asset created on the project.
Name of the project associated with instance.
Identifier for the data asset created on the project.
Endpoint of a cloud object storage.
The cloud resource Name of cloud object storage.
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/instance_metadata?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"label":"test instance","catalogs":[{"catalog_instance":"wkc instance","catalog_id":"123_catalog"}],"projects":[{"project_id":"123_project","project_name":"test project","asset_id":"123_asset"}]}"
ReplaceModelInstanceMetadataOptions replaceModelInstanceMetadataOptions = new ReplaceModelInstanceMetadataOptions.Builder() .build(); Response<InstanceMetadataResponse> response = mdmService.replaceModelInstanceMetadata(replaceModelInstanceMetadataOptions).execute(); InstanceMetadataResponse instanceMetadataResponse = response.getResult(); System.out.println(instanceMetadataResponse);
Response
Wrapper object for instance metadata response
Label for instance metadata
Bulkload Bucket credentials
Collection of catalog objects as available in Watson Knowledge Catalog (WKC)
The unique identifier of a project for the jobs
Collection of project objects as available in Watson Knowledge Catalog (WKC)
Endpoint of a cloud object storage
The cloud resource Name of cloud object storage
Wrapper object for instance metadata response.
Label for instance metadata.
Bulkload Bucket credentials.
- bulkloadBucket
The location of the cloud object storage bucket.
Bucket API key of a cloud object storage.
Name of a bucket on cloud object storage.
Collection of catalog objects as available in Watson Knowledge Catalog (WKC).
- catalogs
Unique Identifier of the catalog associated with instance.
Name of the catalog associated with instance.
The unique identifier of a project for the jobs.
Collection of project objects as available in Watson Knowledge Catalog (WKC).
- projects
Unique Identifier of the project associated with instance.
Identifier for the configuration asset created on the project.
Name of the project associated with instance.
Identifier for the data asset created on the project.
Endpoint of a cloud object storage.
The cloud resource Name of cloud object storage.
Status Code
The instance metadata has been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "label": "test instance", "catalogs": [ { "catalog_instance": "wkc instance", "catalog_id": "123_catalog" } ], "projects": [ { "project_id": "123_project", "project_name": "test project", "asset_id": "123_asset" } ], "job_project_id": "123" }
{ "label": "test instance", "catalogs": [ { "catalog_instance": "wkc instance", "catalog_id": "123_catalog" } ], "projects": [ { "project_id": "123_project", "project_name": "test project", "asset_id": "123_asset" } ], "job_project_id": "123" }
Retrieve a summary of all equivalency criteria
- This service retrieves the list of resource names of all existing equivalency criteria.
- A Map Resource is a json document containing a collection of equivalency criteria (e.g. BOB, ROB) for given tokens (e.g. ROBERT).
- A Map Resource may be used in standardization, bucket generation and comparison recipes within one more more algorithms.
- This service retrieves the list of resource names of all existing equivalency criteria.
- A Map Resource is a json document containing a collection of equivalency criteria (e.g. BOB, ROB) for given tokens (e.g. ROBERT).
- A Map Resource may be used in standardization, bucket generation and comparison recipes within one more more algorithms.
GET /mdm/v1/map_resources
ServiceCall<MapResourceNames> listModelMapResources(ListModelMapResourcesOptions listModelMapResourcesOptions)
Request
Use the ListModelMapResourcesOptions.Builder
to create a ListModelMapResourcesOptions
object that contains the parameter values for the listModelMapResources
method.
Query Parameters
The cloud resource name of the service.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/map_resources?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListModelMapResourcesOptions listModelMapResourcesOptions = new ListModelMapResourcesOptions(); Response<MapResourceNames> response = mdmService.listModelMapResources(listModelMapResourcesOptions).execute(); MapResourceNames mapResourceNames = response.getResult(); System.out.println(mapResourceNames);
Response
Response wrapper object for all map resource names
Collection of map resource names
Response wrapper object for all map resource names.
Collection of map resource names.
Status Code
The resources have been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "map_resource_names": [ "person_map_address_address_line_equivalents", "person_map_address_country_equivalents", "org_map_address_province_equivalents", "org_map_character_phone", "person_map_address_tokens_city", "org_map_address_province_state", "person_map_address_tokens_latitude", "org_map_address_sub_division_equivalents", "person_map_address_tokens_province", "person_map_address_tokens_street_number_name_direction_type", "org_map_address_tokens_longtitude" ] }
{ "map_resource_names": [ "person_map_address_address_line_equivalents", "person_map_address_country_equivalents", "org_map_address_province_equivalents", "org_map_character_phone", "person_map_address_tokens_city", "org_map_address_province_state", "person_map_address_tokens_latitude", "org_map_address_sub_division_equivalents", "person_map_address_tokens_province", "person_map_address_tokens_street_number_name_direction_type", "org_map_address_tokens_longtitude" ] }
Retrieve details of equivalency criteria
- This service retrieves all existing equivalency criteria for a given resource name.
- A Map Resource is a json document containing a collection of equivalency criteria (e.g. BOB, ROB) for given tokens (e.g. ROBERT).
- A Map Resource may be used in standardization, bucket generation and comparison recipes within one more more algorithms.
- This service retrieves all existing equivalency criteria for a given resource name.
- A Map Resource is a json document containing a collection of equivalency criteria (e.g. BOB, ROB) for given tokens (e.g. ROBERT).
- A Map Resource may be used in standardization, bucket generation and comparison recipes within one more more algorithms.
GET /mdm/v1/map_resources/{resource_name}
ServiceCall<Map<String, List<MapResourceEntry>>> getModelMapResource(GetModelMapResourceOptions getModelMapResourceOptions)
Request
Use the GetModelMapResourceOptions.Builder
to create a GetModelMapResourceOptions
object that contains the parameter values for the getModelMapResource
method.
Path Parameters
The unique identifier for the configuration for the equivalent words
Query Parameters
The cloud resource name of the service.
The getModelMapResource options.
The unique identifier for the configuration for the equivalent words.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/map_resources/person_map_address_country?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetModelMapResourceOptions getModelMapResourceOptions = new GetModelMapResourceOptions.Builder() .resourceName("testString") .build(); Response<Map<String, List<MapResourceEntry>>> response = mdmService.getModelMapResource(getModelMapResourceOptions).execute(); Map<String, List<MapResourceEntry>> mapStringListMapResourceEntry = response.getResult(); System.out.println(mapStringListMapResourceEntry);
Response
Response type: Map<String, List<MapResourceEntry>>
A single map resource used for matching algorithm like for handling equivalent values. Map resource key must be lower snake case (i.e. nickname)
A single entry of mapping
- any property
Collection of applicable regular expressions
Collection of user defined values mapped to the key
User defined data type for the values in the category. One of: String, byte, short, int, long, float, double, char or boolean
User defined context category, when applicable (i.e. UNITEDSTATES)
The cardinality of map entry, when applicable
User defined key (i.e. Ron)
Status Code
The resources have been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The resources requested do not exist.
The request cannot be processed due to an unexpected system error.
{ "country": [ { "category": "", "key": "USA", "values": [ "UNITED STATES", "UNITED STATES OF AMERICA", "US" ], "regex": [] }, { "category": "", "key": "UK", "values": [ "GREAT BRITAIN", "UNITED KINGDOM" ], "regex": [] } ] }
{ "country": [ { "category": "", "key": "USA", "values": [ "UNITED STATES", "UNITED STATES OF AMERICA", "US" ], "regex": [] }, { "category": "", "key": "UK", "values": [ "GREAT BRITAIN", "UNITED KINGDOM" ], "regex": [] } ] }
Overwrite equivalency criteria
- This service completely overwrites equivalency criteria for a given resource name.
- A Map Resource is a json document containing a collection of equivalency criteria (e.g. BOB, ROB) for given tokens (e.g. ROBERT).
- A Map Resource may be used in standardization, bucket generation and comparison recipes within one more more algorithms.
- This service completely overwrites equivalency criteria for a given resource name.
- A Map Resource is a json document containing a collection of equivalency criteria (e.g. BOB, ROB) for given tokens (e.g. ROBERT).
- A Map Resource may be used in standardization, bucket generation and comparison recipes within one more more algorithms.
PUT /mdm/v1/map_resources/{resource_name}
ServiceCall<PutMapResources> replaceModelMapResource(ReplaceModelMapResourceOptions replaceModelMapResourceOptions)
Request
Use the ReplaceModelMapResourceOptions.Builder
to create a ReplaceModelMapResourceOptions
object that contains the parameter values for the replaceModelMapResource
method.
Path Parameters
The unique identifier for the configuration for the equivalent words
Query Parameters
The cloud resource name of the service.
A single map resource used for matching algorithm like for handling equivalent values. Map resource key must be lower snake case (i.e. nickname)
A single entry of mapping
- any property
Collection of applicable regular expressions
Collection of user defined values mapped to the key
User defined data type for the values in the category. One of: String, byte, short, int, long, float, double, char or boolean
User defined context category, when applicable (i.e. UNITEDSTATES)
The cardinality of map entry, when applicable
User defined key (i.e. Ron)
The replaceModelMapResource options.
The unique identifier for the configuration for the equivalent words.
A single map resource used for matching algorithm like for handling equivalent values. Map resource key must be lower snake case (i.e. nickname).
- requestBody
User defined data type for the values in the category. One of: String, byte, short, int, long, float, double, char or boolean.
Collection of applicable regular expressions.
User defined context category, when applicable (i.e. UNITEDSTATES).
The cardinality of map entry, when applicable.
Collection of user defined values mapped to the key.
User defined key (i.e. Ron).
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/map_resources/person_map_address_country?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::" --data "{"country":[{"category":"","key":"USA","values":["UNITED STATES","UNITED STATES OF AMERICA","US"],"regex":[]},{"category":"","key":"UK","values":["GREAT BRITAIN","UNITED KINGDOM"],"regex":[]}]}"
MapResourceEntry mapResourceEntryModel = new MapResourceEntry.Builder() .regex(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .values(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .build(); ReplaceModelMapResourceOptions replaceModelMapResourceOptions = new ReplaceModelMapResourceOptions.Builder() .resourceName("testString") .requestBody(new java.util.HashMap<String, List<MapResourceEntry>>() { { put("foo", new java.util.ArrayList<MapResourceEntry>(java.util.Arrays.asList(mapResourceEntryModel))); } }) .build(); Response<PutMapResources> response = mdmService.replaceModelMapResource(replaceModelMapResourceOptions).execute(); PutMapResources putMapResources = response.getResult(); System.out.println(putMapResources);
Response
Response wrapper object for overwriting map resource
Map resource detail
- map_resources
A single entry of mapping
Current state of flow according to its state machine
System generated flow identifier
Response wrapper object for overwriting map resource.
Map resource detail.
- mapResources
User defined data type for the values in the category. One of: String, byte, short, int, long, float, double, char or boolean.
Collection of applicable regular expressions.
User defined context category, when applicable (i.e. UNITEDSTATES).
The cardinality of map entry, when applicable.
Collection of user defined values mapped to the key.
User defined key (i.e. Ron).
Current state of flow according to its state machine.
System generated flow identifier.
Status Code
The resources have been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "flow_id": "172056", "map_resources": {} }
{ "flow_state": "published", "flow_id": "172056", "map_resources": {} }
Retrieve details of anonymous words
- This service retrieves the details of all anonymous words for a given resource name.
- A Set Resource is a json document that generally contains grouped list of values of interest.
- A Set Resource may be used in one or more matching algorithms to filter out the anonymous words in the input fields from further processing.
- This service retrieves the details of all anonymous words for a given resource name.
- A Set Resource is a json document that generally contains grouped list of values of interest.
- A Set Resource may be used in one or more matching algorithms to filter out the anonymous words in the input fields from further processing.
GET /mdm/v1/set_resources/{resource_name}
ServiceCall<Map<String, SetResourceEntry>> getModelSetResource(GetModelSetResourceOptions getModelSetResourceOptions)
Request
Use the GetModelSetResourceOptions.Builder
to create a GetModelSetResourceOptions
object that contains the parameter values for the getModelSetResource
method.
Path Parameters
he unique identifier for the configuration for the anonymous set of words
Query Parameters
The cloud resource name of the service.
The getModelSetResource options.
he unique identifier for the configuration for the anonymous set of words.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/set_resources/person_set_character_date?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
GetModelSetResourceOptions getModelSetResourceOptions = new GetModelSetResourceOptions.Builder() .resourceName("testString") .build(); Response<Map<String, SetResourceEntry>> response = mdmService.getModelSetResource(getModelSetResourceOptions).execute(); Map<String, SetResourceEntry> mapStringSetResourceEntry = response.getResult(); System.out.println(mapStringSetResourceEntry);
Response
Response type: Map<String, SetResourceEntry>
A single set resource used for matching algorithm like for handling anonymous values. Set resource key must be lower snake case (i.e. anonymous)
A single set resource entry
- any property
Collection of applicable regular expressions
Collection of user defined values
User defined data type for the values in the category. One of: String, byte, short, int, long, float, double, char or boolean
User defined context category, when applicable
Status Code
The resources have been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "date": { "values": [ "-" ], "regex": [] } }
{ "date": { "values": [ "-" ], "regex": [] } }
Overwrite anonymous words
- This service completely overwrites the anonymous words for a given resource name.
- A Set Resource is a json document that generally contains grouped list of values of interest.
- A Set Resource may be used in one or more matching algorithms to filter out the anonymous words in the input fields from further processing.
- This service completely overwrites the anonymous words for a given resource name.
- A Set Resource is a json document that generally contains grouped list of values of interest.
- A Set Resource may be used in one or more matching algorithms to filter out the anonymous words in the input fields from further processing.
PUT /mdm/v1/set_resources/{resource_name}
ServiceCall<PutSetResources> replaceModelSetResource(ReplaceModelSetResourceOptions replaceModelSetResourceOptions)
Request
Use the ReplaceModelSetResourceOptions.Builder
to create a ReplaceModelSetResourceOptions
object that contains the parameter values for the replaceModelSetResource
method.
Path Parameters
he unique identifier for the configuration for the anonymous set of words
Query Parameters
The cloud resource name of the service.
A single set resource used for matching algorithm like for handling anonymous values. Set resource key must be lower snake case (i.e. anonymous)
A single set resource entry
- any property
Collection of applicable regular expressions
Collection of user defined values
User defined data type for the values in the category. One of: String, byte, short, int, long, float, double, char or boolean
User defined context category, when applicable
The replaceModelSetResource options.
he unique identifier for the configuration for the anonymous set of words.
A single set resource used for matching algorithm like for handling anonymous values. Set resource key must be lower snake case (i.e. anonymous).
- requestBody
User defined data type for the values in the category. One of: String, byte, short, int, long, float, double, char or boolean.
Collection of applicable regular expressions.
User defined context category, when applicable.
Collection of user defined values.
curl -X PUT --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/set_resources/person_set_character_date?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::&resource_name=test" --data "{"date":{"values":["-"],"regex":[]}}"
SetResourceEntry setResourceEntryModel = new SetResourceEntry.Builder() .regex(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .values(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))) .build(); ReplaceModelSetResourceOptions replaceModelSetResourceOptions = new ReplaceModelSetResourceOptions.Builder() .resourceName("testString") .requestBody(new java.util.HashMap<String, SetResourceEntry>() { { put("foo", setResourceEntryModel); } }) .build(); Response<PutSetResources> response = mdmService.replaceModelSetResource(replaceModelSetResourceOptions).execute(); PutSetResources putSetResources = response.getResult(); System.out.println(putSetResources);
Response
Response wrapper object for overwriting set resource
- set_resources
A single set resource entry
Current state of flow according to its state machine
System generated flow identifier
Response wrapper object for overwriting set resource.
A single set resource entry.
- setResources
User defined data type for the values in the category. One of: String, byte, short, int, long, float, double, char or boolean.
Collection of applicable regular expressions.
User defined context category, when applicable.
Collection of user defined values.
Current state of flow according to its state machine.
System generated flow identifier.
Status Code
The resources have been successfully modified.
The request cannot be processed due to user error.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to an unexpected system error.
{ "flow_state": "published", "flow_id": "172056", "set_resources": { "date": { "regex": [], "values": [ "-" ] } } }
{ "flow_state": "published", "flow_id": "172056", "set_resources": { "date": { "regex": [], "values": [ "-" ] } } }
Retrieve a summary of all anonymous words
- This service retrieves a summary of resource names for all anonymous words.
- A Set Resource is a json document that generally contains grouped list of values of interest.
- A Set Resource may be used in one or more matching algorithms to filter out the anonymous words in the input fields from further processing.
- This service retrieves a summary of resource names for all anonymous words.
- A Set Resource is a json document that generally contains grouped list of values of interest.
- A Set Resource may be used in one or more matching algorithms to filter out the anonymous words in the input fields from further processing.
GET /mdm/v1/set_resources
ServiceCall<SetResourceNames> listModelSetResources(ListModelSetResourcesOptions listModelSetResourcesOptions)
Request
Use the ListModelSetResourcesOptions.Builder
to create a ListModelSetResourcesOptions
object that contains the parameter values for the listModelSetResources
method.
Query Parameters
The cloud resource name of the service.
curl -X GET --header "Authorization: Bearer {token}" --header "Accept: application/json" "{url}/mdm/v1/set_resources?crn=crn:v1:bluemix:public:mdm-oc:us-south:a/122c69f0e8296804c9eebf4dbd4530e4:f4d408e3-25ec-4d48-87fe-ac82018c3b32::"
ListModelSetResourcesOptions listModelSetResourcesOptions = new ListModelSetResourcesOptions(); Response<SetResourceNames> response = mdmService.listModelSetResources(listModelSetResourcesOptions).execute(); SetResourceNames setResourceNames = response.getResult(); System.out.println(setResourceNames);
Response
Response object wrapper for all set resource names
Collection of set resource names
Response object wrapper for all set resource names.
Collection of set resource names.
Status Code
The resources have been successfully retrieved.
The request cannot be processed due to authentication error.
The request cannot be processed due to insufficient permission error.
The request cannot be processed due to resource not found.
The request cannot be processed due to an unexpected system error.
{ "set_resource_names": [ "org_set_phone_anon_phone", "person_set_address_postal_code", "person_set_identifier_corp_taxid", "person_set_character_date", "org_set_character_date", "person_set_phone_anon_phone", "org_set_identifier_anonymous", "org_set_name_bkt_anon", "person_set_identifier_anonymous", "person_set_identifier_duns_num", "person_set_name_digits", "person_set_name_acname", "person_set_character_cstop_pxnm" ] }
{ "set_resource_names": [ "org_set_phone_anon_phone", "person_set_address_postal_code", "person_set_identifier_corp_taxid", "person_set_character_date", "org_set_character_date", "person_set_phone_anon_phone", "org_set_identifier_anonymous", "org_set_name_bkt_anon", "person_set_identifier_anonymous", "person_set_identifier_duns_num", "person_set_name_digits", "person_set_name_acname", "person_set_character_cstop_pxnm" ] }