-
Notifications
You must be signed in to change notification settings - Fork 1
/
bsdd-graphql-soml-refact.yaml
638 lines (633 loc) · 20 KB
/
bsdd-graphql-soml-refact.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
id: /soml/bsdd
label: SOML schema for buildingSMART Data Dictionary (bSDD)
creator: Vladimir Alexiev, Mihail Radkov
created: 2022-01-13
updated: 2022-02-24
versionInfo: 1.0
types:
ClassificationType:
values:
- name: CLASS
- name: COMPOSED_PROPERTY
- name: DOMAIN
- name: GROUP_OF_PROPERTIES
- name: REFERENCE_DOCUMENT
- name: ALTERNATIVE_USE
- name: MATERIAL
PropertyValueKind:
values:
- name: SINGLE
- name: RANGE
- name: LIST
- name: COMPLEX
- name: COMPLEX_LIST
prefixes:
bsdd: http://bsdd.buildingsmart.org/def#
specialPrefixes:
base_iri: https://identifier.buildingsmart.org/uri/
vocab_iri: http://bsdd.buildingsmart.org/def#
vocab_prefix: bsdd
objects:
Country:
type: bsdd:Country
label: Country
name: bsdd:name
props:
code:
label: Unique identification of the country
min: 1
range: string
name:
label: Country name
min: 1
range: string
Classification:
type: bsdd:Classification
label: "A classification can be any (abstract) object (e.g. \u201CIfcWall\u201D), abstract concept (e.g. \u201CCosting\u201D) or process (e.g. \u201CInstallation\u201D). Classifications can be organized in a tree like structure. For example: \u201CIfcCurtainWall\u201D is a more specific classification of \u201CIfcWall\u201D. We use the term \u201Cparent\u201D to identify this relation: the parent of \u201CIfcCurtainWall\u201D is \u201CIfcWall\u201D."
name: bsdd:name
props:
classificationType:
label: classificationType
range: ClassificationType
relatedIfcEntityName:
label: relatedIfcEntityName
max: inf
range: string
synonym:
label: Synonym for the classification
max: inf
range: string
referenceCode:
label: Optional code for domain specific use
range: string
classificationProperty:
label: classification property
max: inf
range: ClassificationProperty
relation:
label: relation
max: inf
range: ClassificationRelation
parentClassification:
label: Parent classification
range: Classification
max: 1
inverseAlias: childClassification
childClassification:
label: Child classification
max: inf
range: Classification
activationDateUtc:
label: Date of activation
min: 1
range: dateTime
code:
label: Code used originally by the domain
min: 1
range: string
creatorLanguageCode:
label: Language code of the creator
range: string
countryOfUse:
label: Country where used
max: inf
range: string
countryOfOrigin:
label: Country of origin
range: string
deActivationDateUtc:
label: Date of deactivation
range: dateTime
definition:
label: Definition
range: string
deprecationExplanation:
label: Explanation of the deprecation
range: string
documentReference:
label: Reference to a(n official) document
range: string
name:
label: Plain name of the classification
min: 1
range: string
replacedObjectCode:
label: Code of the replaced item
max: inf
range: string
replacingObjectCode:
label: Code of the replacing item
max: inf
range: string
revisionDateUtc:
label: Date of the revision
range: dateTime
revisionNumber:
label: Revision number
range: int
status:
label: 'Status, can be: Preview, Active or Inactive'
min: 1
range: string
subdivisionOfUse:
label: Subdivision (e.g. state) where used
max: inf
range: string
uid:
label: Alternative unique global identification
range: string
versionDateUtc:
label: Date of the version
range: dateTime
versionNumber:
label: Version number
range: int
visualRepresentationUri:
label: Visual representation
range: iri
domain:
label: The domain
min: 1
range: Domain
inverseAlias: classification
ClassificationProperty:
type: bsdd:ClassificationProperty
label: Attributes of a property of a classification. A property can be part of many classifications but the restrictions for the property can differ per classification
name: bsdd:name
props:
allowedValue:
label: Allowed value
max: inf
range: PropertyValue
classification:
label: Classification in which this ClassificationProperty resides
min: 1
range: Classification
inverseAlias: classificationProperty
dataType:
label: 'Format for expressing the value of the property: Boolean, Character, Date, Enumeration, Integer, Real, String, Time'
range: string
description:
label: Plain language description of the property
range: string
dimension:
label: "Dimension of the physical quantity in format 'L M T I \u0398 N J', for example '-2 1 0 0 0 0 0'.\n With\n L Length\n M Mass\n T Time\n I Electric current\n \u0398 Thermodynamic Temperature\n N Amount of substance\n J Luminous intensity\n"
range: string
dimensionLength:
label: The Length value of the dimension
range: int
dimensionMass:
label: The Mass value of the dimension
range: int
dimensionTime:
label: The Time value of the dimension
range: int
dimensionElectricCurrent:
label: The Electric Current value of the dimension
range: int
dimensionThermodynamicTemperature:
label: The Thermodynamic Temperature value of the dimension
range: int
dimensionAmountOfSubstance:
label: The Amount Of Substance value of the dimension
range: int
dimensionLuminousIntensity:
label: The Luminous Intensity value of the dimension
range: int
dynamicParameterPropertyCode:
label: List of codes of the properties which are parameters of the function for a dynamic property. Only applicable for dynamic properties (IsDynamic)
max: inf
range: string
example:
label: Illustrate possible use or values of the Property
range: string
isDynamic:
label: True if the value of this property is dependent on other properties (as provided in DynamicParameterPropertyCodes)
min: 1
range: boolean
isRequired:
label: Indicates if the property is required to be filled for this classification
range: boolean
isWritable:
label: Indicates if the property value can be changed
range: boolean
maxExclusive:
label: Maximum value of the property, exclusive
range: decimal
maxInclusive:
label: Maximum value of the property, inclusive
range: decimal
methodOfMeasurement:
label: Description of the method of measurement
range: string
minExclusive:
label: Minimum value of the property, exclusive
range: decimal
minInclusive:
label: Minimum value of the property, inclusive
range: decimal
pattern:
label: 'An XML Schema Regular expression for the property value. See for explanation: https://www.regular-expressions.info/xml.html.'
range: string
physicalQuantity:
label: The quantity in plain text
range: string
predefinedValue:
label: Predefined value for the property
range: string
property:
label: General property this ClassificationProperty is based on
min: 1
range: Property
propertySet:
label: Name of the property set
range: string
propertyValueKind:
label: 'Indicates kind of value: Single, Range (2 values expected), List (multiple values expected), Complex (use in combination with ConnectedProperties), ComplexList'
range: PropertyValueKind
symbol:
label: Symbol of the property
range: string
textFormat:
label: The text type, e.g. UTF-8
min: 1
range: string
unit:
label: Unit of measure
max: inf
range: string
activationDateUtc:
label: Date of activation
min: 1
range: dateTime
code:
label: Code used originally by the domain
min: 1
range: string
creatorLanguageCode:
label: Language code of the creator
range: string
countryOfUse:
label: Country where used
max: inf
range: string
countryOfOrigin:
label: Country of origin
range: string
deActivationDateUtc:
label: Date of deactivation
range: dateTime
definition:
label: Definition
range: string
deprecationExplanation:
label: Explanation of the deprecation
range: string
documentReference:
label: Reference to a(n official) document
range: string
name:
label: Plain name of the property
min: 1
range: string
replacedObjectCode:
label: Code of replaced item
max: inf
range: string
replacingObjectCode:
label: Code of replacing item
max: inf
range: string
revisionDateUtc:
label: Date of the revision
range: dateTime
revisionNumber:
label: Revision number
range: int
status:
label: 'Status, can be: Preview, Active or Inactive'
min: 1
range: string
subdivisionOfUse:
label: Subdivision (e.g. state) where used
max: inf
range: string
uid:
label: Alternative unique global identification
range: string
versionDateUtc:
label: Date of the version
range: dateTime
versionNumber:
label: Version number
range: int
visualRepresentationUri:
label: Visual representation
range: iri
ClassificationRelation:
type: bsdd:ClassificationRelation
label: Attributes of a relation of a classification with another classification, can be from a different domain.
name: relationType
props:
# relatedClassificationName:
# label: relatedClassificationName
# range: string
related:
label: Related classification
min: 2
max: 2
range: Classification
inverseOf: relation
relationType:
label: relationType
min: 1
range: string
Domain:
type: bsdd:Domain
label: Contains general information about the domain and the delivered data.
name: bsdd:name
props:
name:
label: The name of the domain
min: 1
range: string
version:
label: The version of the domain
min: 1
range: string
status:
label: status
range: string
releaseDate:
label: releaseDate
range: dateTime
license:
label: The type of license for using data of this domain
range: string
licenseUrl:
label: Url with more info about the license
range: string
copyrightNotice:
label: The domain copyright
range: string
moreInfoUrl:
label: Url with more info about the domain
range: string
lastUpdatedUtc:
label: UTC date this domain was last updated
min: 1
range: dateTime
languageCode:
label: The language the results will be returned in if no language specified or if specified language is not available
min: 1
range: string
classification:
label: Classifications in the domain
max: inf
range: Classification
Language:
type: bsdd:Language
label: Language
name: bsdd:name
props:
isocode:
label: Unique identification of the language
min: 1
range: string
name:
label: Language name
min: 1
range: string
Property:
type: bsdd:Property
label: Property
name: bsdd:name
props:
allowedValue:
label: List of allowed values
max: inf
range: PropertyValue
connectedPropertyCode:
label: List of codes of connected properties
max: inf
range: string
dataType:
label: 'Format for expressing the value of the property: Boolean, Character, Date, Enumeration, Integer, Real, String, Time'
range: string
description:
label: Plain language description of the property
range: string
dimension:
label: "Dimension of the physical quantity in format 'L M T I \u0398 N J', for example '-2 1 0 0 0 0 0'.\n With\n L Length\n M Mass\n T Time\n I Electric current\n \u0398 Thermodynamic Temperature\n N Amount of substance\n J Luminous intensity\n"
range: string
dimensionLength:
label: The Length value of the dimension
range: int
dimensionMass:
label: The Mass value of the dimension
range: int
dimensionTime:
label: The Time value of the dimension
range: int
dimensionElectricCurrent:
label: The Electric current value of the dimension
range: int
dimensionThermodynamicTemperature:
label: The Thermodynamic temperature value of the dimension
range: int
dimensionAmountOfSubstance:
label: The Amount of substance value of the dimension
range: int
dimensionLuminousIntensity:
label: The Luminous Intensity value of the dimension
range: int
dynamicParameterPropertyCodes:
label: List of codes of the properties which are parameters of the function for a dynamic property. Only applicable for dynamic properties (IsDynamic)
max: inf
range: string
example:
label: Illustrate possible use or values of the Property
range: string
isDynamic:
label: True if the value of this property is dependent on other properties (as provided in DynamicParameterPropertyCodes)
min: 1
range: boolean
maxExclusive:
label: Maximum value of the property, exclusive
range: decimal
maxInclusive:
label: Maximum value of the property, inclusive
range: decimal
methodOfMeasurement:
label: Description of the method of measurement
range: string
minExclusive:
label: Minimum value of the property, exclusive
range: decimal
minInclusive:
label: Minimum value of the property, inclusive
range: decimal
pattern:
label: 'An XML Schema Regular expression for the property value. See for explanation: https://www.regular-expressions.info/xml.html.'
range: string
physicalQuantity:
label: The quantity in plain text
range: string
propertyValueKind:
label: 'Indicates kind of value: Single, Range (2 values expected), List (multiple values expected), Complex (use in combination with ConnectedProperties), ComplexList'
range: PropertyValueKind
relation:
label: Related properties
max: inf
range: PropertyRelation
textFormat:
label: The text type, e.g. UTF-8
range: string
unit:
label: Unit of measure
max: inf
range: string
activationDateUtc:
label: Date of activation
min: 1
range: dateTime
classificationProperty:
label: ClassificationProperties that use this general property
max: inf
range: ClassificationProperty
inverseAlias: property
code:
label: Code used originally by the domain
min: 1
range: string
creatorLanguageCode:
label: Language code of the creator
range: string
countryOfUse:
label: List of countries where used
max: inf
range: string
countryOfOrigin:
label: Country of origin
range: string
deActivationDateUtc:
label: Date of deactivation
range: dateTime
definition:
label: Definition
range: string
deprecationExplanation:
label: Explanation of the deprecation
range: string
documentReference:
label: Reference to a(n official) document
range: string
name:
label: Plain name of the property
min: 1
range: string
replacedObjectCodes:
label: List of codes of the replaced items
max: inf
range: string
replacingObjectCodes:
label: List of codes of the replacing items
max: inf
range: string
revisionDateUtc:
label: Date of the revision
range: dateTime
revisionNumber:
label: Revision number
range: int
status:
label: 'Status, can be: Preview, Active or Inactive'
min: 1
range: string
subdivisionsOfUse:
label: List of subdivisions (e.g. states) where used
max: inf
range: string
uid:
label: Alternative unique global identification
range: string
versionDateUtc:
label: Date of the version
range: dateTime
versionNumber:
label: Version number
range: int
visualRepresentationUri:
label: Visual representation
range: iri
PropertyValue:
type: bsdd:PropertyValue
label: Possible values of a Property or ClassificationProperty.
name: bsdd:name
props:
code:
label: Code of the value (unique within the property)
range: string
description:
label: Description of the value
range: string
bsdd:value:
label: The value (unique within the property)
min: 1
range: string
sortNumber:
label: Sort number (if sorting of the values has been specified)
range: int
PropertyRelation:
type: bsdd:PropertyRelation
label: Attributes of a relation of a property with another property, can be from a different domain.
name: relationType
props:
# relatedPropertyName:
# label: Name of the related property
# range: string
related:
label: Related property
min: 2
max: 2
range: Property
inverseOf: relation
relationType:
label: Type of the relation with the reference property
min: 1
range: string
ReferenceDocument:
type: bsdd:ReferenceDocument
label: ReferenceDocument
name: bsdd:name
props:
title:
label: Unique identification of the reference document
min: 1
range: string
name:
label: Reference document name
min: 1
range: string
date:
label: Reference document date
min: 1
range: dateTime
Unit:
type: bsdd:Unit
label: Unit
name: bsdd:name
props:
code:
label: Unique identification of the unit
min: 1
range: string
name:
label: Unit name
min: 1
range: string
symbol:
label: Unit symbol
range: string
rbac:
roles: { }