ГОСТ Р 58651.1-2019. Национальный стандарт Российской Федерации. Единая энергетическая система и изолированно работающие энергосистемы. Информационная модель электроэнергетики. Основные положения
Приложение А
(обязательное)
ФОРМАТ ИНФОРМАЦИОННОГО ОБМЕНА
А.1 Термины, определения и сокращения
В настоящем приложении применены следующие термины с соответствующими определениями:
А.1.1 пространство имен: Способ связывания специализированных терминов с источником, в котором этот термин был определен.
А.1.2 XML (Extensible Markup Language): Расширяемый компьютерный язык разметки текста, рекомендованный Международным консорциумом всемирной паутины (World Wide Web Consortium, W3C).
Примечание - XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком (см. ГОСТ Р ИСО/МЭК 8825-4).
А.1.3 RDF (Resource Description Framework): Язык представления метаданных для их машинной обработки, рекомендованный World Wide Web Consortium, являющийся упрощенной разновидностью XML документа.
А.1.4 RDF схема: Механизм для определения необходимой совокупности типов ресурсов и свойств.
Примечание - RDF схема вводит такие понятия, как классы, подклассы, свойства и подсвойства, дает возможность накладывать на них ограничения.
А.2 Формат обмена объектами информационной модели
Для обмена данными объектов информационной модели используется формат CIMXML, описываемый стандартом CIMXML Model Exchange Format (см. [3]). Данный стандарт описывает структуру формата, состав элементов, полей и правила описания.
А.2.1 Структура XML документа
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cim="cim-namespace-uri" xmlns:md="cim-model-description_uri" xml:base="urn:uuid:"> ... </rdf:RDF> |
Тип корневого элемента rdf: RDF.
Пространство имен RDF должно быть объявлено согласно правилам международного консорциума W3C (http://www.w3.org/1999/02/22-rdf-syntax-ns#).
Пространство имен CIM должно быть объявлено согласно используемой версии стандарта CIM.
Пространство имен для расширений информационной модели отсутствующих в CIM, должно быть объявлено как: xmlns:rf="http://gost.ru/2019/schema-cim01#".
Заголовок должен предшествовать всем остальным элементам. Формат CIMXML является подмножеством формата RDF и использует элементы, описанные в схеме xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#".
Ниже приведен пример пустого CIMXML файла.
Пример -
<?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:md=http://iec.ch/TC57/61970-552/ModelDescription/1# xmlns:cim=http://iec.ch/TC57/2014/CIM-schema-cim16# xmlns:cim17=http://iec.ch/TC57/2014/CIM-schema-cim17# xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <md:FullModel rdf:about="#_0e5b2438-470e-43ff-b082-cb946327a667"> <md:Model.created>2018-07-20T12:44:24.2518967Z</md:Model.created> <md:Model.version>v16.5.6.131 </md:Model.version> <md:Model.description>Описание модели</md:Model.description> </md:FullModel> ... </rdf:RDF> |
А.2.2 Элемент описания объекта информационной модели
<classname rdf:ID=identity>
<!-Здесь перечисляются элементы описания свойств объектов-->
</classname>
<classname rdf:about=resource-uri>
<!-Здесь перечисляются элементы описания свойств объектов-->
</classname>
Элемент описания объекта вводит новый объект и определяет его тип. Стандарт позволяет две формы объявления: первая - с rdf:ID атрибутом; вторая - с rdf:about атрибутом. Отличие заключается в том, что значение rdf:ID выбирается исходя из реализации и должно быть уникально в пределах документа, в то время как rdf:about является глобальным идентификатором ресурса.
Тип элемента является именем класса из схемы, которая объявлена в заголовке документа.
А.2.3 Элемент описания свойств объектов информационной модели
<propname>Значение свойства</propname>
Элемент описывает свойство объекта и содержит его значение.
Имя свойства соответствует схеме, описанной в заголовке документа.
Если значение свойства содержит специальные символы XML, такие как < >, то они должны быть экранированы.
Для описания свойств являющихся описанием связей используется следующая семантика:
<propname rdf:resource=resource-uri/>,
где propname - имя свойства,
атрибут rdf:resource детализирует идентификатор связанного объекта.
В случае наличия множественной связи данное описание повторяется для всех связанных объектов.
Согласно стандарту, для идентификации объектов используется нотация URN, которая подразумевает следующее описание идентификаторов:
urn:namespace:specification,
где namespace это uuid,
specification состоит из следующих частей (по ГОСТ Р ИСО/МЭК 9834-8):
- 8 шестнадцатеричных чисел;
- разделитель '-';
- 4 шестнадцатеричных числа;
- разделитель '-';
- 4 шестнадцатеричных числа;
- разделитель '-';
- 4 шестнадцатеричных числа;
- разделитель '-';
- 12 шестнадцатеричных чисел.
Ниже приведен пример написания URN идентификатора.
Пример - urn:uuid:26cc8d71-3b7e-4cf8-8c93-8d9d557a4846.
В CIMXML файлах, согласно стандарту, принято префикс "urn:uuid:" заменять на символы "#_".
Ниже приведен пример описания объекта информационной модели класса SynchronousMachine (Генератор).
Пример -
<cim:SynchronousMachine rdf:about="#_00f3ed5c-9993-4354-956d-16b235402212"> <cim:Equipment.normallyInService>true</cim:Equipment.normallyInService> <cim:Equipment.EquipmentContainer rdf:resource="#_616b63ad-6782-4a74-9f65- fb1a33ce90bf" /> <cim:IdentifiedObject.name>TГ-5</cim:IdentifiedObject.name> <cim:ConductingEquipment.Terminals rdf:resource="#_a09271ac-d40c-4a9b-ae21- dec6dbebe012"/> <cim:SynchronousMachine.maxQ>186</cim:SynchronousMachine.maxQ> <cim:SynchronousMachine.minQ>0</cim:SynchronousMachine.minQ> <cim:SynchronousMachine.operatingMode rdf:resource="cim:SynchronousMachineOperatingMode.generator" /> <cim:SynchronousMachine.type rdf:resource="cim:SynchronousMachineKind.generator" /> <cim:SynchronousMachine.InitialReactiveCapabilityCurve rdf:resource=" #_76cccdb8-fac1-434d-9d30-d0300fbfc509" /> <cim:RegulatingCondEq.RegulatingControl rdf:resource=" #_5a9aebad-01e3-406c-b60e-e7aefe93fdd9" /> <cim:RotatingMachine.ratedPowerFactor>0.849858357</cim:RotatingMachine. ratedPowerFactor> <cim:RotatingMachine.ratedS>353</cim:RotatingMachine.ratedS> <cim:RotatingMachine.ratedU>20</cim:RotatingMachine.ratedU> <cim:RotatingMachine.GeneratingUnit rdf:resource=" #_44ec2143-5a7c-4c83-93ea-41eb9a6d0a88"/> </cim:SynchronousMachine> |