Public | Automated Build

Last pushed: 2 years ago
Short Description
Service for metadata extraction from IFC-SPF, E57 and (soon) HDF5 files.
Full Description



This library is part of the DURAARK system and contains the metadata extraction components.

Additionally to this page a description on the provided functionality can be found in the report D2.5 Software prototype v2, Section 4.2.

Format support

The following file types are supported for the extraction of data:

  • E57
  • HDF5 (in development)

After the metadata extraction the information can be exported into the following formats (depending on the input file type):

  • Input: IFC-SPF -> Output-Schema: buildm -> Serialization: JSON-LD
  • Input: IFC-SPF -> Output-Schema: ifcm -> Serialization: XML
  • Input: E57 -> Output-Schema: e57m -> Serialization: XML


The extraction service comes with a plugin system to extend support for other file formats. Currently two core extractors are implemented:

  • E57

A plugin for the HDF5 file format is in development and will be available end of 2015.


The service depends on two components which are used by the core extraction plugins to do the actual metadata extraction:

Used By

This service is used by the


The following instructions will deploy the SailsJS-based service which exports a REST API.


The deployment is tested on Ubuntu 14.04 LTS. Other Linux distribution should work too, but are not tested. Docker and Docker Compose are used for installation and have to be installed on the system you want to deploy the DURAARK system on. The following instructions assume that Docker and Docker Compose are installed on working on the system. See the above links on how to install them for various platforms. Git has to be installed, too.

It is also possible to install DURAARK on Windows and Mac users via the Docker Toolbox. Installing Docker Compose on windows is possible, but seems to be a bit of a hurdle. See this Stackoverflow answer for details.

Our recommended stack is to install DURAARK on a Docker-compatible Linux system or to use VirtualBox to install a Linux virtual machine on your Windows host.

Installation Steps

On the host you want to deploy the service execute the following steps (assuming that Docker and Docker Compose are installed and working):

> git clone
> cd duraark-metadata
> docker-compose up -d

This will deploy the system in the current stable version (v0.7.0) which exposes its API at http://HOST_IP:5012/ (http://localhost:5012/ if you did the setup on your local host).

The files you want to use have to be put into the folder /tmp/duraark/files. You may want to also install the duraark-sessions, which acts as the data volume container for files in the DURAARK System.

Development Environment

To setup the environment follow these steps:

> git clone
> cd duraark-metadata
> npm install
> docker-compose -f devenv-compose.yml build
> docker-compose -f devenv-compose.yml up -d

This will build the dockerized development environment. After building the docker container is started and you can access the service at http://localhost:5012. Changing the source code will live reload the container.

The files you want to use have to be put into the folder /tmp/duraark/files. You may want to also install the duraark-sessions, which acts as the data volume container for files in the DURAARK System.


Run npm test in the src folder.

Platform Support

This library is running on NodeJS and provides a Dockerfile for deployments on Docker-enabled hosts.

Public API

We are hosting a public API endpoint at

which also provides API documentation for the current stable version.


A public demo of the DURAARK System which incorporates this service is available here.

Docker Pull Command
Source Repository