Skip to content

Class: MasterAgreementVariableSet

Defines a type where additional variables associated to clauses and their variants can be described.

URI: common_domain_model:MasterAgreementVariableSet

 classDiagram
    class MasterAgreementVariableSet
    click MasterAgreementVariableSet href "../MasterAgreementVariableSet/"
      MasterAgreementVariableSet : name

      MasterAgreementVariableSet : value

      MasterAgreementVariableSet : variableSet





        MasterAgreementVariableSet --> "*" MasterAgreementVariableSet : variableSet
        click MasterAgreementVariableSet href "../MasterAgreementVariableSet/"



Slots

Name Cardinality and Range Description Inheritance
variableSet *
MasterAgreementVariableSet
For some variants a table of variables is required direct
name 0..1
string
The name of the variable direct
value 0..1
string
The value for this variable direct

Usages

used by used in type used
MasterAgreementClauseVariant variableSet range MasterAgreementVariableSet
MasterAgreementVariableSet variableSet range MasterAgreementVariableSet

Rules

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'variableSet': {'required': True}} {'value': {'required': False}}

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {} {'value': {'required': True}}

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'value': {'required': True}} {}

In Subsets

Comments

  • Rosetta condition: VariableSetExists — if variableSet exists then name is absent and value is absent
  • Rosetta condition: VariableSetNesting — if variableSet -> variableSet exists then variableSet -> variableSet -> variableSet is absent
  • Rosetta condition: NameMustExist — if name exists then value exists
  • Rosetta condition: ValueMustExist — if value exists then name exists

Identifier and Mapping Information

Schema Source

Mappings

Mapping Type Mapped Value
self common_domain_model:MasterAgreementVariableSet
native common_domain_model:MasterAgreementVariableSet

LinkML Source

Direct

name: MasterAgreementVariableSet
description: Defines a type where additional variables associated to clauses and their
  variants can be described.
comments:
- 'Rosetta condition: VariableSetExists  if variableSet exists then name is absent
  and value is absent'
- 'Rosetta condition: VariableSetNesting  if variableSet -> variableSet exists then
  variableSet -> variableSet -> variableSet is absent'
- 'Rosetta condition: NameMustExist  if name exists then value exists'
- 'Rosetta condition: ValueMustExist  if value exists then name exists'
in_subset:
- cdm_legaldocumentation_master
from_schema: https://w3id.org/lmodel/common-domain-model
slots:
- variableSet
- name
- value
slot_usage:
  variableSet:
    name: variableSet
    description: For some variants a table of variables is required. To support this
      use case we need to be able to specify variables within variables. Including
      a variable set here gives us infinite nesting opportunities - realistically
      we are only ever expecting that a table would need to be defined for any particular
      clause, so we would expect two levels of nesting as a maximum i.e. variableSet->variableSet->name/value.
    range: MasterAgreementVariableSet
  name:
    name: name
    description: The name of the variable.
  value:
    name: value
    description: The value for this variable.
    range: string
rules:
- preconditions:
    slot_conditions:
      variableSet:
        name: variableSet
        required: true
  postconditions:
    slot_conditions:
      name:
        name: name
        required: false
      value:
        name: value
        required: false
  description: If we have a variableSet then we must not have any name/value pairs
    at this level.
- preconditions:
    slot_conditions:
      name:
        name: name
        required: true
  postconditions:
    slot_conditions:
      value:
        name: value
        required: true
  description: If we have a name then we must also have a value.
- preconditions:
    slot_conditions:
      value:
        name: value
        required: true
  postconditions:
    slot_conditions:
      name:
        name: name
        required: true
  description: If we have a value then we must also have a name.

Induced

name: MasterAgreementVariableSet
description: Defines a type where additional variables associated to clauses and their
  variants can be described.
comments:
- 'Rosetta condition: VariableSetExists  if variableSet exists then name is absent
  and value is absent'
- 'Rosetta condition: VariableSetNesting  if variableSet -> variableSet exists then
  variableSet -> variableSet -> variableSet is absent'
- 'Rosetta condition: NameMustExist  if name exists then value exists'
- 'Rosetta condition: ValueMustExist  if value exists then name exists'
in_subset:
- cdm_legaldocumentation_master
from_schema: https://w3id.org/lmodel/common-domain-model
slot_usage:
  variableSet:
    name: variableSet
    description: For some variants a table of variables is required. To support this
      use case we need to be able to specify variables within variables. Including
      a variable set here gives us infinite nesting opportunities - realistically
      we are only ever expecting that a table would need to be defined for any particular
      clause, so we would expect two levels of nesting as a maximum i.e. variableSet->variableSet->name/value.
    range: MasterAgreementVariableSet
  name:
    name: name
    description: The name of the variable.
  value:
    name: value
    description: The value for this variable.
    range: string
attributes:
  variableSet:
    name: variableSet
    description: For some variants a table of variables is required. To support this
      use case we need to be able to specify variables within variables. Including
      a variable set here gives us infinite nesting opportunities - realistically
      we are only ever expecting that a table would need to be defined for any particular
      clause, so we would expect two levels of nesting as a maximum i.e. variableSet->variableSet->name/value.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: MasterAgreementVariableSet
    domain_of:
    - ThresholdRatingsBased
    - MinimumTransferAmountRatingsBased
    - LegacyIndependentAmountRatingsBased
    - DirectionRatingMultiplier
    - MasterAgreementClauseVariant
    - MasterAgreementVariableSet
    range: MasterAgreementVariableSet
    multivalued: true
    inlined: true
    inlined_as_list: true
  name:
    name: name
    annotations:
      metadata_scheme:
        tag: metadata_scheme
        value: true
    description: The name of the variable.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: MasterAgreementVariableSet
    domain_of:
    - TaxonomyValue
    - BusinessUnit
    - LegalEntity
    - Party
    - Resource
    - AdditionalTerminationEvent
    - CSAThresholdVariableSet
    - CSAMinimumTransferAmountVariableSet
    - MasterAgreementClause
    - MasterAgreementClauseVariant
    - MasterAgreementVariableSet
    - IndexBase
    range: string
  value:
    name: value
    description: The value for this variable.
    from_schema: https://w3id.org/lmodel/common-domain-model
    rank: 1000
    owner: MasterAgreementVariableSet
    domain_of:
    - MeasureBase
    - Schedule
    - DatedValue
    - Taxonomy
    - TaxonomyClassification
    - CodeValue
    - AdjustmentFactor
    - AccrualFactor
    - DisputeResolution
    - OtherEligibleAndPostedSupport
    - CSAThresholdVariableSet
    - CSAMinimumTransferAmountVariableSet
    - MasterAgreementVariableSet
    range: string
rules:
- preconditions:
    slot_conditions:
      variableSet:
        name: variableSet
        required: true
  postconditions:
    slot_conditions:
      name:
        name: name
        required: false
      value:
        name: value
        required: false
  description: If we have a variableSet then we must not have any name/value pairs
    at this level.
- preconditions:
    slot_conditions:
      name:
        name: name
        required: true
  postconditions:
    slot_conditions:
      value:
        name: value
        required: true
  description: If we have a name then we must also have a value.
- preconditions:
    slot_conditions:
      value:
        name: value
        required: true
  postconditions:
    slot_conditions:
      name:
        name: name
        required: true
  description: If we have a value then we must also have a name.