id: https://modellen.netbeheernederland.nl/meetdata/upcoming
name: meetdata
description: |-
  Information model for Meetdata data product.
title: Meetdata
license: https://www.apache.org/licenses/LICENSE-2.0.txt
imports:
  - linkml:types
prefixes:
  linkml: https://w3id.org/linkml/
  cim: https://cim.ucaiug.io/ns#
  dcat: http://www.w3.org/ns/dcat#
  dct: http://purl.org/dc/terms/
  github: https://github.com/
  liander: http://data.liander.nl/markt/def#
  nbnl: https://begrippen.netbeheernederland.nl/energiesysteembeheer/nl/page/
  nl: http://iec.ch/TC57/CIM100-Netherlands#
  owl: http://www.w3.org/2002/07/owl#
  skos: http://www.w3.org/2004/02/skos/core#
  cbs: https://www.cbs.nl/nl-nl/onze-diensten/methoden/begrippen/
  this: http://data.netbeheernederland.nl/data-product/dp-meetdata/def#
  vocab: http://modellen.netbeheernederland.nl/meetdata/
annotations:
  model_uri: https://modellen.netbeheernederland.nl/meetdata
  exchange_format: application/ld+json
  model_type: data-product
  environment: https://ghcr.io/netbeheer-nederland/build-dp:0.35
enums:
  AggregateKind:
    description: Kind of aggregation for read / measured values from multiple end points.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM
    enum_uri: cim:AggregateKind
    permissible_values:
      average:
        meaning: cim:AggregateKind.average
      excess:
        meaning: cim:AggregateKind.excess
      fifthMaximum:
        meaning: cim:AggregateKind.fifthMaximum
      fourthMaximum:
        meaning: cim:AggregateKind.fourthMaximum
      highThreshold:
        meaning: cim:AggregateKind.highThreshold
      lowThreshold:
        meaning: cim:AggregateKind.lowThreshold
      maximum:
        meaning: cim:AggregateKind.maximum
      minimum:
        meaning: cim:AggregateKind.minimum
      nominal:
        meaning: cim:AggregateKind.nominal
      none:
        meaning: cim:AggregateKind.none
      normal:
        meaning: cim:AggregateKind.normal
      secondMaximum:
        meaning: cim:AggregateKind.secondMaximum
      secondMinimum:
        meaning: cim:AggregateKind.secondMinimum
      sum:
        meaning: cim:AggregateKind.sum
      thirdMaximum:
        meaning: cim:AggregateKind.thirdMaximum
  FlowDirectionKind:
    description: Kind of flow direction for reading/measured  values proper to some commodities such as, for example, energy, power, demand.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM
    enum_uri: cim:FlowDirectionKind
    permissible_values:
      forward:
        meaning: cim:FlowDirectionKind.forward
      none:
        meaning: cim:FlowDirectionKind.none
      reverse:
        meaning: cim:FlowDirectionKind.reverse
  MarketSegment:
    description: Division of the energy market into meaningful subgroups of current or potentional customers.
    from_schema: http://modellen.netbeheernederland.nl/dp-meetdata/
    enum_uri: vocab:MarketSegment
    permissible_values:
      LRG:
        meaning: vocab:MarketSegment.largeAccounts
      SML:
        meaning: vocab:MarketSegment.smallAccounts
  UnitMultiplier:
    description: "The unit multipliers defined for the CIM.  When applied to unit symbols, the unit symbol is treated as a derived unit. Regardless of the contents of the unit symbol text, the unit symbol shall be treated as if it were a single-character unit symbol. Unit symbols should not contain multipliers, and it should be left to the multiplier to define the multiple for an entire data type. \r\n\r\nFor example, if a unit symbol is \"m2Pers\" and the multiplier is \"k\", then the value is k(m**2/s), and the multiplier applies to the entire final value, not to any individual part of the value. This can be conceptualized by substituting a derived unit symbol for the unit type. If one imagines that the symbol \"Þ\" represents the derived unit \"m2Pers\", then applying the multiplier \"k\" can be conceptualized simply as \"kÞ\".\r\n\r\nFor example, the SI unit for mass is \"kg\" and not \"g\".  If the unit symbol is defined as \"kg\", then the multiplier is applied to \"kg\" as a whole and does not replace the \"k\" in front of the \"g\". In this case, the multiplier of \"m\" would be used with the unit symbol of \"kg\" to represent one gram.  As a text string, this violates the instructions in IEC 80000-1. However, because the unit symbol in CIM is treated as a derived unit instead of as an SI unit, it makes more sense to conceptualize the \"kg\" as if it were replaced by one of the proposed replacements for the SI mass symbol. If one imagines that the \"kg\" were replaced by a symbol \"Þ\", then it is easier to conceptualize the multiplier \"m\" as creating the proper unit \"mÞ\", and not the forbidden unit \"mkg\"."
    from_schema: http://data.netbeheernederland.nl/data-product/im-nbnl-equipment
    enum_uri: cim:UnitMultiplier
    permissible_values:
      G:
        meaning: cim:UnitMultiplier.G
      h:
        meaning: cim:UnitMultiplier.h
      k:
        meaning: cim:UnitMultiplier.k
      m:
        meaning: cim:UnitMultiplier.m
      M:
        meaning: cim:UnitMultiplier.M
      micro:
        meaning: cim:UnitMultiplier.micro
      none:
        meaning: cim:UnitMultiplier.none
  UnitSymbol:
    description: "The derived units defined for usage in the CIM. In some cases, the derived unit is equal to an SI unit. Whenever possible, the standard derived symbol is used instead of the formula for the derived unit. For example, the unit symbol Farad is defined as \"F\" instead of \"CPerV\". In cases where a standard symbol does not exist for a derived unit, the formula for the unit is used as the unit symbol. For example, density does not have a standard symbol and so it is represented as \"kgPerm3\". With the exception of the \"kg\", which is an SI unit, the unit symbols do not contain multipliers and therefore represent the base derived unit to which a multiplier can be applied as a whole. \r\nEvery unit symbol is treated as an unparseable text as if it were a single-letter symbol. The meaning of each unit symbol is defined by the accompanying descriptive text and not by the text contents of the unit symbol.\r\nTo allow the widest possible range of serializations without requiring special character handling, several substitutions are made which deviate from the format described in IEC 80000-1. The division symbol \"/\" is replaced by the letters \"Per\". Exponents are written in plain text after the unit as \"m3\" instead of being formatted as \"m\" with a superscript of 3  or introducing a symbol as in \"m^3\". The degree symbol \"°\" is replaced with the letters \"deg\". Any clarification of the meaning for a substitution is included in the description for the unit symbol.\r\nNon-SI units are included in list of unit symbols to allow sources of data to be correctly labelled with their non-SI units (for example, a GPS sensor that is reporting numbers that represent feet instead of meters). This allows software to use the unit symbol information correctly convert and scale the raw data of those sources into SI-based units. \r\nThe integer values are used for harmonization with IEC 61850."
    from_schema: http://data.netbeheernederland.nl/data-product/im-nbnl-equipment
    enum_uri: cim:UnitSymbol
    permissible_values:
      A:
        meaning: cim:UnitSymbol.A
      Ah:
        meaning: cim:UnitSymbol.Ah
      J:
        meaning: cim:UnitSymbol.J
      none:
        meaning: cim:UnitSymbol.none
      ohm:
        meaning: cim:UnitSymbol.ohm
      V:
        meaning: cim:UnitSymbol.V
      VA:
        meaning: cim:UnitSymbol.VA
      VAh:
        meaning: cim:UnitSymbol.VAh
      VAr:
        meaning: cim:UnitSymbol.VAr
      VArh:
        meaning: cim:UnitSymbol.VArh
      W:
        meaning: cim:UnitSymbol.W
      Wb:
        meaning: cim:UnitSymbol.Wb
      Wh:
        meaning: cim:UnitSymbol.Wh
classes:
  MarketEvaluationPoint:
    description: The identification of an entity where energy products are measured or computed.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC62325.MarketManagement
    is_a: UsagePoint
    attributes:
      marketSegment:
        description: A subgroup of current or potential customers.
        slot_uri: vocab:MarketEvaluationPoint.marketSegment
        range: MarketSegment
        required: false
        multivalued: false
      SBICodes:
        description: Standaard BedrijfsIndeling code. Used by the Dutch Chamber of Commerce to classify activities performed by an organisation.
        slot_uri: nl:MarketEvaluationPoint.SBICodes
        range: string
        required: false
        multivalued: true
    class_uri: cim:MarketEvaluationPoint
  UsagePoint:
    description: Logical or physical point in the network to which readings or events may be attributed. Used at the place where a physical or virtual meter may be located; however, it is not required that a meter be present.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Metering
    is_a: IdentifiedObject
    attributes:
      isVirtual:
        description: If true, this usage point is virtual, i.e., no physical location exists in the network where a meter could be located to collect the meter readings. For example, one may define a virtual usage point to serve as an aggregation of usage for all of a company's premises distributed widely across the distribution territory. Otherwise, the usage point is physical, i.e., there is a logical point in the network where a meter could be located to collect meter readings.
        slot_uri: cim:UsagePoint.isVirtual
        range: boolean
        required: false
        multivalued: false
    class_uri: cim:UsagePoint
  Equipment:
    description: The parts of a power system that are physical devices, electronic or mechanical.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    is_a: PowerSystemResource
    attributes:
      UsagePoints:
        description: All usage points connected to the electrical grid through this equipment.
        slot_uri: cim:Equipment.UsagePoints
        range: MarketEvaluationPoint
        required: false
        multivalued: true
      aggregate:
        slot_uri: cim:Equipment.aggregate
        range: boolean
        required: false
        multivalued: false
        description: "The aggregate flag provides an alternative way of representing an aggregated (equivalent) element. It is applicable in cases when the dedicated classes for equivalent equipment do not have all of the attributes necessary to represent the required level of detail.  In case the flag is set to “true” the single instance of equipment represents multiple pieces of equipment that have been modelled together as an aggregate equivalent obtained by a network reduction procedure. Examples would be power transformers or synchronous machines operating in parallel modelled as a single aggregate power transformer or aggregate synchronous machine.  \r\nThe attribute is not used for EquivalentBranch, EquivalentShunt and EquivalentInjection."
    class_uri: cim:Equipment
  MeterReading:
    description: Set of values obtained from the meter.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Metering
    is_a: IdentifiedObject
    attributes:
      valuesInterval:
        description: Date and time interval of the data items contained within this meter reading.
        slot_uri: cim:MeterReading.valuesInterval
        range: DateTimeInterval
        required: false
        multivalued: false
      UsagePoint:
        description: Usage point from which this meter reading (set of values) has been obtained.
        slot_uri: cim:MeterReading.UsagePoint
        range: MarketEvaluationPoint
        required: false
        multivalued: false
    class_uri: cim:MeterReading
  DateTimeInterval:
    description: 'Interval between two date and time points, where the interval includes the start time but excludes end time.  '
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Domain
    attributes:
      end:
        description: End date and time of this interval.  The end date and time where the interval is defined up to, but excluded.
        slot_uri: cim:DateTimeInterval.end
        range: date
        required: false
        multivalued: false
      start:
        description: Start date and time of this interval.  The start date and time is included in the defined interval.
        slot_uri: cim:DateTimeInterval.start
        range: date
        required: false
        multivalued: false
    class_uri: cim:DateTimeInterval
  IntervalBlock:
    description: "Time sequence of readings of the same reading type. Contained interval readings may need conversion through the application of an offset and a scalar defined in associated pending.\r\nTable 548 shows all association ends of IntervalBlock with other classes.\r\nTable 548 – Association ends of Metering::IntervalBlock with other classes\r\nAssociations\r\nname\r\nmult to\r\ntype\r\ndescription\r\n\r\n0..*\r\nPendingCalculation\r\n0..1\r\nPendingCalculation\r\nPending calculation to apply to interval reading values contained by this block (after which the resulting reading type is different than the original because it reflects the conversion result).\r\n\r\n0..*\r\nIntervalReadings\r\n0..*\r\nIntervalReading\r\nInterval reading contained in this block.\r\n\r\n0..*\r\nReadingType\r\n0..1\r\nReadingType\r\nType information for interval reading values contained in this block.\r\n\r\n0..*\r\nMeterReading\r\n0..1\r\nMeterReading\r\nMeter reading containing this interval block.\r\n\r\n\r\nIntervalReading\r\nData captured at regular intervals of time. Interval data could be captured as incremental data, absolute data, or relative data. The source for the data is usually a tariff quantity or an engineering quantity. Data is typically captured in time-tagged, uniform, fixed-length intervals of 5 min, 10 min, 15 min, 30 min, or 60 min.\r\nNote: Interval Data is sometimes also called \"Interval Data Readings\" (IDR)."
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Metering
    attributes:
      MeterReading:
        description: Meter reading containing this interval block.
        slot_uri: cim:IntervalBlock.MeterReading
        range: MeterReading
        required: false
        multivalued: false
      ReadingType:
        description: Type information for interval reading values contained in this block.
        slot_uri: cim:IntervalBlock.ReadingType
        range: ReadingType
        required: false
        multivalued: false
    class_uri: cim:IntervalBlock
  IntervalReading:
    description: "Data captured at regular intervals of time. Interval data could be captured as incremental data, absolute data, or relative data. The source for the data is usually a tariff quantity or an engineering quantity. Data is typically captured in time-tagged, uniform, fixed-length intervals of 5 min, 10 min, 15 min, 30 min, or 60 min.\r\nNote: Interval Data is sometimes also called \"Interval Data Readings\" (IDR)."
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Metering
    is_a: BaseReading
    attributes:
      IntervalBlocks:
        description: All blocks containing this interval reading.
        slot_uri: cim:IntervalReading.IntervalBlocks
        range: IntervalBlock
        required: false
        multivalued: true
    class_uri: cim:IntervalReading
  ReadingType:
    description: 'Detailed description for a type of a reading value.'
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Metering
    is_a: IdentifiedObject
    attributes:
      aggregate:
        description: Salient attribute of the reading data aggregated from individual endpoints. This is mainly used to define a mathematical operation carried out over 'macroPeriod', but may also be used to describe an attribute of the data when the 'macroPeriod' is not defined.
        slot_uri: cim:ReadingType.aggregate
        range: AggregateKind
        required: false
        multivalued: false
      flowDirection:
        description: Flow direction for a reading where the direction of flow of the commodity is important (for electricity measurements this includes current, energy, power, and demand).
        slot_uri: cim:ReadingType.flowDirection
        range: FlowDirectionKind
        required: false
        multivalued: false
      multiplier:
        description: Metering-specific multiplier.
        slot_uri: cim:ReadingType.multiplier
        range: UnitMultiplier
        required: false
        multivalued: false
      unit:
        description: Metering-specific unit.
        slot_uri: cim:ReadingType.unit
        range: UnitSymbol
        required: false
        multivalued: false
    class_uri: cim:ReadingType
  IdentifiedObject:
    description: This is a root class to provide common identification for all classes needing identification and naming attributes.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    attributes:
      description:
        description: The description is a free human readable text describing or naming the object. It may be non unique and may not correlate to a naming hierarchy.
        slot_uri: cim:IdentifiedObject.description
        range: string
        required: false
        multivalued: false
      mRID:
        description: "Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.\r\nFor CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements."
        slot_uri: cim:IdentifiedObject.mRID
        range: string
        identifier: true
        required: true
        multivalued: false
      europeanArticleNumberEAN:
        description: The attribute is used for an exchange of the EAN code (European Article Number). The length of the string is 16 characters as defined by the EAN code.
        slot_uri: nl:IdentifiedObject.europeanArticleNumberEAN
        range: string
        required: false
        multivalued: false
      name:
        description: "The name is any free human readable and possibly non unique text naming the object.\r\n"
        slot_uri: cim:IdentifiedObject.name
        range: string
        required: false
        multivalued: false
    class_uri: cim:IdentifiedObject
    tree_root: true
  EnergyConsumer:
    description: "Generic user of energy - a  point of consumption on the power system model.\r\nEnergyConsumer.pfixed, .qfixed, .pfixedPct and .qfixedPct have meaning only if there is no LoadResponseCharacteristic associated with EnergyConsumer or if LoadResponseCharacteristic.exponentModel is set to False."
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Wires
    is_a: EnergyConnection
    class_uri: cim:EnergyConsumer
  EnergyConnection:
    description: A connection of energy generation or consumption on the power system model.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Wires
    is_a: ConductingEquipment
    class_uri: cim:EnergyConnection
  ConductingEquipment:
    description: The parts of the AC power system that are designed to carry current or that are conductively connected through terminals.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    is_a: Equipment
    class_uri: cim:ConductingEquipment
  PowerSystemResource:
    description: A power system resource (PSR) can be an item of equipment such as a switch, an equipment container containing many individual items of equipment such as a substation, or an organisational entity such as sub-control area. Power system resources can have measurements associated.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Core
    is_a: IdentifiedObject
    attributes:
      Location:
        description: Location of this power system resource.
        slot_uri: cim:PowerSystemResource.Location
        range: Location
        required: false
        multivalued: false
    class_uri: cim:PowerSystemResource
  Location:
    description: "The place, scene, or point of something where someone or something has been, is, and/or will be at a given moment in time. It can be defined with one or more position points (coordinates) in a given coordinate system.\r\n"
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Common
    is_a: IdentifiedObject
    attributes:
      mainAddress:
        description: Main address of the location.
        slot_uri: cim:Location.mainAddress
        range: StreetAddress
        required: false
        multivalued: false
    class_uri: cim:Location
  StreetAddress:
    description: General purpose street and postal address information.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Common
    attributes:
      postalCode:
        description: Postal code for the address.
        slot_uri: cim:StreetAddress.postalCode
        range: string
        required: false
        multivalued: false
        exact_mappings:
          - cbs:postcodegebied
      streetDetail:
        description: Street detail.
        slot_uri: cim:StreetAddress.streetDetail
        range: StreetDetail
        required: false
        multivalued: false
      townDetail:
        description: Town detail.
        slot_uri: cim:StreetAddress.townDetail
        range: TownDetail
        required: false
        multivalued: false
    class_uri: cim:StreetAddress
  StreetDetail:
    description: "Street details, in the context of address.\r\n"
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Common
    attributes:
      code:
        description: (if applicable) Utilities often make use of external reference systems, such as those of the town-planner's department or surveyor general's mapping system, that allocate global reference codes to streets.
        slot_uri: cim:StreetDetail.code
        range: string
        required: false
        multivalued: false
        exact_mappings:
          - cbs:buurt
      number:
        description: Designator of the specific location on the street.
        slot_uri: cim:StreetDetail.number
        range: string
        required: false
        multivalued: false
    class_uri: cim:StreetDetail
  TownDetail:
    description: "Town details, in the context of address.\r\n"
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Common
    attributes:
      name:
        description: Town name.
        slot_uri: cim:TownDetail.name
        range: string
        required: false
        multivalued: false
        exact_mappings:
          - cbs:gemeente--regionaal--
      neighbourhood:
        description: Town neighbourhood.
        slot_uri: vocab:TownDetail.neighbourhood
        range: string
        required: false
        multivalued: false
        exact_mappings:
          - cbs:wijk
      section:
        description: Town section. For example, it is common for there to be 36 sections per township.
        slot_uri: cim:TownDetail.section
        range: string
        required: false
        multivalued: false
        exact_mappings:
          - cbs:plaatsnaam
      stateOrProvince:
        description: Name of the state or province.
        slot_uri: cim:TownDetail.stateOrProvince
        range: string
        required: false
        multivalued: false
        exact_mappings:
          - cbs:provincie--regionaal--
    class_uri: cim:TownDetail
  BaseReading:
    description: "Common representation for reading values. Note that a reading value may have multiple qualities, as produced by various systems ('ReadingQuality.source').\r\n"
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Metering
    is_a: MeasurementValue
    attributes:
      value:
        description: "Value of this reading.\r\n"
        slot_uri: cim:BaseReading.value
        range: string
        required: false
        multivalued: false
    class_uri: cim:BaseReading
  ReadingQuality:
    description: "Quality of a specific reading value or interval reading value. Note that more than one quality may be applicable to a given reading. Typically not used unless problems or unusual conditions occur (i.e., quality for each reading is assumed to be good unless stated otherwise in associated reading quality type). It can also be used with the corresponding reading quality type to indicate that the validation has been performed and succeeded.\r\n"
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61968.Metering
    attributes:
      comment:
        description: "Elaboration on the quality code.\r\n"
        slot_uri: cim:ReadingQuality.comment
        range: string
        required: false
        multivalued: false
      Reading:
        description: Reading value to which this quality applies.
        slot_uri: cim:ReadingQuality.Reading
        range: IntervalReading
        required: false
        multivalued: false
    class_uri: cim:ReadingQuality
  MeasurementValue:
    description: "The current state for a measurement. A state value is an instance of a measurement from a specific source. Measurements can be associated with many state values, each representing a different source for the measurement.\r\n"
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Meas
    is_a: IOPoint
    attributes:
      timeStamp:
        description: The time when the value was last updated.
        slot_uri: cim:MeasurementValue.timeStamp
        range: date
        required: false
        multivalued: false
    class_uri: cim:MeasurementValue
  IOPoint:
    description: The class describe a measurement or control value. The purpose is to enable having attributes and associations common for measurement and control.
    from_schema: https://cim.ucaiug.io/ns#TC57CIM.IEC61970.Base.Meas
    is_a: IdentifiedObject
    class_uri: cim:IOPoint
version: upcoming
generation_date: "2026-04-10"
