{"id":13752584,"url":"https://github.com/EBISPOT/OLS","last_synced_at":"2025-05-09T20:34:07.137Z","repository":{"id":22777449,"uuid":"26123514","full_name":"EBISPOT/OLS","owner":"EBISPOT","description":"Ontology Lookup Service from SPOT at EBI","archived":true,"fork":false,"pushed_at":"2023-04-28T20:09:19.000Z","size":30023,"stargazers_count":97,"open_issues_count":194,"forks_count":40,"subscribers_count":20,"default_branch":"dev","last_synced_at":"2024-11-16T05:32:05.418Z","etag":null,"topics":["java","neo4j","obofoundry","owl","owl-api"],"latest_commit_sha":null,"homepage":"http://www.ebi.ac.uk/ols","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jordanpotti/AWSBucketDump","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EBISPOT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-11-03T15:00:58.000Z","updated_at":"2024-10-31T20:53:02.000Z","dependencies_parsed_at":"2022-07-09T09:46:14.282Z","dependency_job_id":"29ff1307-f9e2-4cf9-9dbf-d6cc283a3830","html_url":"https://github.com/EBISPOT/OLS","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EBISPOT%2FOLS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EBISPOT%2FOLS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EBISPOT%2FOLS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EBISPOT%2FOLS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EBISPOT","download_url":"https://codeload.github.com/EBISPOT/OLS/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253321675,"owners_count":21890445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","neo4j","obofoundry","owl","owl-api"],"created_at":"2024-08-03T09:01:07.867Z","updated_at":"2025-05-09T20:34:03.674Z","avatar_url":"https://github.com/EBISPOT.png","language":"JavaScript","readme":"# We are currently developing a new version of OLS. This repository is no longer maintained.\n\nCheck out https://github.com/EBISPOT/ols4 for updates on the new version!\n\n\n---\n\nLegacy Ontology Lookup Service from SPOT at EBI.\n\n* OLS is currently live at the EBI here http://www.ebi.ac.uk/ols\n* A REST API for OLS is described here http://www.ebi.ac.uk/ols/docs/api\n* Instructions on how to build a local OLS installation are here\n  http://www.ebi.ac.uk/ols/docs/installation-guide\n* Run OLS with docker here\n  https://github.com/EBISPOT/ontotools-docker-config\n* Further OLS documentation can be found here\n  http://www.ebi.ac.uk/ols/docs\n\n## Overview\n\n![OLS Architecture](OLS-Architecture.png)\n\nThis is the entire codebase for the EBI OLS. OLS has been developed\naround two key ontology indexes that can be built and used independently\nfrom the core website. We provide services to build a Solr index and a\nNeo4j index. The Solr index is used to provide text-based queries over\nthe ontologies while the Neo4j index is used to query the ontology\nstructure and is the primary driver of the OLS REST API.\n \nOLS has been developed with the Spring Data and Spring Boot framework.\nYou can build this project with Maven and the following Spring Boot\napplications will be available to run.\n \nAll of the apps are available under the ols-apps module.\n\n* [ols-apps/ols-solr-app](ols-apps/ols-solr-app) - Spring Boot\n  application for building a Solr index for one or more ontologies.\n  Requires access to a Solr server.\n* [ols-apps/ols-neo4j-app](ols-apps/ols-neo4j-app) - Spring Boot\n  application for building a Neo4j index for one or more ontologies.\n  Builds an embedded Neo4j database. You can run a Neo4j server that\n  uses the generated Neo4j database.\n\nTo run a complete local OLS installation you will need a MongoDB\ndatabase. This is a lightweight database that is used to store all the\nontology configuration and application state information. See here for\nmore information http://www.ebi.ac.uk/ols/docs/installation-guide\n\n* [ols-apps/ols-config-importer](ols-apps/ols-config-importer) - Spring\n  Boot application for loading config files into the MongoDB database.\n  This includes support for reading config files specified using the OBO\n  Foundry YAML format.\n* [ols-apps/ols-indexer](ols-apps/ols-indexer) - Spring Boot\n  application for building the complete OLS indexes. This app fetches\n  ontologies specified in the config files, checks whether they have\n  changed from a previous download, and if they have changed, will\n  create all the necessary Solr and Neo4j indexes.\n* [ols-web](ols-web) - This contains the WAR file that can be deployed\n  in Tomcat to launch the OLS website and REST API. It depends on\n  [ols-term-type-treeview]\n  (https://github.com/EBISPOT/ols-term-type-treeview) and\n  [ols-tabbed-term-treeview]\n  (https://github.com/EBISPOT/ols-tabbed-term-treeview).\n\n\n## Deploying with Docker\n\nThe preferred method of deployment for OLS is using Docker. If you would like to deploy **the entire OntoTools stack** (OLS, OxO, and ZOOMA), check out the [OntoTools Docker Config](https://github.com/EBISPOT/ontotools-docker-config) repository. If you would like to deploy **OLS only**, read on.\n\nFirst, create the necessary volumes:\n\n    docker volume create --name=ols-neo4j-data\n    docker volume create --name=ols-mongo-data\n    docker volume create --name=ols-solr-data\n    docker volume create --name=ols-downloads\n\nThen, start solr and mongodb only:\n\n    docker-compose up -d solr mongo\n\nThen, adjust the configuration YAML files in the `config` directory as required,\nand load the configuration into the Mongo database using the config loader:\n\n    docker run --net=host -v $(pwd)/config:/config ebispot/ols-config-importer:stable\n\nThen, run the indexer:\n\n    docker run --net=host -v ols-neo4j-data:/mnt/neo4j -v ols-downloads:/mnt/downloads ebispot/ols-indexer:stable\n\nFinally, start the OLS webserver:\n\n    docker-compose up -d ols-web\n\nYou should now be able to access a populated OLS instance at `http://localhost:8080`.\n\n\n### Building the Docker images manually\n\nRather than using the images from Docker Hub, the Docker images can also be\nbuilt using the Dockerfiles in this repository.\n\n    docker build -f ols-apps/ols-config-importer/Dockerfile -t ols-config-importer .\n    docker build -f ols-apps/ols-indexer/Dockerfile -t ols-indexer .\n  \n\n\n## Building OLS manually\n\nTo build OLS you will need to use Java 8 and Maven 3.x.\n\nTo build OLS, in the root directory of OLS, run:\n`mvn clean package`. Currently this will fail with the following error:\n\n`[ERROR] Failed to execute goal on project ols-neo4j: Could not resolve dependencies for project uk.ac.ebi.spot:ols-neo4j:jar:3.2.1-SNAPSHOT: Failed to collect dependencies at org.springframework.data:spring-data-neo4j:jar:3.4.5.RELEASE -\u003e org.neo4j:neo4j-cypher-dsl:jar:2.0.1: Failed to read artifact descriptor for org.neo4j:neo4j-cypher-dsl:jar:2.0.1: Could not transfer artifact org.neo4j:neo4j-cypher-dsl:pom:2.0.1 from/to maven-neo4j (https://m2.neo4j.org/content/repositories/releases/): Failed to transfer file https://m2.neo4j.org/content/repositories/releases/org/neo4j/neo4j-cypher-dsl/2.0.1/neo4j-cypher-dsl-2.0.1.pom with status code 502 -\u003e [Help 1]`\n\nTo correct this, copy the contents of the `build-fix` directory into your Maven \nrepository under `~/.m2/repository`.\n\nRun `mvn clean package` again. OLS should now build successfully. \n\n### Other build errors\nOther build errors you may come across are the following:\n\n1. Wrong version of Java used:\n\n`[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project ols-solr: Compilation failure: Compilation failure: \n [ERROR] /Users/james/OLS/ols-solr/src/main/java/uk/ac/ebi/spot/ols/config/SolrContext.java:[15,24] package javax.annotation does not exist\n [ERROR] /Users/james/OLS/ols-solr/src/main/java/uk/ac/ebi/spot/ols/config/SolrContext.java:[25,4] cannot find symbol\n [ERROR]  symbol:  class Resource\n [ERROR]  location: class uk.ac.ebi.spot.ols.config.SolrContext\n [ERROR] -\u003e [Help 1]` \n \nThis is the error you get when you compile OLS with Java 11. The fix for this \nbuild error is to ensure your Maven installation is indeed using Java 8 for \ncompilation.  \n\n## Customisation\n\nIt is possible to customise several branding options in `ols-web/src/main/resources/application.properties`:\n\n* `ols.customisation.debrand` — If set to true, removes header and footer, documentation, and about page\n* `ols.customisation.ebiInfo` — If set to true, EBI specific banners are enabled\n* `ols.customisation.title` — A custom title for your instance, e.g. \"My OLS Instance\"\n* `ols.customisation.short-title` — A shorter version of the custom title, e.g. \"MYOLS\"\n* `ols.customisation.description` — A description of the instance\n* `ols.customisation.org` — The organisation hosting your instance\n* `ols.customisation.hideGraphView` — Set to true to hide the graph view \n* `ols.customisation.errorMessage` — Message to show on error pages\n* `ols.customisation.ontologyAlias` — A custom word or phrase to use instead of \"Ontology\", e.g. \"Data Dictionary\"\n* `ols.customisation.ontologyAliasPlural` — As `ontologyAlias` but plural, e.g. \"Data Dictionaries\"\n* `ols.customisation.oxoUrl` — The URL of an OxO instance to link to with a trailing slash e.g. `https://www.ebi.ac.uk/spot/oxo/`\n\n\n\n\n\n\n\n","funding_links":[],"categories":["Ranked by starred repositories"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEBISPOT%2FOLS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEBISPOT%2FOLS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEBISPOT%2FOLS/lists"}