In this release

The graph database under the hood of ProptechOS has been changed. It is a huge undertaking and improvement, but not something that will be visible for users. Some of the potential in the new graph has already been taken advantage of, but it will have more implications for future versions.

Data consistency is greatly improved by extending semantic axiom relations validations. ProptechOS validates the relations to other axioms (nodes), when creating or updating an object. Additionally, changes will now always take immediate effect, where previously sometimes it took time for them to propagate throughout ProptechOS.

New functionality

Added filters:

  • BuildingComponent/Room/Storey
    GET /buildingcomponent/
    GET /json/buildingcomponent/
    GET /room
    GET /json/room
    GET /storey
    GET /json/storey
    filtering by:

    • super device components (‘super_buildingcomponent_ids’)
  • Device/Sensor/Actuator
    GET /device/
    GET /json/device/
    GET /sensor
    GET /json/sensor
    GET /actuator
    GET /json/actuator
    filtering by:

    • super devices (‘super_device_ids’)
    • measurement units (‘measurement_units’)
  • ActuationInterface
    GET /json/actuationinterface
    GET /actuationinterface
    filtering by:

    • littera (‘littera’)
    • key value data types (‘key_value_data_types’)
    • value restriction types (‘value_restriction_types’)

Validation of Aliases

  • Now an alias must be unique per axiom class, but two axioms of different classes may have the same alias.
    (e.g. Two rooms may not have the same alias, but a Device and a Room can have the same alias.)

Breaking changes

There are some changes in axioms schemas to follow RealEstateCore:

  • Device
    GET /device
    GET /json/device
    GET /device/{id}
    GET /json/device/{id}
    PUT /json/device/
    POST /json/device/

    • ‘isServedByDevice’ property was renamed to ‘servedBy’
  • Room/VirtualBuildingComponent
    GET /json/buildingcomponent
    GET /buildingcomponent/{id}
    GET /json/buildingcomponent/{id}
    PUT /buildingcomponent/
    PUT /json/buildingcomponent/
    POST /json/buildingcomponent/
    GET /json/room
    GET /room/{id}
    GET /json/room/{id}
    PUT /room/
    PUT /json/room/
    POST /json/room/

    • the property ‘isPartOfStorey’ has been removed
      (‘hasSuperBuildingComponent’ property should be used instead)
    • ‘hasSubBuildingComponent’ property cardinality has changed from single (0,1) to multiple (0,*)

Fixes and minor updates

There are some changes for axioms filtering:

  • Devices can now be filtered by multiple device classes (‘device_classes’)
  • Irrelevant actuation interface filters were removed