Импорт моделей данных¶
Импорт моделей данных различных объектов системы позволяет загружать файлы, описывающие структуру этих объектов.
Импорт может производиться 3 способами:
Через импорт объектов системы;
Автоматически при отработке краулера (при запуске сканирования по расписанию);
Вручную при отработке краулера (при запуске сканирования вручную).
Условия импорта¶
Важные условия импорта, которые необходимо соблюдать при импорте объектов (типов активов, типов связей и связей):
Наследованный атрибут должен быть представлен в родительском объекте.
Дочерний актив должен представлять атрибуты родительского.
Главный отображаемый атрибут нельзя изменять.
Атрибут, который является главным отображаемым, должен также быть и отображаемым.
Объект обновляется при импорте, если версия = 1. Если версия объекта = 0 или не указана, то обновление не производится.
Модель физического слоя в текущей реализации доступна для обновления через стандартный импорт. В следующих релизах будет введен запрет на удаление некоторых объектов и атрибутов физического слоя, таким образом пользователь сможет только расширять объекты физического слоя.
Ограничения при импорте¶
Недоступны для обновления с помощью импорта: имя актива, имя типа связи, а также левый и правый концы связи.
Нельзя удалить атрибут, содержащий данные.
Нельзя изменить тип атрибута (например, тип атрибута Строковый изменить на тип Численный).
Нельзя сделать атрибут уникальным:
Фактически это можно сделать, но если существуют дублирующиеся данные, то такие данные будут неконсистентны, а обновить такую запись можно будет, только если изменить значение соответствующего атрибута на уникальное.
XSD схема модели
Скачать dg-model-schema-2.9.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="inheritedSimpleAttributeObjects" type="inheritedAttribute" minOccurs="0" maxOccurs="unbounded"/>
41 <xs:element name="inheritedArrayAttributeObjects" type="inheritedAttribute" minOccurs="0" maxOccurs="unbounded"/>
42 <xs:element name="inheritedComplexAttributeObjects" type="inheritedAttribute" 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:attribute name="crawlerClassName" type="xs:string"/>
53 <xs:attribute name="libraryVersion" type="xs:string"/>
54 <xs:attribute name="libraryName" type="xs:string"/>
55 <xs:attribute name="version" type="xs:int"/>
56 </xs:complexType>
57
58 <xs:complexType name="arrayAttribute">
59 <xs:complexContent>
60 <xs:extension base="abstractSearchableAttribute">
61 <xs:sequence>
62 <xs:element name="dictionaryDataType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
63 <xs:element name="defaultValue" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
64 <xs:element name="lookupEntitySearchAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
65 <xs:element name="lookupEntityDisplayAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
66 <xs:element name="tags" type="tag" minOccurs="0" maxOccurs="unbounded"/>
67 </xs:sequence>
68 <xs:attribute name="base" type="xs:boolean"/>
69 <xs:attribute name="arrayValueType" type="arrayValueType"/>
70 <xs:attribute name="exchangeSeparator" type="xs:string"/>
71 <xs:attribute name="searchCaseInsensitive" type="xs:boolean"/>
72 <xs:attribute name="searchMorphologically" type="xs:boolean"/>
73 <xs:attribute name="searchWithTransliteration" type="xs:boolean"/>
74 <xs:attribute name="searchWithSynonyms" type="xs:boolean"/>
75 <xs:attribute name="searchCustomSort" type="searchSort"/>
76 <xs:attribute name="uniqueValues" type="xs:boolean"/>
77 <xs:attribute name="lookupEntityType" type="xs:string"/>
78 <xs:attribute name="lookupEntityCodeAttributeType" type="simpleDataType"/>
79 </xs:extension>
80 </xs:complexContent>
81 </xs:complexType>
82
83 <xs:complexType name="complexAttribute">
84 <xs:complexContent>
85 <xs:extension base="abstractAttribute">
86 <xs:sequence>
87 <xs:element name="tags" type="tag" minOccurs="0" maxOccurs="unbounded"/>
88 </xs:sequence>
89 <xs:attribute name="base" type="xs:boolean"/>
90 <xs:attribute name="maxCount" type="xs:int"/>
91 <xs:attribute name="minCount" type="xs:int"/>
92 <xs:attribute name="nestedEntityName" type="xs:string"/>
93 <xs:attribute name="nestedEntityKeyAttribute" type="xs:string"/>
94 </xs:extension>
95 </xs:complexContent>
96 </xs:complexType>
97
98 <xs:complexType name="simpleAttribute">
99 <xs:complexContent>
100 <xs:extension base="abstractSearchableAttribute">
101 <xs:sequence>
102 <xs:element name="measureSettings" type="measurementSettings" minOccurs="0" maxOccurs="1"/>
103 <xs:element name="dictionaryDataType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
104 <xs:element name="lookupEntitySearchAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
105 <xs:element name="lookupEntityDisplayAttributes" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
106 <xs:element name="tags" type="tag" minOccurs="0" maxOccurs="unbounded"/>
107 </xs:sequence>
108 <xs:attribute name="base" type="xs:boolean"/>
109 <xs:attribute name="linkDataType" type="xs:string"/>
110 <xs:attribute name="enumDataType" type="xs:string"/>
111 <xs:attribute name="simpleDataType" type="simpleDataType"/>
112 <xs:attribute name="searchCaseInsensitive" type="xs:boolean"/>
113 <xs:attribute name="searchMorphologically" type="xs:boolean"/>
114 <xs:attribute name="searchWithTransliteration" type="xs:boolean"/>
115 <xs:attribute name="searchWithSynonyms" type="xs:boolean"/>
116 <xs:attribute name="searchCustomSort" type="searchSort"/>
117 <xs:attribute name="unique" type="xs:boolean"/>
118 <xs:attribute name="defaultValue" type="xs:string"/>
119 <xs:attribute name="lookupEntityType" type="xs:string"/>
120 <xs:attribute name="lookupEntityCodeAttributeType" type="simpleDataType"/>
121 </xs:extension>
122 </xs:complexContent>
123 </xs:complexType>
124
125 <xs:complexType name="tag">
126 <xs:attribute name="name" type="xs:string"/>
127 <xs:attribute name="value" type="xs:string"/>
128 </xs:complexType>
129
130 <xs:complexType name="customProperty">
131 <xs:attribute name="name" type="xs:string"/>
132 <xs:attribute name="value" type="xs:string"/>
133 </xs:complexType>
134
135 <xs:complexType name="inheritedAttribute">
136 <xs:attribute name="name" type="xs:string"/>
137 <xs:attribute name="order" type="xs:int"/>
138 </xs:complexType>
139
140 <xs:complexType name="abstractSearchableAttribute" abstract="true">
141 <xs:complexContent>
142 <xs:extension base="abstractAttribute">
143 <xs:attribute name="displayable" type="xs:boolean"/>
144 <xs:attribute name="mainDisplayable" type="xs:boolean"/>
145 <xs:attribute name="searchable" type="xs:boolean"/>
146 <xs:attribute name="useAttributeNameForDisplay" type="xs:boolean"/>
147 </xs:extension>
148 </xs:complexContent>
149 </xs:complexType>
150
151 <xs:complexType name="abstractAttribute" abstract="true">
152 <xs:sequence>
153 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
154 </xs:sequence>
155 <xs:attribute name="description" type="xs:string"/>
156 <xs:attribute name="displayName" type="xs:string"/>
157 <xs:attribute name="hidden" type="xs:boolean"/>
158 <xs:attribute name="name" type="xs:string"/>
159 <xs:attribute name="nullable" type="xs:boolean"/>
160 <xs:attribute name="order" type="xs:int"/>
161 <xs:attribute name="readOnly" type="xs:boolean"/>
162 </xs:complexType>
163
164 <xs:complexType name="nestedEntity">
165 <xs:sequence>
166 <xs:element name="simpleAttribute" type="simpleAttribute" minOccurs="0" maxOccurs="unbounded"/>
167 <xs:element name="arrayAttribute" type="arrayAttribute" minOccurs="0" maxOccurs="unbounded"/>
168 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
169 <xs:element name="tags" type="tag" minOccurs="0" maxOccurs="unbounded"/>
170 </xs:sequence>
171 <xs:attribute name="description" type="xs:string"/>
172 <xs:attribute name="displayName" type="xs:string"/>
173 <xs:attribute name="name" type="xs:string"/>
174 <xs:attribute name="crawlerClassName" type="xs:string"/>
175 <xs:attribute name="libraryVersion" type="xs:string"/>
176 <xs:attribute name="libraryName" type="xs:string"/>
177 <xs:attribute name="version" type="xs:int"/>
178 </xs:complexType>
179
180 <xs:complexType name="relationType">
181 <xs:sequence>
182 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
183 <xs:element name="tags" type="tag" minOccurs="0" maxOccurs="unbounded"/>
184 </xs:sequence>
185 <xs:attribute name="color" type="xs:string"/>
186 <xs:attribute name="direction" type="relationDirection"/>
187 <xs:attribute name="inner" type="xs:boolean"/>
188 <xs:attribute name="inwardDisplayName" type="xs:string"/>
189 <xs:attribute name="name" type="xs:string"/>
190 <xs:attribute name="outwardDisplayName" type="xs:string"/>
191 <xs:attribute name="crawlerClassName" type="xs:string"/>
192 <xs:attribute name="libraryVersion" type="xs:string"/>
193 <xs:attribute name="libraryName" type="xs:string"/>
194 <xs:attribute name="version" type="xs:int"/>
195 </xs:complexType>
196
197 <xs:complexType name="relation">
198 <xs:sequence>
199 <xs:element name="customProperties" type="customProperty" minOccurs="0" maxOccurs="unbounded"/>
200 <xs:element name="simpleAttribute" type="simpleAttribute" minOccurs="0" maxOccurs="unbounded"/>
201 <xs:element name="tags" type="tag" minOccurs="0" maxOccurs="unbounded"/>
202 </xs:sequence>
203 <xs:attribute name="fromAssetType" type="xs:string"/>
204 <xs:attribute name="fromCardinality" type="xs:int"/>
205 <xs:attribute name="relationType" type="xs:string"/>
206 <xs:attribute name="required" type="xs:boolean"/>
207 <xs:attribute name="toAssetType" type="xs:string"/>
208 <xs:attribute name="toCardinality" type="xs:int"/>
209 <xs:attribute name="crawlerClassName" type="xs:string"/>
210 <xs:attribute name="libraryVersion" type="xs:string"/>
211 <xs:attribute name="libraryName" type="xs:string"/>
212 <xs:attribute name="version" type="xs:int"/>
213 </xs:complexType>
214
215 <xs:complexType name="measurementSettings">
216 <xs:attribute name="categoryId" type="xs:string"/>
217 <xs:attribute name="defaultUnitId" type="xs:string"/>
218 </xs:complexType>
219
220 <xs:simpleType name="arrayValueType">
221 <xs:restriction base="xs:string">
222 <xs:enumeration value="Date"/>
223 <xs:enumeration value="Time"/>
224 <xs:enumeration value="Timestamp"/>
225 <xs:enumeration value="String"/>
226 <xs:enumeration value="Integer"/>
227 <xs:enumeration value="Number"/>
228 <xs:enumeration value="Blob"/>
229 <xs:enumeration value="Clob"/>
230 </xs:restriction>
231 </xs:simpleType>
232
233 <xs:simpleType name="simpleDataType">
234 <xs:restriction base="xs:string">
235 <xs:enumeration value="Date"/>
236 <xs:enumeration value="Time"/>
237 <xs:enumeration value="Timestamp"/>
238 <xs:enumeration value="String"/>
239 <xs:enumeration value="Integer"/>
240 <xs:enumeration value="Number"/>
241 <xs:enumeration value="Boolean"/>
242 <xs:enumeration value="Blob"/>
243 <xs:enumeration value="Clob"/>
244 </xs:restriction>
245 </xs:simpleType>
246
247 <xs:simpleType name="relationDirection">
248 <xs:restriction base="xs:string">
249 <xs:enumeration value="ONE_DIRECTIONAL"/>
250 <xs:enumeration value="BIDIRECTIONAL"/>
251 </xs:restriction>
252 </xs:simpleType>
253
254 <xs:simpleType name="searchSort">
255 <xs:restriction base="xs:string">
256 <xs:enumeration value="DEFAULT"/>
257 <xs:enumeration value="TRANSLIT"/>
258 </xs:restriction>
259 </xs:simpleType>
260</xs:schema>