By Adam Herzog | July 27, 2012
During the lifetime of a building, a huge quantity of information will be captured by multiple actors: owners, managers, users, architects, electricians, plumbers, etc. Because most of this information is not shared amongst these persons, the same analysis, verifications or measurements have to be done multiple times. SpatioData is a research project aiming at the development of a collaborative platform to support the effective sharing of such diverse data. In order to reach this ambitious goal, it is important to provide the users with devices suiting their needs (mobile or station) and interfaces adapted to their specific activities. These various client applications will communicate to a centralized database through web services exhibiting a common data model. The data model of such an application has to address many problems. Among those:
- The complexity of the data model to represent the different aspects of the buildings, their actors, and the activities of these actors;
- The communicability, to ensure that developers willing to build client applications will understand and use the provided model in the same way;
- The extensibility, to provide client-‐side developers with a mechanism to add their own data schemes in the database;
- The flexibility, required in a research environment, where multiple questions are being co-‐resolved in parallel. UML has been chosen for the representation of our data model, as it is a formalized and well-‐known format in the developers’ community. But instead of fully developing the data model, then implementing it and providing dedicated services to it, an original approach has been adopted, in the form of UML-‐ oriented Web Services independent of any specific model. This solution has been built on top of a graph database (Neo4J) in a simple but powerful way, providing answers to the given problems above. This paper details this solution and the process we have designed on top of it to make sure third-‐party developers can take full advantage of our platform.