Импорт моделей данных¶
Импорт моделей данных различных объектов системы позволяет загружать файлы, описывающие структуру этих объектов.
Импорт может производиться 3 способами:
Через импорт объектов системы;
Автоматически при отработке краулера (при запуске сканирования по расписанию);
Вручную при отработке краулера (при запуске сканирования вручную).
Условия импорта¶
Важные условия импорта, которые необходимо соблюдать при импорте объектов (типов активов, типов связей и связей):
Наследованный атрибут должен быть представлен в родительском объекте.
Дочерний актив должен представлять атрибуты родительского.
Главный отображаемый атрибут нельзя изменять.
Атрибут, который является главным отображаемым, должен также быть и отображаемым.
Объект обновляется при импорте, если версия = 1. Если версия объекта = 0 или не указана, то обновление не производится.
Модель физического слоя в текущей реализации доступна для обновления через стандартный импорт. В следующих релизах будет введен запрет на удаление некоторых объектов и атрибутов физического слоя, таким образом пользователь сможет только расширять объекты физического слоя.
Ограничения при импорте¶
Недоступны для обновления с помощью импорта: имя актива, имя типа связи, а также левый и правый концы связи.
Нельзя удалить атрибут, содержащий данные.
Нельзя изменить тип атрибута (например, тип атрибута Строковый изменить на тип Численный).
Нельзя сделать атрибут уникальным:
Фактически это можно сделать, но если существуют дублирующиеся данные, то такие данные будут неконсистентны, а обновить такую запись можно будет, только если изменить значение соответствующего атрибута на уникальное.
XSD схема модели
Скачать dg-model-schema-2.5.xsd
1<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
4 <xs:element name="data-governance-model">
5 <xs:complexType>
6 <xs:all>
7 <xs:element name="assetTypes" minOccurs="0">
8 <xs:complexType>
9 <xs:sequence>
10 <xs:element name="assetType" type="assetType" maxOccurs="unbounded" minOccurs="0"/>
11 </xs:sequence>
12 </xs:complexType>
13 </xs:element>
14 <xs:element name="relationTypes" minOccurs="0">
15 <xs:complexType>
16 <xs:sequence>
17 <xs:element name="relationType" type="relationType" maxOccurs="unbounded" minOccurs="0"/>
18 </xs:sequence>
19 </xs:complexType>
20 </xs:element>
21 <xs:element name="relations" minOccurs="0">
22 <xs:complexType>
23 <xs:sequence>
24 <xs:element name="relation" type="relation" maxOccurs="unbounded" minOccurs="0"/>
25 </xs:sequence>
26 </xs:complexType>
27 </xs:element>
28 </xs:all>
29 <xs:attribute name="description" type="xs:string"/>
30 <xs:attribute name="displayName" type="xs:string"/>
31 <xs:attribute name="name" type="xs:string"/>
32 </xs:complexType>
33 </xs:element>
34
35 <xs:complexType name="assetType">
36 <xs:sequence>
37 <xs:element name="simpleAttribute" type="simpleAttribute" minOccurs="0" maxOccurs="unbounded"/>
38 <xs:element name="arrayAttribute" type="arrayAttribute" minOccurs="0" maxOccurs="unbounded"/>
39 <xs:element name="complexAttribute" type="complexAttribute" minOccurs="0" maxOccurs="unbounded"/>
40 <xs:element name="inheritedSimpleAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
41 <xs:element name="inheritedArrayAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
42 <xs:element name="inheritedComplexAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
43 <xs:element name="tags" type="tag" minOccurs="0" maxOccurs="unbounded"/>
44 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
45 </xs:sequence>
46 <xs:attribute name="description" type="xs:string"/>
47 <xs:attribute name="displayName" type="xs:string"/>
48 <xs:attribute name="name" type="xs:string"/>
49 <xs:attribute name="parentAssetType" type="xs:string"/>
50 <xs:attribute name="icon" type="xs:string"/>
51 <xs:attribute name="color" type="xs:string"/>
52 </xs:complexType>
53
54 <xs:complexType name="arrayAttribute">
55 <xs:complexContent>
56 <xs:extension base="abstractSearchableAttribute">
57 <xs:sequence>
58 <xs:element name="dictionaryDataType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
59 <xs:element name="defaultValue" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
60 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
61 <xs:element name="lookupEntitySearchAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
62 <xs:element name="lookupEntityDisplayAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
63 </xs:sequence>
64 <xs:attribute name="base" type="xs:boolean"/>
65 <xs:attribute name="arrayValueType" type="arrayValueType"/>
66 <xs:attribute name="exchangeSeparator" type="xs:string"/>
67 <xs:attribute name="searchCaseInsensitive" type="xs:boolean"/>
68 <xs:attribute name="searchMorphologically" type="xs:boolean"/>
69 <xs:attribute name="lookupEntityType" type="xs:string"/>
70 <xs:attribute name="lookupEntityCodeAttributeType" type="simpleDataType"/>
71 </xs:extension>
72 </xs:complexContent>
73 </xs:complexType>
74
75 <xs:complexType name="complexAttribute">
76 <xs:complexContent>
77 <xs:extension base="abstractAttribute">
78 <xs:sequence>
79 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
80 </xs:sequence>
81 <xs:attribute name="base" type="xs:boolean"/>
82 <xs:attribute name="maxCount" type="xs:int"/>
83 <xs:attribute name="minCount" type="xs:int"/>
84 <xs:attribute name="nestedEntityName" type="xs:string"/>
85 </xs:extension>
86 </xs:complexContent>
87 </xs:complexType>
88
89 <xs:complexType name="simpleAttribute">
90 <xs:complexContent>
91 <xs:extension base="abstractSearchableAttribute">
92 <xs:sequence>
93 <xs:element name="measureSettings" type="measurementSettings" minOccurs="0" maxOccurs="1"/>
94 <xs:element name="dictionaryDataType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
95 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
96 <xs:element name="lookupEntitySearchAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
97 <xs:element name="lookupEntityDisplayAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
98 </xs:sequence>
99 <xs:attribute name="base" type="xs:boolean"/>
100 <xs:attribute name="linkDataType" type="xs:string"/>
101 <xs:attribute name="enumDataType" type="xs:string"/>
102 <xs:attribute name="simpleDataType" type="simpleDataType"/>
103 <xs:attribute name="searchCaseInsensitive" type="xs:boolean"/>
104 <xs:attribute name="searchMorphologically" type="xs:boolean"/>
105 <xs:attribute name="unique" type="xs:boolean"/>
106 <xs:attribute name="defaultValue" type="xs:string"/>
107 <xs:attribute name="lookupEntityType" type="xs:string"/>
108 <xs:attribute name="lookupEntityCodeAttributeType" type="simpleDataType"/>
109 </xs:extension>
110 </xs:complexContent>
111 </xs:complexType>
112
113 <xs:complexType name="tag">
114 <xs:attribute name="name" type="xs:string"/>
115 <xs:attribute name="value" type="xs:string"/>
116 </xs:complexType>
117
118 <xs:complexType name="customProperty">
119 <xs:attribute name="name" type="xs:string"/>
120 <xs:attribute name="value" type="xs:string"/>
121 </xs:complexType>
122
123 <xs:complexType name="abstractSearchableAttribute" abstract="true">
124 <xs:complexContent>
125 <xs:extension base="abstractAttribute">
126 <xs:attribute name="displayable" type="xs:boolean"/>
127 <xs:attribute name="mainDisplayable" type="xs:boolean"/>
128 <xs:attribute name="searchable" type="xs:boolean"/>
129 <xs:attribute name="useAttributeNameForDisplay" type="xs:boolean"/>
130 </xs:extension>
131 </xs:complexContent>
132 </xs:complexType>
133
134 <xs:complexType name="abstractAttribute" abstract="true">
135 <xs:attribute name="description" type="xs:string"/>
136 <xs:attribute name="displayName" type="xs:string"/>
137 <xs:attribute name="hidden" type="xs:boolean"/>
138 <xs:attribute name="name" type="xs:string"/>
139 <xs:attribute name="nullable" type="xs:boolean"/>
140 <xs:attribute name="order" type="xs:int"/>
141 <xs:attribute name="readOnly" type="xs:boolean"/>
142 </xs:complexType>
143
144 <xs:complexType name="nestedEntity">
145 <xs:sequence>
146 <xs:element name="simpleAttribute" type="simpleAttribute" minOccurs="0" maxOccurs="unbounded"/>
147 <xs:element name="arrayAttribute" type="arrayAttribute" minOccurs="0" maxOccurs="unbounded"/>
148 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
149 </xs:sequence>
150 <xs:attribute name="description" type="xs:string"/>
151 <xs:attribute name="displayName" type="xs:string"/>
152 <xs:attribute name="name" type="xs:string"/>
153 </xs:complexType>
154
155 <xs:complexType name="relationType">
156 <xs:sequence>
157 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
158 </xs:sequence>
159 <xs:attribute name="color" type="xs:string"/>
160 <xs:attribute name="direction" type="relationDirection"/>
161 <xs:attribute name="inner" type="xs:boolean"/>
162 <xs:attribute name="inwardDisplayName" type="xs:string"/>
163 <xs:attribute name="name" type="xs:string"/>
164 <xs:attribute name="outwardDisplayName" type="xs:string"/>
165 </xs:complexType>
166
167 <xs:complexType name="relation">
168 <xs:sequence>
169 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
170 </xs:sequence>
171 <xs:attribute name="fromAssetType" type="xs:string"/>
172 <xs:attribute name="fromCardinality" type="xs:int"/>
173 <xs:attribute name="relationType" type="xs:string"/>
174 <xs:attribute name="required" type="xs:boolean"/>
175 <xs:attribute name="toAssetType" type="xs:string"/>
176 <xs:attribute name="toCardinality" type="xs:int"/>
177 </xs:complexType>
178
179 <xs:complexType name="measurementSettings">
180 <xs:attribute name="categoryId" type="xs:string"/>
181 <xs:attribute name="defaultUnitId" type="xs:string"/>
182 </xs:complexType>
183
184 <xs:simpleType name="arrayValueType">
185 <xs:restriction base="xs:string">
186 <xs:enumeration value="Date"/>
187 <xs:enumeration value="Time"/>
188 <xs:enumeration value="Timestamp"/>
189 <xs:enumeration value="String"/>
190 <xs:enumeration value="Integer"/>
191 <xs:enumeration value="Number"/>
192 </xs:restriction>
193 </xs:simpleType>
194
195 <xs:simpleType name="simpleDataType">
196 <xs:restriction base="xs:string">
197 <xs:enumeration value="Date"/>
198 <xs:enumeration value="Time"/>
199 <xs:enumeration value="Timestamp"/>
200 <xs:enumeration value="String"/>
201 <xs:enumeration value="Integer"/>
202 <xs:enumeration value="Number"/>
203 <xs:enumeration value="Boolean"/>
204 <xs:enumeration value="Blob"/>
205 <xs:enumeration value="Clob"/>
206 </xs:restriction>
207 </xs:simpleType>
208
209 <xs:simpleType name="relationDirection">
210 <xs:restriction base="xs:string">
211 <xs:enumeration value="ONE_DIRECTIONAL"/>
212 <xs:enumeration value="BIDIRECTIONAL"/>
213 </xs:restriction>
214 </xs:simpleType>
215</xs:schema>
216