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

  • typeRequired
    One ofthe codes below

    What 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.
  • targetRequired
    Id ofany record

    The id of the record the link points at.

  • targetType
    textmatches ^[A-Z][A-Za-z0-9]*$

    The schema name of the target, such as Feature or File.

  • role

    The part the target plays for the holder, from the roles vocabulary.

  • description
    text

    What the link means, in words.

Links

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 example

Example 1

{
  "type": "reference",
  "target": "file-recording-1",
  "targetType": "File",
  "role": "recording"
}

Changes and file

Changes

  1. 0.1.0 First version.

Schema file

Show 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."
  }
}