-
Notifications
You must be signed in to change notification settings - Fork 1
/
bsdd-graphql-soml.patch
770 lines (770 loc) · 24.9 KB
/
bsdd-graphql-soml.patch
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
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
--- bsdd-graphql-soml-orig.yaml 2023-04-13 12:00:03.741809600 +0300
+++ bsdd-graphql-soml-refact.yaml 2023-04-16 22:31:17.435909900 +0300
@@ -1,649 +1,638 @@
id: /soml/bsdd
label: SOML schema for buildingSMART Data Dictionary (bSDD)
creator: Vladimir Alexiev, Mihail Radkov
created: 2022-01-13
-updated: null
+updated: 2022-02-24
versionInfo: 1.0
-config: {}
+
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
-properties: {}
+
objects:
Country:
- type: 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: 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
- relatedIfcEntityNames:
- label: relatedIfcEntityNames
+ relatedIfcEntityName:
+ label: relatedIfcEntityName
max: inf
range: string
- synonyms:
- label: List of synonyms for the classification
+ synonym:
+ label: Synonym for the classification
max: inf
range: string
referenceCode:
label: Optional code for domain specific use
range: string
- properties:
- label: properties
+ classificationProperty:
+ label: classification property
max: inf
range: ClassificationProperty
- property:
- label: Select a property
- range: ClassificationProperty
- relations:
- label: relations
+ relation:
+ label: relation
max: inf
range: ClassificationRelation
- childs:
- label: Include list of childs, with simple properties only. Only available when using the classification function with option 'includeChilds = true'.
+ 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
- countriesOfUse:
- label: List of countries where used
+ 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
- namespaceUri:
- label: Unique identification of the classification
- min: 1
- range: string
- replacedObjectCodes:
- label: List of codes of the replaced items
+ replacedObjectCode:
+ label: Code of the replaced item
max: inf
range: string
- replacingObjectCodes:
- label: List of codes of the replacing items
+ 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
- subdivisionsOfUse:
- label: List of subdivisions (e.g. states) where used
+ 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: URI of a visual representation
- range: string
+ label: Visual representation
+ range: iri
+ domain:
+ label: The domain
+ min: 1
+ range: Domain
+ inverseAlias: classification
ClassificationProperty:
- type: 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:
- allowedValues:
- label: List of allowed values
+ allowedValue:
+ label: Allowed value
max: inf
- range: ClassificationPropertyValue
+ 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
- dynamicParameterPropertyCodes:
+ 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
- possibleValues:
- label: DEPRECATED - please use allowedValues instead
- max: inf
- range: ClassificationPropertyValue
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
- units:
- label: List of units
+ 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
- countriesOfUse:
- label: List of countries where used
+ 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
- namespaceUri:
- label: Unique identification of the property
- min: 1
- range: string
- replacedObjectCodes:
- label: List of codes of the replaced items
+ replacedObjectCode:
+ label: Code of replaced item
max: inf
range: string
- replacingObjectCodes:
- label: List of codes of the replacing items
+ 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
- subdivisionsOfUse:
- label: List of subdivisions (e.g. states) where used
+ 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: URI of a visual representation
- range: string
- ClassificationPropertyValue:
- type: ClassificationPropertyValue
- label: Attributes of possible values of a property of a classification.
- props:
- namespaceUri:
- label: Globally unique identification of the property
- range: string
- code:
- label: Code of the value
- range: string
- description:
- label: Description of the value
- range: string
- bsdd:value:
- label: The value
- min: 1
- range: string
- sortNumber:
- label: Sort number (if sorting of the values has been specified)
- range: int
+ label: Visual representation
+ range: iri
ClassificationRelation:
- type: 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
- relatedClassificationUri:
- label: The namespace uri of the related classification
- min: 1
- range: string
+ # 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: 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
- namespaceUri:
- label: The unique identification 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
- classificationSearch:
- label: Search for classifications in the domain. Results are limited to max 5000 items.
- max: inf
- range: Classification
classification:
- label: Select a classification
+ label: Classifications in the domain
+ max: inf
range: Classification
Language:
- type: 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: Property
+ type: bsdd:Property
label: Property
+ name: bsdd:name
props:
- allowedValues:
+ allowedValue:
label: List of allowed values
max: inf
range: PropertyValue
- connectedPropertyCodes:
+ 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
- possibleValues:
- label: DEPRECATED - please use allowedValues
- max: inf
- range: PropertyValue
- relations:
- label: List of related properties
+ relation:
+ label: Related properties
max: inf
range: PropertyRelation
textFormat:
label: The text type, e.g. UTF-8
range: string
- units:
- label: List of units
+ 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
- countriesOfUse:
+ 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
- namespaceUri:
- label: Unique identification 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: URI of a visual representation
- range: string
+ label: Visual representation
+ range: iri
PropertyValue:
- type: PropertyValue
- label: Attributes of possible values of a property.
+ type: bsdd:PropertyValue
+ label: Possible values of a Property or ClassificationProperty.
+ name: bsdd:name
props:
- namespaceUri:
- label: Globally unique identification of the property
- range: string
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: 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
- relatedPropertyUri:
- label: The namespace uri of the related property
- min: 1
- range: string
+ # 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: 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: 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: {}