Skip to content
This repository has been archived by the owner on Jun 17, 2024. It is now read-only.

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jillurquddus authored Feb 2, 2023
1 parent 7bbc22b commit e3fd27d
Showing 1 changed file with 35 additions and 36 deletions.
71 changes: 35 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
<br/>
<p align="center">
<a href="https://ontopop.com" target="_blank">
<img src="static/assets/images/logos/ontopop-logo-small.png" alt="OntoPop" width="500" height="150">
<img src="https://hlaicdn.com/sites/docs.ontopop.com/images/logo/ontopop-logo-v3-6d6f44404a.png" alt="OntoPop" height="120">
</a>
<p align="center">
OntoPop is an open-source software project that enables the visualisation, search, exploration and management of version-controlled ontologies, delivered through a collection of event-driven microservices and APIs.
OntoPop is a collection of event-driven data pipelines and APIs that enable the visualisation, search, exploration and management of version-controlled ontologies. The OntoPop backend, which includes its event-driven data pipelines and APIs, is an open-source software project (the source code of which is available in this repository). The OntoPop frontend app is a proprietary closed-source software project.
<br/>
<br/>
<a href="https://ontopop.com" target="_blank"">Website</a> · <a href="https://docs.ontopop.com" target="_blank"">Documentation</a>
<a href="https://ontopop.com" target="_blank"">Website</a> · <a href="https://ontopop.com/app" target="_blank"">App</a> · <a href="https://docs.ontopop.com" target="_blank"">Docs</a>
</p>
</p>
<br/>

|![OntoPop](static/assets/images/screenshots/ontopop-screenshot.png "OntoPop")|
|![OntoPop](https://docs.ontopop.com/en/ontopop-network-view-with-logo-v3.jpg "OntoPop")|
|:---:|
|Screenshot of OntoPop's native UI|
|The OntoPop app|
<br/>

## Table of Contents
[1. Introduction](#introduction)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;[1.1. Vision](#vision)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;[1.2. Project Sponsors](#sponsors)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;[1.2. Sponsors](#sponsors)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;[1.3. Open Frameworks](#frameworks)<br/>
[2. Design](#design)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;[2.1. Microservices](#microservices)<br/>
Expand All @@ -36,22 +36,22 @@

## <a name="introduction"></a>1. Introduction

OntoPop is an open-source software project that enables the visualisation, search, exploration and management of version-controlled ontologies, delivered through a collection of event-driven microservices and APIs.
OntoPop is a collection of event-driven data pipelines and APIs that enable the visualisation, search, exploration and management of version-controlled ontologies. The OntoPop backend, which includes its event-driven data pipelines and APIs, is an open-source software project (the source code of which is available in this repository). The OntoPop frontend app is a proprietary closed-source software project.
<br/>

### <a name="vision"></a>1.1. Vision

The goal of OntoPop is to make ontologies easier to understand and more accessible to a broader range of users beyond information and data architects. OntoPop achieves this by providing a collection of open-source software services that together enable downstream applications (including OntoPop's native UI app) to visualise, search, explore and manage version-controlled ontologies, thereby making the creation, manipulation, querying and management of ontologies significantly easier than when compared to current tools available on the market. OntoPop was built and is actively maintained by [HyperLearning AI](https://hyperlearning.ai/).
The goal of OntoPop is to democratize ontologies by making them easier to understand and more accessible to a broader range of users beyond information and data architects. By democratizing ontologies, OntoPop enables organisations and individuals to easily visualise, explore and semantically query their knowledge assets, data and relationships.
<br/>

### <a name="sponsors"></a>1.2. Project Sponsors
### <a name="sponsors"></a>1.2. Sponsors

The OntoPop project is sponsored by [National Highways](https://nationalhighways.co.uk/) and [HyperLearning AI](https://hyperlearning.ai/). OntoPop is deployed at National Highways where it is being used to visualise and manage their ontology-based conceptual data model. Users, IT systems and suppliers alike at National Highways all use OntoPop to better understand what data exists across National Highways' entire data management landscape, where it is, who owns it, how to access it and how it can be linked together, thereby significantly improving data visibility, accessibility and governance.
The OntoPop backend, which includes its event-driven data pipelines and APIs, is an open-source software project that was sponsored by [National Highways](https://nationalhighways.co.uk/) between 2020 to 2022, and is currently sponsored by [HyperLearning AI](https://hyperlearning.ai/). The OntoPop frontend app is a closed-source software project that is sponsored by [HyperLearning AI](https://hyperlearning.ai/).
<br/>

### <a name="frameworks"></a>1.3. Open Frameworks

OntoPop is primarily written in [Java 11](https://jdk.java.net/java-se-ri/11) and utilizes the following core open-source software frameworks and services:
The OntoPop backend is primarily written in [Java 11](https://jdk.java.net/java-se-ri/11) and utilizes the following core open-source software frameworks and services:

* [OpenJDK 11](https://openjdk.java.net/projects/jdk/11/)
* [Spring Framework](https://spring.io/), including the following Spring projects:
Expand Down Expand Up @@ -84,10 +84,10 @@ OntoPop is primarily written in [Java 11](https://jdk.java.net/java-se-ri/11) an

### <a name="microservices"></a>2.1. Microservices

OntoPop is an open-source collection of event-driven microservices that enable downstream applications to visualise, search, explore and manage version-controlled ontologies. The following diagram illustrates the event-driven microservices provided by OntoPop.
The OntoPop backend is a collection of event-driven services that enable the visualisation, search, exploration and management of version-controlled ontologies. The following diagram illustrates the event-driven microservices available in OntoPop.
<br/><br/>

|![OntoPop Microservices](https://3137012541-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fco1NKEPHZffaCClDsEJG%2Fuploads%2FjLIVWabsj01i69Qm2sF4%2FOntoPop%20-%20High%20Level%20Solution%20Design%20-%20Event%20Driven%20Micro%20Services.jpg?alt=media&token=072a3095-38f2-4f0e-b09c-1f1dce2ccf5e "OntoPop Microservices")|
|![OntoPop's event-driven microservices](https://docs.ontopop.com/en/technical-architecture/microservices/event-driven-microservices.jpg "OntoPop's event-driven microservices")|
|:---:|
|OntoPop's event-driven microservices|
<br/>
Expand All @@ -96,61 +96,61 @@ Below is a brief description of the functional purpose of each of these microser

#### Ontology Services

##### [Ontology Ingestion Service](ontopop-data-ontology-ingestor)
##### [Ontology Ingestion Service](ontopop-data/ontopop-data-ontology-ingestor)

The ontology ingestion service ingests a W3C Web Ontology Language (OWL) ontology from a Git-based version control repository and copies it to persistent object storage.

##### [Ontology Validation Service](ontopop-data-ontology-validator)
##### [Ontology Validation Service](ontopop-data/ontopop-data-ontology-validator)

The ontology validation service ingests a W3C Web Ontology Language (OWL) ontology and validates it using semantic reasoners, returning true or false.

##### [Ontology Triplestore Loading Service](ontopop-data-ontology-loader-triplestore)
##### [Ontology Triplestore Loading Service](ontopop-data/ontopop-data-ontology-loader-triplestore)

The ontology triplestore loading service ingests a W3C Web Ontology Language (OWL) ontology and loads it into a physical RDF triplestore.

##### [Ontology Triplestore Query Service](ontopop-api-ontology-triplestore)
##### [Ontology Triplestore Query Service](ontopop-api/ontopop-api-ontology-triplestore)

The ontology triplestore query service is used to query the RDF triplestore using SPARQL queries and returns the relevant triples.

##### [Ontology Parsing Service](ontopop-data-ontology-parser)
##### [Ontology Parsing Service](ontopop-data/ontopop-data-ontology-parser)

The ontology parsing service ingests a W3C Web Ontology Language (OWL) ontology and parses it into its constituent objects, including annotation properties, object properties, classes and class relationships.

#### Property Graph Services

##### [Property Graph Modelling Service](ontopop-data-ontology-modeller-graph)
##### [Property Graph Modelling Service](ontopop-data/ontopop-data-ontology-modeller-graph)

The property graph modelling service ingests the parsed objects from a W3C Web Ontology Language (OWL) ontology and models them as directed property graph objects, specifically vertices, edges, vertex properties and edge properties.

##### [Property Graph Loading Service](ontopop-data-ontology-loader-graph)
##### [Property Graph Loading Service](ontopop-data/ontopop-data-ontology-loader-graph)

The property graph loading service ingests the directed property graph objects and loads them into a physical graph database.

##### [Property Graph Indexing Service](ontopop-data-ontology-indexer-graph)
##### [Property Graph Indexing Service](ontopop-data/ontopop-data-ontology-indexer-graph)

The property graph indexing service ingests the directed property graph objects and indexes them into a physical search index.

##### [Property Graph Query Service](ontopop-api-ontology-graph)
##### [Property Graph Query Service](ontopop-api/ontopop-api-ontology-graph)

The property graph query service is used to query the graph database and search index using Gremlin graph and free-text search queries, and returns the relevant result sets.

### <a name="principles"></a>2.2. Design Principles

#### Interoperability

Every OntoPop service is developed using open standards and open frameworks and, as such, is agnostic of the underlying deployment environment meaning that OntoPop supports deployment to on-premise, public cloud (including the AWS, Microsoft Azure and GCP cloud computing platforms), private cloud, multi-cloud and/or hybrid environments, and supports integration with industry-standard middleware and 3rd party open-source services.
Every OntoPop service is developed using open standards and open frameworks and, as such, is agnostic of the target deployment environment meaning that OntoPop supports deployment to on-premise, private cloud, public cloud (including Amazon Web Services, Microsoft Azure and Google Cloud Platform), multi-cloud and/or hybrid environments, and supports integration with industry-standard middleware and other open software services.

#### Reusability

Given that OntoPop is a collection of event-driven microservices, each service may be reused beyond the specific purposes of ontology visualisation, search, exploration and management. For example, the OntoPop property graph services may be reused to load, manage and query graph databases for a wide range of alternative use cases including fraud detection, digital twins, disease modelling, behavioural analysis, recommendation systems and natural language processing.
Given that OntoPop is a collection of event-driven services, each service may be reused beyond the specific purposes of ontology visualisation, search, exploration and management. For example, the OntoPop property graph services may be reused to load, manage and query general graph databases for a wide range of alternative use cases including fraud detection, digital twins, disease modelling, behavioural analysis, recommendation systems and natural language processing.

### <a name="architecture"></a>2.3. Logical System Architecture

The following diagram describes the high-level logical system architecture of OntoPop when deployed as a single integrated logical service.
The following diagram describes the high-level logical system architecture of OntoPop when deployed as a single logical service.

|![OntoPop Logical System Architecture](https://3137012541-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fco1NKEPHZffaCClDsEJG%2Fuploads%2FrIjmSR4mwHBEisDJJQQA%2FOntoPop%20-%20High%20Level%20Solution%20Design%20-%20Logical%20System%20Architecture.jpg?alt=media&token=5ff7929f-fea8-412a-bd1d-855652bafae4 "OntoPop Logical System Architecture")|
|![OntoPop logical system architecture](https://docs.ontopop.com/en/technical-architecture/system-architecture/logical-system-architecture.webp "OntoPop logical system architecture")|
|:---:|
|OntoPop Logical System Architecture|
|OntoPop logical system architecture|
<br/>

For further information regarding the technical, integration and security architecture of the OntoPop project, please visit the OntoPop documentation at https://docs.ontopop.com.
Expand Down Expand Up @@ -248,29 +248,28 @@ If you are running `mvn package` for the first time, it will take approximately

Assuming that `mvn package` completes successfully, you are now ready to deploy OntoPop. Please follow the links below for deployment instructions specific to your target deployment environment.<br/>

* **[Self Managed](https://docs.ontopop.com/deployment-guides/self-managed)** - deploy OntoPop to a self-managed on-premise, public/private cloud or hybrid environment, integrated with entirely open-source self-managed software services such as HashiCorp Vault, RabbitMQ, MySQL, Apache Jena Fuseki, JanusGraph and Elasticsearch.<br/><br/>
* **[Amazon Web Services](https://docs.ontopop.com/deployment-guides/amazon-web-services)** - deploy OntoPop to the Amazon Web Services (AWS) cloud computing platform, integrated with AWS managed services including AWS Secrets Manager, Amazon S3, Amazon MQ, Amazon RDS, AWS Lambda and AWS Elastic Beanstalk.<br/><br/>
* **[Microsoft Azure](https://docs.ontopop.com/deployment-guides/microsoft-azure)** - deploy OntoPop to the Microsoft Azure cloud computing platform, integrated with Azure managed services including Azure Key Vault, Azure Blob Storage, Azure Service Bus, Azure Functions and Azure Web Apps.
* **[Self Managed](https://docs.ontopop.com/deployment-guides/self-managed/deployment-architecture)** - deploy OntoPop to a self-managed on-premise, public/private cloud or hybrid environment, integrated with entirely open-source self-managed software services such as HashiCorp Vault, RabbitMQ, MySQL, Apache Jena Fuseki, JanusGraph and Elasticsearch.<br/><br/>
* **[Amazon Web Services](https://docs.ontopop.com/deployment-guides/amazon-web-services/deployment-architecture)** - deploy OntoPop to the Amazon Web Services (AWS) cloud computing platform, integrated with AWS managed services including AWS Secrets Manager, Amazon S3, Amazon MQ, Amazon RDS, AWS Lambda and AWS Elastic Beanstalk.<br/><br/>
* **[Microsoft Azure](https://docs.ontopop.com/deployment-guides/microsoft-azure/deployment-architecture)** - deploy OntoPop to the Microsoft Azure cloud computing platform, integrated with Azure managed services including Azure Key Vault, Azure Blob Storage, Azure Service Bus, Azure Functions and Azure Web Apps.
<br/>

## <a name="license"></a>4. License

OntoPop is an open-source software project available under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) (GNU GPLv3) software license.
The OntoPop backend, which includes its event-driven data pipelines and APIs, is an open-source software project available under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) (GNU GPLv3) software license (the source code of which is available in this repository). The OntoPop frontend app is a proprietary closed-source software project.
<br/><br/>

## <a name="acknowledgements"></a>5. Acknowledgements

Provided below is the list of organisations and individuals who sponsor, and contribute towards, the development of the OntoPop project.
Provided below is the list of organisations and individuals who sponsor, and/or contribute towards, the development of the OntoPop project.

### Organisations

* **[National Highways](https://nationalhighways.co.uk/)** - Project sponsor
* **[HyperLearning AI](https://hyperlearning.ai/)** - Project sponsorship, management and maintenance
* **[HyperLearning AI](https://hyperlearning.ai/)** - Project sponsor, management and maintenance
* **[National Highways](https://nationalhighways.co.uk/)** - Proof of Value (PoV) stage project sponsor

### Individuals

* **[Jillur Quddus](https://hyperlearning.ai/team/jillurquddus)** - Project Lead, Lead Technical Architect & Lead Java Engineer
* **[Christian Carestia](https://www.linkedin.com/in/christiancarestia)** - Lead Front End Engineer
* **[Jillur Quddus](https://hyperlearning.ai/team/jillurquddus)** - Project Lead, Lead Technical Architect & Lead Software Engineer
<br/>

## <a name="contact"></a>6. Contact and Further Information
Expand Down

0 comments on commit e3fd27d

Please sign in to comment.