Link
DatatypeDraftv1.0.0-rc.2
An open-ended link from the record that holds it to another record. When a field names its target, such as a trace's flow, that field is used instead.
https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Link.json
Fields
typeRequiredOne ofthe codes belowWhat kind of link it is.
ownership- The holder owns or controls the target.
linkage- The two records are linked, with no ownership or dependency.
dependency- The holder depends on the target to work or to exist.
association- The two records are connected in some other way.
hierarchy- The target is the holder's parent or child.
reference- The holder refers to the target.
targetRequiredId ofany recordThe id of the record the link points at.
targetTyperoleThe part the target plays for the holder, from the roles vocabulary.
descriptiontextWhat the link means, in words.
Links
Held by Records that embed this one, with their field that holds it.
Examples
An id that another example defines opens that record.
Example 2
{
"type": "dependency",
"target": "feature-wellsite-2",
"targetType": "Feature",
"description": "Shares the wellsite's fuel gas line."
}Show 1 more exampleHide the other example
Example 1
{
"type": "reference",
"target": "file-recording-1",
"targetType": "File",
"role": "recording"
}Changes and file
Changes
- 0.1.0 First version.
Schema file
Show the JSON SchemaHide the JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://opendevelopmentstandards.org/schema/1.0.0-rc.2/core/Link.json",
"title": "Link",
"description": "An open-ended link from the record that holds it to another record. When a field names its target, such as a trace's `flow`, that field is used instead.",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ownership",
"linkage",
"dependency",
"association",
"hierarchy",
"reference"
],
"description": "What kind of link it is.",
"x-ods-options": [
{
"value": "ownership",
"title": "Ownership",
"description": "The holder owns or controls the target."
},
{
"value": "linkage",
"title": "Linkage",
"description": "The two records are linked, with no ownership or dependency."
},
{
"value": "dependency",
"title": "Dependency",
"description": "The holder depends on the target to work or to exist."
},
{
"value": "association",
"title": "Association",
"description": "The two records are connected in some other way."
},
{
"value": "hierarchy",
"title": "Hierarchy",
"description": "The target is the holder's parent or child."
},
{
"value": "reference",
"title": "Reference",
"description": "The holder refers to the target."
}
]
},
"target": {
"type": "string",
"minLength": 1,
"description": "The id of the record the link points at.",
"x-ods-ref": "*"
},
"targetType": {
"type": "string",
"pattern": "^[A-Z][A-Za-z0-9]*$",
"description": "The schema name of the target, such as Feature or File."
},
"role": {
"type": "string",
"minLength": 1,
"x-ods-vocabulary": "core/roles",
"description": "The part the target plays for the holder, from the roles vocabulary."
},
"description": {
"type": "string",
"description": "What the link means, in words."
}
},
"required": [
"type",
"target"
],
"patternProperties": {
"^x-": {}
},
"unevaluatedProperties": false,
"examples": [
{
"type": "reference",
"target": "file-recording-1",
"targetType": "File",
"role": "recording"
},
{
"type": "dependency",
"target": "feature-wellsite-2",
"targetType": "Feature",
"description": "Shares the wellsite's fuel gas line."
}
],
"x-ods-status": "draft",
"x-ods-kind": "datatype",
"x-ods-module": "core",
"x-ods-changes": {
"0.1.0": "First version."
}
}