OLGA (Ontology Library GenerAtor) is a generic tool aiming to accelerate the adoption of Standard W3C Semantic technology among developers.
OLGA provides a better development experience by focusing on:
-
Reducing friction barrier for developers when working with an ontology model.
-
Accelerating development of ontology based systems.
-
Eliminating complexity by providing Object Oriented libraries for developers.
OLGA is based on a model driven approach taking as input an ontology file expressed in one of the supported W3C supported standards (RDF, OWL) and generating a library conform to the ontology model.
The generated library is then imported and used to programmatically to:
- Generate an ontology instance conform to the ontology model.
- Query the generated ontology instance by relying on Object Oriented Model instead of SPARQL.
OLGA is licensed under the MIT License. Schneider Electric requests contributions to be provided back to benefit the community.
To get started with OLGA, please check the following resources:
-
Home - general information about OLGA and its supported features
-
User Guide - how to use various features of the library
-
Hello World C# - a hello world example in C# (the most advanced in features) to get you started
-
Hello World Java - a hello world example in Java
-
Hello World Python - a hello world example in Python
-
Developer Guide - how to extend OLGA
-
Webservice User Guide - how to use OLGA through a WebService
You can build a docker image for hosting the OLGA web service.
To build a new image, run the following command:
$ ./build-docker-image.sh
There are various environment variable you can set for the build script:
Environment Variable | Default Value | Description |
---|---|---|
OLGA_REPO_URL | https://github.com/EcoStruxure/OLGA.git | OLGA Source Code Repo |
OLGA_GIT_BRANCH | master | Git branch in source repo to use when cloning OLGA repo |
OLGA_PROJECT_NAME | OLGA | Project name, used by the Dockerfile to generate artifact paths |
OLGA_SUBPROJECTS | OLGA-Core,OLGA-Ws | What subprojects we want to build |
OLGA_ARTIFACT_ID | OLGA-Ws | Maven Artifact ID, used by Dockerfile to generate artifact paths |
OLGA_VERSION | 0.0.6 | OLGA Version |
OLGA_DOCKER_TAG | ecostruxure/olga:latest | Docker tag for image |
N.B. the build script skips the tests.
To run the resulting image, run the following command:
$ ./docker-run.sh
There is a environment variable you can set for the run script:
Environment Variable | Default Value | Description |
---|---|---|
OLGA_DOCKER_TAG | ecostruxure/olga:latest | Docker tag for image |
You can access the web service at http://localhost:9090
An additional script, docker-cleanup.sh
is included to cleanup intermediate docker images created by the build script.