Design Principles
The design of OntoPop is guided by the key principles of interoperability and reusability.
Please note that the OntoPop backend open-source software project, which includes the event-driven data pipelines and APIs, is undergoing extensive redesign and refactoring as part of OntoPop Community 3.x in order to improve performance, security, extensibility and maintainability. As a result, the documentation on this page will be significantly updated. Please refer to the OntoPop Roadmap for further information.
Interoperability
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.
OntoPop is primarily written in Java 11 and utilizes the following core open-source software frameworks and services:
- Open JDK
- Spring Framework, including the following Spring projects:
- Apache Maven
- Apache Commons
- Apache Jena
- Apache TinkerPop (including Gremlin)
- JanusGraph
- Elasticsearch
- RabbitMQ
- HashiCorp Vault
- Java OWL API
- Google Guava
- Git
- Node.js
Reusability
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.