PREFIX openadr: <https://w3id.org/def/openadr#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

openadr:ChargeStateDeltaSignal a rdfs:Class ;
  rdfs:label "Charge state delta signal" ;
  rdfs:comment "This is the delta amount of energy that should be contained in a storage resource from where it currently is." ;
  rdfs:subClassOf openadr:ChargeStateSignal .

openadr:hasSignalType a rdf:Property ;
  rdfs:label "has signal type" ;
  rdfs:comment "Relationship between a signal and its signal type" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasSignalPayload a rdf:Property ;
  rdfs:label "has signal payload" ;
  rdfs:comment "Relation between a signal and its payload" ;
  rdfs:domain openadr:Signal ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf openadr:hasPayload .

openadr:hasTarget a rdf:Property ;
  rdfs:label "has target" ;
  rdfs:comment "Relation between an entity and its target" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:isDefinedIn a rdf:Property ;
  rdfs:label "has interval" ;
  rdfs:comment "Link between a signal and the  interval where it is active" ;
  rdfs:range openadr:SignalInterval .

openadr:hasSignalName a rdf:Property ;
  rdfs:label "has signal name" ;
  rdfs:comment "Name of a signal" ;
  rdfs:domain openadr:Signal ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:DemandChargePriceAbsoluteSignal a rdfs:Class ;
  rdfs:label "Demand charge absolute price signal" ;
  rdfs:comment "This is the demand charge expressed in absolute terms" ;
  rdfs:subClassOf openadr:DemandChargeSignal .

openadr:HistoryUsageReport a rdfs:Class ;
  rdfs:label "History usage report" ;
  rdfs:comment "These are logs of usage data that are typically logged by VEN’s and can be queried by the VTN" ;
  rdfs:subClassOf openadr:HistoryReport .

openadr:hasReportType a rdf:Property ;
  rdfs:label "has report type" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasDuration a rdf:Property ;
  rdfs:label "has duration" ;
  rdfs:comment "Duration of an event" ;
  rdfs:range <http://www.w3.org/2006/time#TemporalEntity> .

openadr:hasReportName a rdf:Property ;
  rdfs:label "has report name" ;
  rdfs:domain openadr:Report ;
  rdfs:range xsd:string .

openadr:hasReportPayload a rdf:Property ;
  rdfs:label "has report payload" ;
  rdfs:comment "Relation between a report and its payload" ;
  rdfs:domain openadr:Report ;
  rdfs:range openadr:ReportPayload ;
  rdfs:subPropertyOf openadr:hasPayload .

openadr:isActiveDuringPeriod a rdf:Property ;
  rdfs:label "has active period" ;
  rdfs:comment "Relation between an entity an its active period" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:isSpecifiedIn a rdf:Property ;
  rdfs:label "is specifier in" ;
  rdfs:comment "Relationship between reports" ;
  rdfs:domain openadr:DataReport ;
  rdfs:range openadr:MetadataReport .

openadr:starts a rdf:Property ;
  rdfs:label "starts" ;
  rdfs:comment "The starting time for the activity, data, or state change" ;
  rdfs:range xsd:dateTimeStamp .

openadr:reportDataSource a rdf:Property ;
  rdfs:label "report data source" ;
  rdfs:comment "Link to the source of a report" ;
  rdfs:domain openadr:Report ;
  rdfs:range openadr:Group .

openadr:reportSubject a rdf:Property ;
  rdfs:label "report subject" ;
  rdfs:comment "Subject of a report" ;
  rdfs:domain openadr:Report ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasCreatedDateTime a rdf:Property ;
  rdfs:label "has created date time" ;
  rdfs:range xsd:dateTimeStamp .

openadr:isDescribedIn a rdf:Property ;
  rdfs:label "is described in" ;
  rdfs:comment "Relation between a payload and its descriptor" ;
  rdfs:domain openadr:ReportPayload ;
  rdfs:range openadr:MetadataReport , openadr:ReportDescriptor .

openadr:specifiesReport a rdf:Property ;
  rdfs:label "specifies report" ;
  rdfs:domain openadr:DataReport ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasLoadControlState a rdf:Property ;
  rdfs:label "has load control state" ;
  rdfs:comment "Relation between a report and the load control state  to enable a VEN to report on its load control state that corresponds to a LOAD_CONTROL signal that might be sent to a VEN." ;
  rdfs:domain openadr:Report ;
  rdfs:range openadr:LoadControlState .

openadr:hasReportId a rdf:Property ;
  rdfs:label "has report identifier" ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.opengis.net/ont/geosparql#Feature> a rdfs:Class ;
  rdfs:label "Feature" ;
  rdfs:comment "This class represents the top-level feature type. This class is equivalent to GFI_Feature defined in ISO 19156:2011, and it is superclass of all feature types" ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#SpatialObject> .

<http://www.opengis.net/ont/geosparql#hasGeometry> a rdf:Property ;
  rdfs:label "Geometry" ;
  rdfs:comment "A spatial representation for a given feature." ;
  rdfs:range <http://www.opengis.net/ont/geosparql#Geometry> .

<http://www.w3.org/2003/01/geo/wgs84_pos#location> a rdf:Property ;
  rdfs:range <http://www.w3.org/2003/01/geo/wgs84_pos#Point> .

<http://www.opengis.net/ont/geosparql#sfContains> a rdf:Property ;
  rdfs:label "contains" ;
  rdfs:comment "Exists if the subject SpatialObject spatially contains the object SpatialObject" ;
  rdfs:domain <http://www.opengis.net/ont/geosparql#SpatialObject> ;
  rdfs:range <http://www.opengis.net/ont/geosparql#SpatialObject> .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object" .

openadr:DataReport a rdfs:Class ;
  rdfs:label "Data report" ;
  rdfs:comment "These reports are used to report actual data that may be measured or calculated." ;
  rdfs:subClassOf openadr:Report .

openadr:SignalType a rdfs:Class ;
  rdfs:label "Signal Type" ;
  rdfs:comment "Type of a signal" .

openadr:EnergyPriceMultiplierSignal a rdfs:Class ;
  rdfs:label "Energy multiplier price signal" ;
  rdfs:comment "This is a multiplier to the existing cost of energy" ;
  rdfs:subClassOf openadr:EnergyPriceSignal .

openadr:LoadDispatchMultiplier a rdfs:Class ;
  rdfs:label "Load dispatch multiplier signal" ;
  rdfs:comment "This is used to dispatch loads as some multiple of power against some agreed upon baseline. Note that the baseline may be the current power consumption." ;
  rdfs:subClassOf openadr:LoadDispatchSignal .

<http://www.w3.org/2006/time#Instant> a rdfs:Class ;
  rdfs:label "Instant" ;
  rdfs:comment "A temporal entity with zero extent or duration" ;
  rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> .

openadr:LoadControlLevelOffsetSignal a rdfs:Class ;
  rdfs:label "Load control level offset  signal" ;
  rdfs:comment "Discrete integer levels that are relative to normal operations where 0 is normal operations. There is no requirement to link the setpoints to specific load consumption values, but the intention is that the higher the setpoint the less load is consumed. Note that these are controller set points that can be mapped at the VEN side to something as simple as thermostat temperature set point offsets." ;
  rdfs:subClassOf openadr:LoadControlSignal .

openadr:ReportDataDescriptor a rdfs:Class ;
  rdfs:label "Report data descriptor" ;
  rdfs:comment "Part of the OpenADR report object that describes the data included in the descriptor report" ;
  rdfs:subClassOf openadr:ReportDescriptor .

openadr:involvesSubject a rdf:Property ;
  rdfs:label "involves subject" ;
  rdfs:comment "Relation between the report and its subject" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasSamplingRate a rdf:Property ;
  rdfs:label "has sampling rate" ;
  rdfs:comment "Indicates the sampling rate of a report" ;
  rdfs:range openadr:SamplingRate .

openadr:LoadDispatchSignal a rdfs:Class ;
  rdfs:label "Load dispatch signal" ;
  rdfs:comment "Instructions are used to set the load  values that can be expressed in terms of the desired load" ;
  rdfs:subClassOf openadr:Signal .

openadr:OptIn a rdfs:Class ;
  rdfs:label "Opt In" ;
  rdfs:subClassOf openadr:Opt .

openadr:hasMarketContext a rdf:Property ;
  rdfs:label "market context" ;
  rdfs:comment "A URI identifying a DR Program" ;
  rdfs:range xsd:anyURI .

openadr:plans a rdf:Property ;
  rdfs:label "plans" ;
  rdfs:comment "Relation between Opt and the planification of a target" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:LoadControlCapacitySignal a rdfs:Class ;
  rdfs:label "Load control capacity signal" ;
  rdfs:comment "This is an instruction for the load controller to operate at a level that is some percentage of its maximum load consumption capacity. This can be mapped to specific load controllers to do things like duty cycling. Note that 1.0 refers to 100% consumption. In the case of simple ON/OFF type devices then 0 = OFF and 1 = ON." ;
  rdfs:subClassOf openadr:LoadControlSignal .

<http://www.opengis.net/ont/geosparql#Geometry> a rdfs:Class ;
  rdfs:label "Geometry" ;
  rdfs:comment "The class represents the top-level geometry type. This class is equivalent to the UML class GM_Object defined in ISO 19107, and it is superclass of all geometry types." .

openadr:ReportDescriptor a rdfs:Class ;
  rdfs:label "Report descriptor" ;
  rdfs:comment "Part of the OpenADR report object that describes metadata about the report" .

<http://www.w3.org/2006/time#Duration> a rdfs:Class ;
  rdfs:label "Time duration" ;
  rdfs:comment "Duration of a temporal extent expressed as a number scaled by a temporal unit" .

openadr:Signal a rdfs:Class ;
  rdfs:label "Signal" ;
  rdfs:comment "The actionable information contained in an event such as electricity pricing or specific levels of load shed requested that typically trigger some preprogrammed load shed behavior by the recipient of the event." .

openadr:LoadControlSetpointSignal a rdfs:Class ;
  rdfs:label "Load control setpoint signal" ;
  rdfs:comment "Load controller set points. There is no requirement to link the setpoints to specific load consumption values. Note that these are generic controller set points and can be mapped at the VEN side to something as simple as specific thermostat temperature set points." ;
  rdfs:subClassOf openadr:LoadControlSignal .

openadr:SimpleSignal a rdfs:Class ;
  rdfs:label "Simple signal" ;
  rdfs:comment "Signal for signal levels" ;
  rdfs:subClassOf openadr:Signal .

openadr:Event a rdfs:Class ;
  rdfs:label "Event" ;
  rdfs:comment "An event is a notification from the utility to demand side resources requesting load shed starting at a specific time, over a specified duration, and may include targeting information designating specific resources that should participate in the event" .

openadr:includesSignal a rdf:Property ;
  rdfs:label "has signal" ;
  rdfs:comment "Relation between an entity and its signal" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasGroupTarget a rdf:Property ;
  rdfs:label "has group target" ;
  rdfs:comment "Relation between an entity and its group target" ;
  rdfs:domain openadr:Event ;
  rdfs:range openadr:Group ;
  rdfs:subPropertyOf openadr:hasTarget .

openadr:recovery a rdf:Property ;
  rdfs:label "recovery" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:expectedResponse a rdf:Property ;
  rdfs:label "expected response" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasVersion a rdf:Property ;
  rdfs:label "has version" ;
  rdfs:range xsd:string .

openadr:ramp_up a rdf:Property ;
  rdfs:label "ramp up" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:eventDescriptor a rdf:Property ;
  rdfs:label "event descriptor" ;
  rdfs:comment "Relation between an event and its metadata" ;
  rdfs:domain openadr:Event ;
  rdfs:range openadr:EventDescriptor .

openadr:hasEventStatus a rdf:Property ;
  rdfs:label "has event status" ;
  rdfs:comment "Link between an event and its status" ;
  rdfs:domain openadr:Event ;
  rdfs:range openadr:EventStatus .

openadr:hasAreaTarget a rdf:Property ;
  rdfs:label "has area target" ;
  rdfs:comment "Relation between an entity and its service area target" ;
  rdfs:domain openadr:Event ;
  rdfs:range openadr:ServiceArea ;
  rdfs:subPropertyOf openadr:hasTarget .

openadr:hasEventName a rdf:Property ;
  rdfs:label "has event name" ;
  rdfs:comment "Name fo an event" ;
  rdfs:domain openadr:Event ;
  rdfs:range <http://www.w3.org/2002/07/owl#rational> .

<http://www.wurvoc.org/vocabularies/om-1.8/Unit_of_measure> a rdfs:Class ;
  rdfs:label "http://www.wurvoc.org/vocabularies/om-1.8/" ;
  rdfs:comment "A unit of measure is a definite magnitude of a quantity, defined and adopted by convention and/or by law. It is used as a standard for measurement of the same quantity, where any other value of the quantity can be expressed as a simple multiple of the unit of measure. For example, length is a quantity; the metre is a unit of length that represents a definite predetermined length. When we say 10 metre (or 10 m), we actually mean 10 times the definite predetermined length called \"metre\"." .

openadr:LoadControlPercentOffset a rdfs:Class ;
  rdfs:label "Load control percent offset signal" ;
  rdfs:comment "Percentage change from normal operations. The percentage does not refer to specific load consumptions values, but to load control operation levels. The lower the percentage the less load is consumed." ;
  rdfs:subClassOf openadr:LoadControlSignal .

openadr:BidLoadSetpointSignal a rdfs:Class ;
  rdfs:label "Bid load setpoint signal" ;
  rdfs:comment "This is the amount of load that was bid by a resource into a program" ;
  rdfs:subClassOf openadr:BidLoadSignal .

openadr:ReportStatusPayload a rdfs:Class ;
  rdfs:label "Report status payload" ;
  rdfs:comment "Part of the OpenADR report object that includes the status  of the payload report" ;
  rdfs:subClassOf openadr:ReportPayload .

openadr:isOnline a rdf:Property ;
  rdfs:label "is online" ;
  rdfs:comment "Indicates whether the payload is online" ;
  rdfs:domain openadr:ReportStatusPayload ;
  rdfs:range xsd:boolean .

openadr:hasAccuracy a rdf:Property ;
  rdfs:label "has accuracy" ;
  rdfs:comment "Indicates the likely variability of the prediction and the  error of a reading" ;
  rdfs:range xsd:string .

openadr:hasDataQuality a rdf:Property ;
  rdfs:label "data quality" ;
  rdfs:range xsd:string .

openadr:isManualOverride a rdf:Property ;
  rdfs:label "is manual override" ;
  rdfs:domain openadr:ReportStatusPayload ;
  rdfs:range xsd:boolean .

<http://www.w3.org/2003/01/geo/wgs84_pos#Point> a rdfs:Class ;
  rdfs:label "Point" ;
  rdfs:comment "A point, typically described using a coordinate system relative to Earth, such as WGS84." .

openadr:LoadControlSignal a rdfs:Class ;
  rdfs:label "Load control signal" ;
  rdfs:subClassOf openadr:Signal .

<http://www.opengis.net/ont/geosparql#SpatialObject> a rdfs:Class ;
  rdfs:label "SpatialObject" ;
  rdfs:comment "The class spatial-object represents everything that can have a spatial representation. It is superclass of feature and geometry." .

openadr:OptOut a rdfs:Class ;
  rdfs:label "Opt Out" ;
  rdfs:subClassOf openadr:Opt .

openadr:Node a rdfs:Class ;
  rdfs:label "Node" ;
  rdfs:comment "Element that interacts with resources in the environment" .

openadr:sendsOpt a rdf:Property ;
  rdfs:label "sends opt" ;
  rdfs:comment "A link between a node and the opt it sends" ;
  rdfs:domain openadr:Node ;
  rdfs:range openadr:Opt ;
  rdfs:subPropertyOf openadr:sends .

openadr:sendsEvent a rdf:Property ;
  rdfs:label "sends event" ;
  rdfs:comment "A link between a node and the event it sends" ;
  rdfs:domain openadr:Node ;
  rdfs:range openadr:Event ;
  rdfs:subPropertyOf openadr:sends .

openadr:sendsReport a rdf:Property ;
  rdfs:label "sends report" ;
  rdfs:comment "A link between a node and the report it sends" ;
  rdfs:domain openadr:Node ;
  rdfs:range openadr:Report ;
  rdfs:subPropertyOf openadr:sends .

openadr:hasProfileName a rdf:Property ;
  rdfs:label "has profile name" ;
  rdfs:domain openadr:Node ;
  rdfs:range xsd:string .

openadr:hasNodeName a rdf:Property ;
  rdfs:label "has node name" ;
  rdfs:domain openadr:Node ;
  rdfs:range <http://www.w3.org/2002/07/owl#rational> .

openadr:receives a rdf:Property ;
  rdfs:label "receives" ;
  rdfs:comment "Relation between the node and an object  it receives" ;
  rdfs:domain openadr:Node ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasTransportName a rdf:Property ;
  rdfs:label "has transport name" ;
  rdfs:domain openadr:Node ;
  rdfs:range xsd:string .

openadr:requires a rdf:Property ;
  rdfs:label "requires" ;
  rdfs:comment "Relation between a node and an object it requires" ;
  rdfs:domain openadr:Node ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasRegistrationNumber a rdf:Property ;
  rdfs:label "has registration number" ;
  rdfs:domain openadr:Node ;
  rdfs:range xsd:string .

openadr:LoadDispatchSetpointSignal a rdfs:Class ;
  rdfs:label "Load dispatch setpoint signal" ;
  rdfs:comment "This is used to dispatch loads to a specific amount" ;
  rdfs:subClassOf openadr:LoadDispatchSignal .

<http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing> a rdfs:Class ;
  rdfs:label "Spatial thing" ;
  rdfs:comment "Anything with spatial extent, i.e. size, shape, or position. e.g. people, places, bowling balls, as well as abstract areas like cubes" .

<http://www.w3.org/2006/time#Interval> a rdfs:Class ;
  rdfs:label "Interval" ;
  rdfs:comment "A temporal entity with non-zero extent or duration, for which the value of the beginning and end are different" ;
  rdfs:subClassOf <http://www.w3.org/2006/time#TemporalEntity> .

openadr:ElectricityPriceRelativeSignal a rdfs:Class ;
  rdfs:label "Electricity  relative price signal" ;
  rdfs:comment "This is a delta change to the existing price of electricity" ;
  rdfs:subClassOf openadr:ElectricityPriceSignal .

openadr:BidLoadSignal a rdfs:Class ;
  rdfs:label "Bid load signal" ;
  rdfs:comment "Signal that represents the amount of load that was bid by a resource into a program" ;
  rdfs:subClassOf openadr:Signal .

openadr:TelemetryStatusReport a rdfs:Class ;
  rdfs:label "Telemetry status report" ;
  rdfs:comment "This is usage data that is periodically reported from the VEN to the VTN in real time" ;
  rdfs:subClassOf openadr:TelemetryReport .

openadr:ElectricityPriceAbsoluteSignal a rdfs:Class ;
  rdfs:label "Electicity absolute price signal" ;
  rdfs:comment "This is the cost of electricity  expressed in absolute terms" ;
  rdfs:subClassOf openadr:ElectricityPriceSignal .

openadr:ReportDataPayload a rdfs:Class ;
  rdfs:label "Report data payload" ;
  rdfs:comment "Part of the OpenADR report object that includes the data sent to a node" ;
  rdfs:subClassOf openadr:ReportPayload .

openadr:includesMeasurement a rdf:Property ;
  rdfs:label "includes measurement" ;
  rdfs:comment "Link between a report and the measurement included in the payload" ;
  rdfs:domain openadr:ReportDataPayload ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:EventDescriptor a rdfs:Class ;
  rdfs:label "Event descriptor" ;
  rdfs:comment "Part of the OpenADR event object that describes metadata about the event, such as program name and event priority" .

openadr:hasRandomization a rdf:Property ;
  rdfs:label "has randomization" ;
  rdfs:domain openadr:EventDescriptor ;
  rdfs:range xsd:string .

openadr:hasModificationDateTime a rdf:Property ;
  rdfs:label "has modification date time" ;
  rdfs:comment "Time of modification of an event" ;
  rdfs:domain openadr:EventDescriptor ;
  rdfs:range xsd:dateTimeStamp .

openadr:hasPriority a rdf:Property ;
  rdfs:label "has priority" ;
  rdfs:comment """The priority of the event in relation to other events (The lower the number
higher the priority. A value of zero (0) indicates no priority, which is the lowest priority by default).""" ;
  rdfs:domain openadr:EventDescriptor ;
  rdfs:range xsd:integer .

openadr:isResponseRequired a rdf:Property ;
  rdfs:label "is response required" ;
  rdfs:comment "Attribute to indicate if a response is required to acknowledge the object" ;
  rdfs:domain openadr:EventDescriptor ;
  rdfs:range xsd:boolean .

openadr:hasModificationNumber a rdf:Property ;
  rdfs:label "has modification number" ;
  rdfs:comment "Number which is incremented each time an event is modified." ;
  rdfs:domain openadr:EventDescriptor ;
  rdfs:range xsd:integer .

openadr:hasModificationReason a rdf:Property ;
  rdfs:label "has modification reason" ;
  rdfs:comment "It indicates why an event was modified" ;
  rdfs:domain openadr:EventDescriptor ;
  rdfs:range xsd:string .

openadr:isTestEvent a rdf:Property ;
  rdfs:label "is test event" ;
  rdfs:comment "Attribute to indicate if the event is for testing purposes" ;
  rdfs:domain openadr:EventDescriptor ;
  rdfs:range xsd:boolean .

openadr:Resource a rdfs:Class ;
  rdfs:label "Resource" ;
  rdfs:comment "Entity that is enrolled in the DR Programs and is capable of delivering some sort of change to their load profile in response to receiving a DR signal from a VTN." .

openadr:ChargeStateMultiplierSignal a rdfs:Class ;
  rdfs:label "Charge state multiplier signal" ;
  rdfs:comment "This is the percentage of full charge that the storage resource should be at." ;
  rdfs:subClassOf openadr:ChargeStateSignal .

openadr:DemandChargePriceMultiplierSignal a rdfs:Class ;
  rdfs:label "Demand charge multiplier price signal" ;
  rdfs:comment "This is a multiplier to the existing demand charge" ;
  rdfs:subClassOf openadr:DemandChargeSignal .

openadr:TelemetryUsageReport a rdfs:Class ;
  rdfs:label "Telemetry usage report" ;
  rdfs:comment "This is the status of a resource, which may be periodically reported from the VEN to the VTN" ;
  rdfs:subClassOf openadr:TelemetryReport .

openadr:MetadataReport a rdfs:Class ;
  rdfs:label "Metadata report" ;
  rdfs:subClassOf openadr:Report .

openadr:reportDescriptor a rdf:Property ;
  rdfs:label "report descriptor" ;
  rdfs:comment "Relation between a report and its metadata" ;
  rdfs:domain openadr:MetadataReport ;
  rdfs:range openadr:ReportDescriptor .

openadr:Group a rdfs:Class ;
  rdfs:label "Group" .

openadr:appliesTo a rdf:Property ;
  rdfs:label "applies to" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:ReportPayload a rdfs:Class ;
  rdfs:label "Report payload" ;
  rdfs:comment "Payload associated to every report" .

openadr:SignalInterval a rdfs:Class ;
  rdfs:label "Signal Interval" ;
  rdfs:comment "Interval of time where a signal is active" .

openadr:HistoryReport a rdfs:Class ;
  rdfs:label "History report" ;
  rdfs:comment "This is a type of data report in which the history of the data point values is logged and can be subsequently requested" ;
  rdfs:subClassOf openadr:DataReport .

openadr:EnergyPriceAbsolutePriceSignal a rdfs:Class ;
  rdfs:label "Energy absolute price signal" ;
  rdfs:comment "This is the cost of energy expressed in absolute terms" ;
  rdfs:subClassOf openadr:EnergyPriceSignal .

openadr:TelemetryReport a rdfs:Class ;
  rdfs:label "Telemetry report" ;
  rdfs:comment "The term telemetry in the context of OpenADR refers to data that is reported periodically in real time" ;
  rdfs:subClassOf openadr:DataReport .

openadr:DemandChargePriceRelativeSignal a rdfs:Class ;
  rdfs:label "Demand charge relative price signal" ;
  rdfs:comment "This is a delta change to the existing demand charge" ;
  rdfs:subClassOf openadr:DemandChargeSignal .

<http://www.w3.org/2006/time#TemporalEntity> a rdfs:Class ;
  rdfs:label "Temporal Entity" ;
  rdfs:comment "A temporal entity with zero extent or duration" .

openadr:EnergyPriceSignal a rdfs:Class ;
  rdfs:label "Signal for the price of energy" ;
  rdfs:subClassOf openadr:Signal .

openadr:SamplingRate a rdfs:Class ;
  rdfs:label "Sampling rate" ;
  rdfs:comment "The average number of samples obtained in one second" .

openadr:hasMinPeriod a rdf:Property ;
  rdfs:label "has min period" ;
  rdfs:comment "Minimum period of time" ;
  rdfs:range <http://www.w3.org/2006/time#TemporalEntity> .

openadr:hasItemBase a rdf:Property ;
  rdfs:label "has item base" ;
  rdfs:range openadr:Item .

openadr:isOnChange a rdf:Property ;
  rdfs:label "is on change" ;
  rdfs:comment "Attribute to determine whether or not data is sampled as it changes" ;
  rdfs:domain openadr:SamplingRate ;
  rdfs:range xsd:boolean .

openadr:hasMaxPeriod a rdf:Property ;
  rdfs:label "has max period" ;
  rdfs:comment "Maximum period of time" ;
  rdfs:range <http://www.w3.org/2006/time#TemporalEntity> .

openadr:ChargeStateSetpointSignal a rdfs:Class ;
  rdfs:label "Charge state setpoint signal" ;
  rdfs:comment "This is used to either charge or discharge a certain amount of energy from a storage resource until its charge state reaches a certain level." ;
  rdfs:subClassOf openadr:ChargeStateSignal .

openadr:ServiceArea a rdfs:Class ;
  rdfs:label "Service Area" ;
  rdfs:comment "The Service Area expresses locations or geographic regions relevant to price communication" ;
  rdfs:subClassOf <http://www.opengis.net/ont/geosparql#Feature> .

openadr:LoadDispatchLevelSignal a rdfs:Class ;
  rdfs:label "Load dispatch level signal" ;
  rdfs:comment "This is used to specify the load in terms of discrete levels." ;
  rdfs:subClassOf openadr:LoadDispatchSignal .

openadr:LoadControlState a rdfs:Class ;
  rdfs:label "Load control state" ;
  rdfs:comment "The LoadControlState attributes are meant to mirror the LOAD_CONTROL signal attributes meaning that for each LOAD_CONTROL signal type there is a corresponding attribute in the LoadControlState of a report." .

openadr:hasCapacity a rdf:Property ;
  rdfs:label "has capacity" ;
  rdfs:domain openadr:LoadControlState ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasSetPoint a rdf:Property ;
  rdfs:label "has set point" ;
  rdfs:domain openadr:LoadControlState ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasPercentageOffset a rdf:Property ;
  rdfs:label "has percentage offset" ;
  rdfs:domain openadr:LoadControlState ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasLevelOffset a rdf:Property ;
  rdfs:label "has level offset" ;
  rdfs:domain openadr:LoadControlState ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:VEN a rdfs:Class ;
  rdfs:label "Virtual End Node (VEN)" ;
  rdfs:comment "This is the OpenADR Virtual End Node that is used to interact with the VTN" ;
  rdfs:subClassOf openadr:Node .

openadr:manages a rdf:Property ;
  rdfs:label "manages" ;
  rdfs:comment "Relation between a VEN and a Resource" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:Opt a rdfs:Class ;
  rdfs:label "Opt" ;
  rdfs:comment "The expected response from the demand side resource owner upon receipt of an event." .

openadr:BidEnergySetpointSignal a rdfs:Class ;
  rdfs:label "Bid energy setpoint signal" ;
  rdfs:comment "This is the amount of energy from a resource that was bid into a program" ;
  rdfs:subClassOf openadr:BidEnergySignal .

openadr:BidEnergySignal a rdfs:Class ;
  rdfs:label "Bid energy signal" ;
  rdfs:comment "Signal that represents the price that was bid by the resource" ;
  rdfs:subClassOf openadr:Signal .

openadr:ChargeStateSignal a rdfs:Class ;
  rdfs:label "Charge state signal" ;
  rdfs:comment "Signal used  to dispatch storage resources" ;
  rdfs:subClassOf openadr:Signal .

openadr:Report a rdfs:Class ;
  rdfs:label "Report" ;
  rdfs:comment "Report sent from a VEN to a VTN to report the energy consumption or the status of Resources connected to the VEN" .

openadr:ElectricityPriceMultiplierSignal a rdfs:Class ;
  rdfs:label "Electricity multiplier price signal" ;
  rdfs:comment "This is a multiplier to the existing cost of electricity" ;
  rdfs:subClassOf openadr:ElectricityPriceSignal .

openadr:BidPriceAbsoluteSignal a rdfs:Class ;
  rdfs:label "Bid absolute price" ;
  rdfs:comment "This is the price that was bid by the resource" ;
  rdfs:subClassOf openadr:BidPricesignal .

openadr:BidPricesignal a rdfs:Class ;
  rdfs:label "Bid price signal" ;
  rdfs:comment "Signal that represents the price that was bid by the resource" ;
  rdfs:subClassOf openadr:Signal .

openadr:Item a rdfs:Class ;
  rdfs:label "Item" ;
  rdfs:comment "Units for the data in the report" .

openadr:hasScaleCode a rdf:Property ;
  rdfs:label "has scale code" ;
  rdfs:comment "A scaling factor for the base unit of measure for a report" ;
  rdfs:domain openadr:Item ;
  rdfs:range xsd:string .

openadr:hasItemDescription a rdf:Property ;
  rdfs:label "has item description" ;
  rdfs:domain openadr:Item ;
  rdfs:range xsd:string .

openadr:ReportStatusDescriptor a rdfs:Class ;
  rdfs:label "Report status descriptor" ;
  rdfs:comment "Part of the OpenADR report object that describes the status of the descriptor report" ;
  rdfs:subClassOf openadr:ReportDescriptor .

openadr:Schedule a rdfs:Class ;
  rdfs:label "Schedule" ;
  rdfs:comment "Schedule of a target" .

openadr:isUnavailableDuring a rdf:Property ;
  rdfs:label "Unavailability of a target" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:isAvailableDuring a rdf:Property ;
  rdfs:label "is available during" ;
  rdfs:comment "Availability of a target" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:isScheduleOf a rdf:Property ;
  rdfs:label "is schedule of" ;
  rdfs:comment "Relationship between a schedule and a target" ;
  rdfs:domain openadr:Schedule ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:refersToTarget a rdf:Property ;
  rdfs:label "refers to target" ;
  rdfs:comment "Relation between a target and its availability" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:ElectricityPriceSignal a rdfs:Class ;
  rdfs:label "Electricity price signal" ;
  rdfs:comment "Signal for the price of electricity" ;
  rdfs:subClassOf openadr:Signal .

openadr:VTN a rdfs:Class ;
  rdfs:label "Virtual Top Node (VTN)" ;
  rdfs:comment "This is the OpenADR Virtual Top Node that is used to interact with the Resources enrolled in the DR Programs." ;
  rdfs:subClassOf openadr:Node .

openadr:LoadDispatchDeltaSignal a rdfs:Class ;
  rdfs:label "Load dispatch delta signal" ;
  rdfs:comment "This is used to dispatch loads to some offset from an agreed upon baseline. Note that the baseline may be the current power consumption." ;
  rdfs:subClassOf openadr:LoadDispatchSignal .

openadr:DemandChargeSignal a rdfs:Class ;
  rdfs:label "Demand charge signal" ;
  rdfs:comment "Signal for the demand charge" ;
  rdfs:subClassOf openadr:Signal .

openadr:GreenButtonReport a rdfs:Class ;
  rdfs:label "Green button report" ;
  rdfs:comment "This is usage history that can be transmitted using the well known GREEN BUTTON standard payloads" ;
  rdfs:subClassOf openadr:HistoryReport .

openadr:EnergyPriceRelativeSignal a rdfs:Class ;
  rdfs:label "Energy relative price signal" ;
  rdfs:comment "This is a delta change to the existing price of energy" ;
  rdfs:subClassOf openadr:EnergyPriceSignal .

openadr:belongsTo a rdf:Property ;
  rdfs:label "belongs to" ;
  rdfs:comment "Relationship between a VE, Resource or Asset with the Group of targets associated" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:cancels a rdf:Property ;
  rdfs:label "cancels" ;
  rdfs:comment "Relationship to cancel a report" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:comment a rdf:Property ;
  rdfs:label "comment" ;
  rdfs:range xsd:string .

openadr:contains a rdf:Property ;
  rdfs:label "contains" ;
  rdfs:comment "Relation between a target and its components" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:containsAsset a rdf:Property ;
  rdfs:label "Relation between a target and the asset it contains" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf openadr:contains .

openadr:containsResource a rdf:Property ;
  rdfs:label "Relation between a target and the resource it contains" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf openadr:contains .

openadr:containsVEN a rdf:Property ;
  rdfs:label "Relation between a target and the VEN it contains" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf openadr:contains .

openadr:hasConfidence a rdf:Property ;
  rdfs:label "has confidence" ;
  rdfs:comment "A statistical probability that a reported data point is accurate" ;
  rdfs:range xsd:string .

openadr:hasGranularity a rdf:Property ;
  rdfs:label "has granularity" ;
  rdfs:comment "This is the time interval between sampled data in a report request" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasGroupName a rdf:Property ;
  rdfs:label "group name" ;
  rdfs:range xsd:string .

openadr:hasPayload a rdf:Property ;
  rdfs:label "has payload" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasReadingType a rdf:Property ;
  rdfs:label "reading type" ;
  rdfs:comment "Metadata about the Readings, such as mean or derived" ;
  rdfs:range xsd:string .

openadr:hasReportBackDuration a rdf:Property ;
  rdfs:label "has report back duration" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasReportOnly a rdf:Property ;
  rdfs:label "has report only" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasRequestId a rdf:Property ;
  rdfs:label "has request identifier" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasSignalIntervalDuration a rdf:Property ;
  rdfs:label "interval duration" ;
  rdfs:comment "Duration of a signal interval" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasTypicalValue a rdf:Property ;
  rdfs:label "has typical value" ;
  rdfs:comment "Typical value of an interval" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:hasXMLsignature a rdf:Property ;
  rdfs:label "has XML signature" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:isAssociatedToItem a rdf:Property ;
  rdfs:label "is associated to property" ;
  rdfs:comment "Linked between a report and the properties it measure" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:isManagedBy a rdf:Property ;
  rdfs:label "is managed by" ;
  rdfs:comment "Relation between a Resource and a VEN" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:isReportedDuringInterval a rdf:Property ;
  rdfs:label "is reported during interval" ;
  rdfs:comment "Reporting interval of a report" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:requests a rdf:Property ;
  rdfs:label "requests" ;
  rdfs:comment "Relationship between the node and the report it requests" ;
  rdfs:range <https://w3id.org/linkml/Any> .

openadr:sends a rdf:Property ;
  rdfs:label "sends" ;
  rdfs:comment "A link between a node and the objects it sends" ;
  rdfs:range <https://w3id.org/linkml/Any> .

<http://www.w3.org/2002/07/owl#rational> a rdfs:Datatype .

openadr:EventStatus a rdfs:Class ;
  rdfs:label "Event status" ;
  rdfs:comment "Status of an OpenADR event" .

openadr:Active a openadr:EventStatus ;
  rdfs:label "Active" ;
  rdfs:comment "Active status" .

openadr:Near a openadr:EventStatus ;
  rdfs:label "Near" ;
  rdfs:comment "Near status" .

openadr:None a openadr:EventStatus ;
  rdfs:label "None" ;
  rdfs:comment "None status" .

openadr:Far a openadr:EventStatus ;
  rdfs:label "Far" ;
  rdfs:comment "Far status" .

openadr:Completed a openadr:EventStatus ;
  rdfs:label "Completed" ;
  rdfs:comment "Completed status" .

openadr:Canceled a openadr:EventStatus ;
  rdfs:label "Canceled" ;
  rdfs:comment "Canceled status" .
