Configuring Relationship Types
Configuring the Relationship type involves configuring all the concepts and properties the object can contain, which drive the behavior of the object.
In the Relationship type, the following concepts are available for configuration:
- Attributes
- Start Object (entity type)
- End Object (entity type)
Examples of relation types are:
- Parent
- Sister
- Subsidiary
- Division
- Affiliated
- Contractor
A configuration might have a collection of relation types. Each relation type has the following properties:
Property Name | Required | Description | Type |
---|---|---|---|
URI
|
Yes | Path that is used to reach this relationship type configuration. The
format is:configuration/relationTypes/{TypeName}
|
String, URI |
id
|
Yes, for response JSON | Internal, system-generated id that is used internally to get the difference between two versions of configurations when the configuration is updated. | String |
label
|
Yes | Readable name of the relationship type. | String |
description |
No | Details, description for the relation type. | String |
extendsTypeURI |
No | URI of relation type is extended by this relation type. | String, URI |
sameAsTypeURIs |
No |
Collection URI of the relation type that has the same semantics as this type. In all graphs the configuration of these relation types is used as synonyms; therefore, there is no need to list all possible types in the graph configuration. Example: |
|
reverseOfTypeURIs
|
No | Collection of URIs that define the semantic reverse relation type as
this type. Example: (/*To be supported*/) |
|
implicit
|
No | If TRUE , the relationship is marked as an Implicit relationship.
Default is |
Boolean |
direction
|
No | Identifies directional semantics of relationship object of the type.
Supported directions:
Default is directed. |
Enum:directed , undirected ,
bidirectional
|
entityEndDateStrategy |
No | Defines how to handle the relation when the start/end entity is end dated.
|
Enum: END_DATE_RELATION ,
END_DATE_RELATION_CROSSWALKS
|
typeColor |
No | Color that is used to visualize this relationship objects of that type (for example, in graph view-color of lines between nodes). | String, hex color |
dataTooltipPattern |
No |
Pattern that is used to build entity object tooltip. Can include static text as well as patterns - attributes in brackets. Note: If the pattern is not specified, then the type's label is
used.
|
String |
attributes |
No |
Attributes that are defined as standard for this entity type. Attributes for relationships can be of simple, atomic type (refer to Attributes configurationfor more details). Note: Not every relation object will have all attributes defined in its
relation type. Also, the relation object can have some attributes
that are not defined in configuration-custom attributes.
|
JSON object of Attributes Configuration |
startObject |
Yes, when inheritance is applied | Defines properties of start object like its type (directional context). | |
endObject |
Yes, when inheritance is applied | Defines properties of end object like its type( directional context). |
{
"URI": "configuration/relationTypes/Parent",
"label": "Parent",
"name": "Parent",
"description": "Types of relationships between Individual and Individual-representing Parent-child relationship type",
"extendsTypeURI": "configuration/relationTypes/Family",
"reverceOfTypeURIs": ["configuration/relationTypes/Child"],
"implicit": false,
"direction": "directed",
"typeColor": "#AA3A44",
"startObject": {
"objectTypeURI": "configuration/entityTypes/Individual",
"directionalContext": [{
"rule": [{
"attribute": "configuration/entityTypes/Individual/attributes/Gender",
"type": "condition",
"condition": "=",
"value": "Female"
}],
"labelPattern": "mother"
},
{
"rule": [{
"attribute": "configuration/entityTypes/Individual/attributes/Gender",
"type": "condition",
"condition": "=",
"value": "Male"
}],
"labelPattern": "father"
},
{
"labelPattern": "parent"
}
]
},
"endObject": {
"objectTypeURI": "configuration/entityTypes/Individual",
"directionalContext": [{
"labelPattern": "child"
}]
}
}
"id"
parameters are not supported.