Note: there is a publicly hosted instance of this running at https://reconciliation.brickschema.org/reconcile . You can input that URL directly into OpenRefine
This holds Reconciliation API implementations (compliant to https://reconciliation-api.github.io/specs/0.1/) for use with OpenRefine and other software supporting the reconciliation API standard.
This Reconciliation API implementation enables the inference of Brick equipment and point classes from unstructured BMS labels. If you want to learn how to use this tool to create Brick models, check out our tutorial video.
You will only need to set this up once before you can use the Reconciliatio nserver
- Make sure you have an OpenRefine server running
- Make sure you have Python 3 (at least version 3.6) installed
- Set up virtual environment and install dependencies for the reconciliation server:
- Navigate to the
reconciliation-apis
directory in your terminal - Run
python3 -m venv venv
(creates virtual environment) (only need to do this once) - Run
source venv/bin/activate
(activates virtual environment) - Run
pip install -r requirements.txt
(installs dependencies) (only need to do this once)
- Navigate to the
- Run the server:
python3 app.py
:- If you need to stop/restart the server, remember to activate the virtual environment before running this command
- From the OpenRefine web interface (link here), open up a CSV file as you would normally, and use the drop down menu for any column to select "Reconcile" and then "Start Reconciling"
- This should have opened a new modal window. Select "Add Standard Service" in the lower left corner of this window and enter
http://localhost:5000/reconcile
into the text box. This address is produced by the default address of the reconciliation server (openapp.py
to change the port) followed by the/reconcile
path, which is the endpoint that supports the reconciliation API. This should now appear as the "Brick Reconciliation Service" in the modal. - Use the "Brick Reconciliation Service" as suggested in the YouTube tutorial