Skip to content

Class definition in the IFC schema #73

@atomczak

Description

@atomczak

In the current examples, we (re)define the class object for every classification, and it always has a code and a URI. The core schema (ifcx?) could have a class definition already in there. The advantage of that approach would be easier UI support, because every class would have the same attributes.

CURRENTLY:

  "schemas": {
    "EXAMPLE::class": {
      "value": {
        "dataType": "Object",
        "objectRestrictions": {
          "values": {
            "code": {
              "dataType": "String"
            },
            "uri": {
              "dataType": "String"
            }
          }
        }
      }
    }
  }

PROPOSED:

  "schemas": {
    "ifcx::class": {
      "value": {
        "dataType": "Object",
        "objectRestrictions": {
          "values": {
            "system": {
              "dataType": "String"
            },
            "code": {
              "dataType": "String"
            },
            "uri": {
              "dataType": "String"
            }
          }
        }
      }
    }
  },
"data": {
   "ifcx::class:"{
      "system": "EXAMPLE",
      "code": "ABC-001",
      "uri": "https://identifier....."
   }
}

Related to the schema wishlist #51 - perhaps this could be also resolved with the 'extends':

model EXAMPLE::class extends ifcx::class { }

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions