code: def inflate(self, value):
          
          if not isinstance(value,neo4j.types.spatial.Point):
              raise TypeError('Invalid datatype to inflate. Expected POINT datatype, received {}'.format(type(value)))
  
          try:
              value_point_crs = SRID_TO_CRS[value.srid]
          except KeyError:
              raise ValueError('Invalid SRID to inflate. '
                               'Expected one of {}, received {}'.format(SRID_TO_CRS.keys(), value.srid))
  
          if self._crs != value_point_crs:
              raise ValueError('Invalid CRS. '
                               'Expected POINT defined over {}, received {}'.format(self._crs, value_point_crs))
          # cartesian
          if value.srid == 7203:
              return NeomodelPoint(x=value.x, y=value.y)
          # cartesian-3d
          elif value.srid == 9157:
              return NeomodelPoint(x=value.x, y=value.y, z=value.z)
          # wgs-84
          elif value.srid == 4326:
              return NeomodelPoint(longitude=value.longitude, latitude=value.latitude)
          # wgs-83-3d
          elif value.srid == 4979:
              return NeomodelPoint(longitude=value.longitude, latitude=value.latitude, height=value.height)
docs: Handles the marshalling from Neo4J POINT to NeomodelPoint
  
          :param value: Value returned from the database
          :type value: Neo4J POINT
          :return: NeomodelPoint