This application provides a suite of tools to build and manage the AMBROSIA semantic layer. Each tool is designed to handle a specific part of the semantic workflow, from reconciling terms to generating linked data from models.
The semantic layer can be visualized and explored online using the Reactodia-based visualizer: AMBROSIA Semantic Layer Visualizer
- Python 3.10.16
To run this application, you will need to set up a Python environment and install the required dependencies. You can use either a standard virtual environment or Anaconda.
-
Create a virtual environment: Open a terminal in the
Appdirectory and run the following command:python -m venv venv
-
Activate the virtual environment:
- On Windows:
.\venv\Scripts\activate
- On macOS/Linux:
source venv/bin/activate
- On Windows:
-
Install the required packages:
pip install -r requirements.txt
- Create a new environment:
- Open Anaconda Navigator and go to the "Environments" tab.
- Click "Create" and give your new environment a name (e.g.,
semantic-layer-tools).
- Select Python 3.10.16.
- Install the required packages:
- Activate your new environment.
- In the terminal, navigate to the
Appdirectory and run:pip install -r requirements.txt
Once your environment is set up and the dependencies are installed, you can run the application with the following command from the App directory:
streamlit run Home.pyThis project is organized into several directories, each serving a specific purpose:
-
Vocabulary/: This directory contains the vocabularies used and generated by the application.- When using the SKOS Generator, you can extend existing vocabularies (e.g.,
ambrosia-plant-vocab.ttl,ambrosia-pathogen-vocab.ttl) by selecting them from this folder.
- When using the SKOS Generator, you can extend existing vocabularies (e.g.,
-
The FSKX to RDF Generator will create RDF representations of predictive models provided in .fskx format. Users can and should apply input, output and unit mappings to enrich the RDF for better interoperability.
-
Reconciliation/: This directory contains the logic for the Reconciliation Service.config.yaml: This is a critical configuration file where you must provide your API keys and usernames for the various reconciliation providers (e.g., NCBI, BioPortal). You can also specify preferred ontologies to appear at the top of the dropdown lists for providers that support a large number of ontologies.
-
example files/: This sub-directory contains example tables that can be used with the SKOS Generator and Reconciliation Service. -
reactodia/: A React application that uses the Reactodia library to provide an interactive, diagram-based visualization of the AMBROSIA ontologies and vocabularies. It allows users to explore relationships between entities in the semantic layer visually.