https://github.com/mmisw/orr
ORR - Ontology Registry & Repository integrated system
https://github.com/mmisw/orr
docker earth-science interoperability ontology ontology-registry ontology-repository orr rest-api semantic-web sparql sparql-endpoints
Last synced: 3 months ago
JSON representation
ORR - Ontology Registry & Repository integrated system
- Host: GitHub
- URL: https://github.com/mmisw/orr
- Owner: mmisw
- License: apache-2.0
- Created: 2017-02-09T20:05:30.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2025-09-13T23:49:31.000Z (7 months ago)
- Last Synced: 2025-09-14T01:16:34.498Z (7 months ago)
- Topics: docker, earth-science, interoperability, ontology, ontology-registry, ontology-repository, orr, rest-api, semantic-web, sparql, sparql-endpoints
- Language: Shell
- Size: 36.1 KB
- Stars: 13
- Watchers: 4
- Forks: 6
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[](https://hub.docker.com/r/mmisw/orr)
[](https://hub.docker.com/r/mmisw/orr)
# ORR - Ontology Registry and Repository
The Ontology Registry and Repository (ORR) integrates semantic web services and tools
created by the Marine Metadata Interoperability project, MMI, toward the realization
of its [Semantic Framework](https://marinemetadata.org/semanticframework) vision.
Current funding is provided by the U.S. National Science Foundation through the
[Cross-Domain Observational Metadata for Environmental Sensing (X-DOMES) project](
https://www.earthcube.org/group/x-domes).
For end-users, documentation is located at
[https://mmisw.org/orrdoc/](https://mmisw.org/orrdoc/).
----
For developers, this is a parent repo that facilitates the build of the
integrated ORR system comprising its backend and frontend components,
which are referenced via git submodules:
| component | description |
|-----------|-------------|
| [https://github.com/mmisw/orr-ont](https://github.com/mmisw/orr-ont) | Backend |
| [https://github.com/mmisw/orr-portal](https://github.com/mmisw/orr-portal) | Frontend |
Actual code development occurs within those repos.
## Clone
For a fresh clone of this repo on your system, you can run the following
to fetch everything including submodules:
```
git clone --recursive https://github.com/mmisw/orr.git
```
If you have already cloned this repo but forgot the `--recursive` flag,
then run:
```
git submodule update --init --recursive
```
## Build
### Base image
```
docker build -f base.Dockerfile -t "mmisw/orr-base:2020-09-12" .
docker push "mmisw/orr-base:2020-09-12"
```
## ORR image
The main deployable ORR artifact that is built in this repo is the
[mmisw/orr docker image](https://hub.docker.com/r/mmisw/orr).
The typical sequence of steps to build a new ORR version reflecting
latest submodule changes is as follows:
```
git submodule foreach "(git checkout master; git pull)"
```
Check the submodule versions to determine the version for the integrated system,
for example, `3.x.y`. Typically this is going to be the version of the
orr-portal module (see `version` entry in [orr-portal/package.json](orr-portal/package.json))
as this is the one displayed to the end user in the frontend.
We assume such version for the integrated ORR system is captured in the
`ORR_VERSION` environment variable in what follows.
```
ORR_VERSION=3.x.y
```
The `./build.sh` script that we will be running in a moment takes care of
building the whole system. This script expects one or two arguments.
The first argument is the version for the ORR integrated system.
So, we will use `${ORR_VERSION}` for this.
The second argument is only required if the version of the backend
component (see `build.Version` entry in [orr-ont/project/build.scala](orr-ont/project/build.scala))
is different:
```
BACKEND_VERSION=3.w.z
```
Then, run `./build.sh` accordingly, that is, either:
```
./build.sh ${ORR_VERSION}
```
or:
```
./build.sh ${ORR_VERSION} ${BACKEND_VERSION}
```
**NOTE**: This may take several minutes to complete.
Example of complete output
[here](https://gist.github.com/carueda/980020ffa0662a11a3a129b8a1274a2f).
Publishing the Docker image:
```
docker login
docker push mmisw/orr:${ORR_VERSION}
```
Finally:
```
git add -u
git commit -m "build v${ORR_VERSION}"
git push origin master
git tag "v${ORR_VERSION}"
git push origin "v${ORR_VERSION}"
```