Update Relationship Operation

The update relationship operation replaces property values in an existing relationship.

HTTP POST URL Format

The request is specified as follows. The Spectrum server supports both HTTP and HTTPS.

POST http://server_name:port/rest/DataHub/operations/modelName/relationships/relationshipLabel?query_parameters

URL Path Elements

modelName
The name of the Context Graph model.
relationshipLabel
The name of the relationship label connecting two entities in a model.

Query Parameters

Parameter Type Required Description
sourceID string yes The source ID of the entity that connects a relationship. This parameter specifies an entityType:entityLabel value pair.
targetID string yes The target ID of the entity that connects a relationship. This parameter specifies an entityType:entityLabel value pair.
uniqueID string no The value that distinguishes a relationship when there are multiple relationships with the same label connecting two entities in a model.

URL POST Body Format

Content-Type:application/json {Property Name-Value Pairs}

Optionally, you can specify a property name and value pair for any existing property in the following format. A property is removed if a null or empty value is specified here. The property name pairs are formatted as follows:

{
    "Property1":"Value1",
    "Property2":"Value2",
    ...
}

At least one property is required to successfully complete the operation. Omitted properties will not be changed.

Response

The operation returns the status code "200 OK" when it is successful. The operation returns the status code 500 (Error) when it fails.

Update relationship with JSON response

The following request updates the date property for a Roomate relationship label in the "911" model.

POST http://localhost:8080/rest/DataHub/operations/911/relationships/Roomate?​sourceID=Person:Ahmed%20al-Haznawi&​targetID=Person:Ziad%20Jarrah

Body:

{
    "Date":1275782400000
}

Response:

{
  "success":"200 OK"
  }
Note: Date, time, and date-time property values are UNIX Epoch time values formatted as long data type in both requests and responses.

Update relationship with same label

The following updates a Roomate relationship label in the "911" model where the relationship ID between two person entities is equal to "4".

POST http://localhost:8080/rest/DataHub/operations/911/relationships/Roomate?​sourceID=Person:Ahmed%20al-Haznawi&​targetID=Person:Ziad%20Jarrah&​uniqueID=4