Skip to content

Class: Relationship

_The Relationship object is used to link together two SDOs in order to describe how they are related to each other. _

URI: attack:Relationship

 classDiagram
    class Relationship
    click Relationship href "../Relationship/"
      StixRelationshipObject <|-- Relationship
        click StixRelationshipObject href "../StixRelationshipObject/"

      Relationship : confidence

      Relationship : created

      Relationship : created_by_ref

      Relationship : description

      Relationship : extensions

      Relationship : external_references





        Relationship --> "*" ExternalReference : external_references
        click ExternalReference href "../ExternalReference/"



      Relationship : granular_markings





        Relationship --> "*" GranularMarking : granular_markings
        click GranularMarking href "../GranularMarking/"



      Relationship : id

      Relationship : labels

      Relationship : lang

      Relationship : modified

      Relationship : name

      Relationship : object_marking_refs

      Relationship : relationship_type

      Relationship : revoked

      Relationship : source_ref

      Relationship : spec_version





        Relationship --> "1" SpecVersionEnum : spec_version
        click SpecVersionEnum href "../SpecVersionEnum/"



      Relationship : start_time

      Relationship : stop_time

      Relationship : target_ref

      Relationship : type

Inheritance

Slots

Name Cardinality and Range Description Inheritance
relationship_type 1
String
Name of the relationship type direct
source_ref 1
StixIdentifier
Relationship source object reference direct
target_ref 1
StixIdentifier
Relationship target object reference direct
start_time 0..1
Datetime
Start timestamp for temporal relationship validity direct
stop_time 0..1
Datetime
End timestamp for temporal relationship validity direct
type 1
StixTypeName
STIX object type Core, StixEntity
spec_version 1
SpecVersionEnum
STIX specification version Core
id 1
StixIdentifier
STIX object identifier Core, StixEntity
created 1
Datetime
Creation timestamp Core
modified 1
Datetime
Modification timestamp Core
created_by_ref 0..1
StixIdentifier
ID of the object that created this object Core
labels *
String
Terms used to describe this object Core
revoked 0..1
Boolean
Indicates whether this object has been revoked Core
confidence 0..1
Integer
Confidence that the producer has in this data Core
lang 0..1
String
Language of textual properties Core
external_references *
ExternalReference
External references to non-STIX information Core
object_marking_refs *
StixIdentifier
Marking definition references applied to this object Core
granular_markings *
GranularMarking
Granular markings that apply to selected content Core
extensions *
String
Open-ended extension payloads Core
name 0..1
String
Human-readable name StixEntity
description 0..1
String
Human-readable description StixEntity

In Subsets

Comments

  • jsonschema_rule: not validator_hint: relationship-ref-prefix-exclusion jsonschema_source: https://github.com/oasis-open/cti-stix2-json-schemas/tree/master/schemas/sros/relationship.json

Notes

  • source_ref and target_ref cannot target relationship, sighting, bundle, marking-definition, or language-content IDs.

Identifier and Mapping Information

Schema Source

  • from schema: https://w3id.org/lmodel/attack

Mappings

Mapping Type Mapped Value
self attack:Relationship
native attack:Relationship
exact unified_cyber_ontology:Relationship

LinkML Source

Direct

name: Relationship
description: 'The Relationship object is used to link together two SDOs in order to
  describe how they are related to each other. '
notes:
- source_ref and target_ref cannot target relationship, sighting, bundle, marking-definition,
  or language-content IDs.
comments:
- 'jsonschema_rule: not validator_hint: relationship-ref-prefix-exclusion jsonschema_source:
  https://github.com/oasis-open/cti-stix2-json-schemas/tree/master/schemas/sros/relationship.json'
in_subset:
- sros
from_schema: https://w3id.org/lmodel/attack
exact_mappings:
- unified_cyber_ontology:Relationship
is_a: StixRelationshipObject
slots:
- relationship_type
- source_ref
- target_ref
- start_time
- stop_time
slot_usage:
  id:
    name: id
    pattern: ^relationship--[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
  type:
    name: type
    pattern: ^relationship$
  relationship_type:
    name: relationship_type
    required: true
  source_ref:
    name: source_ref
    required: true
  target_ref:
    name: target_ref
    required: true

Induced

name: Relationship
description: 'The Relationship object is used to link together two SDOs in order to
  describe how they are related to each other. '
notes:
- source_ref and target_ref cannot target relationship, sighting, bundle, marking-definition,
  or language-content IDs.
comments:
- 'jsonschema_rule: not validator_hint: relationship-ref-prefix-exclusion jsonschema_source:
  https://github.com/oasis-open/cti-stix2-json-schemas/tree/master/schemas/sros/relationship.json'
in_subset:
- sros
from_schema: https://w3id.org/lmodel/attack
exact_mappings:
- unified_cyber_ontology:Relationship
is_a: StixRelationshipObject
slot_usage:
  id:
    name: id
    pattern: ^relationship--[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
  type:
    name: type
    pattern: ^relationship$
  relationship_type:
    name: relationship_type
    required: true
  source_ref:
    name: source_ref
    required: true
  target_ref:
    name: target_ref
    required: true
attributes:
  relationship_type:
    name: relationship_type
    description: Name of the relationship type.
    from_schema: https://w3id.org/lmodel/attack
    related_mappings:
    - unified_cyber_ontology:state
    rank: 1000
    alias: relationship_type
    owner: Relationship
    domain_of:
    - Relationship
    range: string
    required: true
    pattern: ^[a-z0-9\-]+$
  source_ref:
    name: source_ref
    description: Relationship source object reference.
    comments:
    - 'validator_hint: reject-disallowed-source-prefixes'
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: source_ref
    owner: Relationship
    domain_of:
    - Relationship
    range: stix_identifier
    required: true
  target_ref:
    name: target_ref
    description: Relationship target object reference.
    comments:
    - 'validator_hint: reject-disallowed-target-prefixes'
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: target_ref
    owner: Relationship
    domain_of:
    - Relationship
    range: stix_identifier
    required: true
  start_time:
    name: start_time
    description: Start timestamp for temporal relationship validity.
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: start_time
    owner: Relationship
    domain_of:
    - Relationship
    range: datetime
  stop_time:
    name: stop_time
    description: End timestamp for temporal relationship validity.
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: stop_time
    owner: Relationship
    domain_of:
    - Relationship
    range: datetime
  type:
    name: type
    description: STIX object type.
    from_schema: https://w3id.org/lmodel/attack
    related_mappings:
    - unified_cyber_ontology:state
    rank: 1000
    alias: type
    owner: Relationship
    domain_of:
    - StixEntity
    - Bundle
    - Core
    - CyberObservableCore
    - ExtensionDefinition
    - LanguageContent
    - MarkingDefinition
    - File
    range: stix_type_name
    required: true
    pattern: ^relationship$
  spec_version:
    name: spec_version
    description: STIX specification version.
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:specVersion
    rank: 1000
    alias: spec_version
    owner: Relationship
    domain_of:
    - Core
    - CyberObservableCore
    - MarkingDefinition
    range: SpecVersionEnum
    required: true
  id:
    name: id
    description: STIX object identifier.
    from_schema: https://w3id.org/lmodel/attack
    related_mappings:
    - unified_cyber_ontology:externalReference
    rank: 1000
    alias: id
    owner: Relationship
    domain_of:
    - StixEntity
    - Bundle
    - Core
    - CyberObservableCore
    - ExtensionDefinition
    - LanguageContent
    - MarkingDefinition
    - File
    range: stix_identifier
    required: true
    pattern: ^relationship--[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
  created:
    name: created
    description: Creation timestamp.
    notes:
    - STIX core timestamps require millisecond precision.
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:objectCreatedTime
    rank: 1000
    alias: created
    owner: Relationship
    domain_of:
    - Core
    - MarkingDefinition
    range: datetime
    required: true
    pattern: T\d{2}:\d{2}:\d{2}\.\d{3,}Z$
  modified:
    name: modified
    description: Modification timestamp.
    notes:
    - STIX core timestamps require millisecond precision.
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:modifiedTime
    rank: 1000
    alias: modified
    owner: Relationship
    domain_of:
    - Core
    range: datetime
    required: true
    pattern: T\d{2}:\d{2}:\d{2}\.\d{3,}Z$
  created_by_ref:
    name: created_by_ref
    description: ID of the object that created this object.
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:createdBy
    rank: 1000
    alias: created_by_ref
    owner: Relationship
    domain_of:
    - Core
    - MarkingDefinition
    range: stix_identifier
  labels:
    name: labels
    description: Terms used to describe this object.
    comments:
    - 'jsonschema_minItems: "1"'
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:tag
    rank: 1000
    alias: labels
    owner: Relationship
    domain_of:
    - Core
    range: string
    multivalued: true
  revoked:
    name: revoked
    description: Indicates whether this object has been revoked.
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: revoked
    owner: Relationship
    domain_of:
    - Core
    range: boolean
  confidence:
    name: confidence
    description: Confidence that the producer has in this data.
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: confidence
    owner: Relationship
    domain_of:
    - Core
    range: integer
    minimum_value: 0
    maximum_value: 100
  lang:
    name: lang
    description: Language of textual properties.
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: lang
    owner: Relationship
    domain_of:
    - Core
    - GranularMarking
    range: string
  external_references:
    name: external_references
    description: External references to non-STIX information.
    comments:
    - 'jsonschema_minItems: "1"'
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:externalReference
    rank: 1000
    alias: external_references
    owner: Relationship
    domain_of:
    - Core
    - MarkingDefinition
    range: ExternalReference
    multivalued: true
  object_marking_refs:
    name: object_marking_refs
    description: Marking definition references applied to this object.
    comments:
    - 'jsonschema_minItems: "1"'
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:objectMarking
    rank: 1000
    alias: object_marking_refs
    owner: Relationship
    domain_of:
    - Core
    - CyberObservableCore
    - MarkingDefinition
    range: stix_identifier
    multivalued: true
  granular_markings:
    name: granular_markings
    description: Granular markings that apply to selected content.
    comments:
    - 'jsonschema_minItems: "1"'
    from_schema: https://w3id.org/lmodel/attack
    narrow_mappings:
    - unified_cyber_ontology:objectMarking
    rank: 1000
    alias: granular_markings
    owner: Relationship
    domain_of:
    - Core
    - CyberObservableCore
    - MarkingDefinition
    range: GranularMarking
    multivalued: true
  extensions:
    name: extensions
    description: Open-ended extension payloads.
    notes:
    - JSON Schema uses patternProperties for extension keys; exact key validation
      is delegated to validator tooling.
    comments:
    - 'jsonschema_rule: patternProperties validator_hint: validate-extension-keys-and-values'
    from_schema: https://w3id.org/lmodel/attack
    related_mappings:
    - unified_cyber_ontology:hasFacet
    rank: 1000
    alias: extensions
    owner: Relationship
    domain_of:
    - Core
    - CyberObservableCore
    - MarkingDefinition
    - File
    range: string
    multivalued: true
  name:
    name: name
    description: Human-readable name.
    from_schema: https://w3id.org/lmodel/attack
    exact_mappings:
    - unified_cyber_ontology:name
    rank: 1000
    alias: name
    owner: Relationship
    domain_of:
    - RelatedAsset
    - StixEntity
    - ExtensionDefinition
    - MarkingDefinition
    - AutonomousSystem
    - File
    range: string
  description:
    name: description
    description: Human-readable description.
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:description
    rank: 1000
    alias: description
    owner: Relationship
    domain_of:
    - RelatedAsset
    - MutableElement
    - StixEntity
    - ExtensionDefinition
    - ExternalReference
    range: string