Table of Contents
Fetching ...

owl2proto: Enabling Semantic Processing in Modern Cloud Micro-Services

Christian Banse, Angelika Schneider, Immanuel Kunz

TL;DR

The paper tackles the gap between semantic web ontologies and cloud-native data processing by translating OWL ontologies into protobuf schemas with owl2proto, enabling semantic data exchange in micro-service architectures. It preserves semantic information through inheritance flattening, class/property annotations, and carefully designed representations for data and object properties, while maintaining seamless integration with gRPC-based workflows. A Go-based prototype demonstrates the end-to-end flow from OWL (OWX) to protobuf, and the authors compare the approach to JSON-LD, arguing that protobuf offers better performance and data integrity for cloud environments. The work shows practical potential for securit y and multi-cloud scenarios, with future directions including RDF canonicalization techniques and deeper real-world validation.

Abstract

The usefulness of semantic technologies in the context of security has been demonstrated many times, e.g., for processing certification evidence, log files, and creating security policies. Integrating semantic technologies, like ontologies, in an automated workflow, however, is cumbersome since they introduce disruptions between the different technologies and data formats that are used. This is especially true for modern cloud-native applications, which rely heavily on technologies such as protobuf. In this paper we argue that these technology disruptions represent a major hindrance to the adoption of semantic technologies into the cloud and more effort and research is required to overcome them. We created one such approach called $\textit{owl2proto}$, which provides an automatic translation of OWL ontologies into the protobuf data format. We showcase the seamless integration of an ontology and transmission of semantic data in an already existing cloud micro-service.

owl2proto: Enabling Semantic Processing in Modern Cloud Micro-Services

TL;DR

The paper tackles the gap between semantic web ontologies and cloud-native data processing by translating OWL ontologies into protobuf schemas with owl2proto, enabling semantic data exchange in micro-service architectures. It preserves semantic information through inheritance flattening, class/property annotations, and carefully designed representations for data and object properties, while maintaining seamless integration with gRPC-based workflows. A Go-based prototype demonstrates the end-to-end flow from OWL (OWX) to protobuf, and the authors compare the approach to JSON-LD, arguing that protobuf offers better performance and data integrity for cloud environments. The work shows practical potential for securit y and multi-cloud scenarios, with future directions including RDF canonicalization techniques and deeper real-world validation.

Abstract

The usefulness of semantic technologies in the context of security has been demonstrated many times, e.g., for processing certification evidence, log files, and creating security policies. Integrating semantic technologies, like ontologies, in an automated workflow, however, is cumbersome since they introduce disruptions between the different technologies and data formats that are used. This is especially true for modern cloud-native applications, which rely heavily on technologies such as protobuf. In this paper we argue that these technology disruptions represent a major hindrance to the adoption of semantic technologies into the cloud and more effort and research is required to overcome them. We created one such approach called , which provides an automatic translation of OWL ontologies into the protobuf data format. We showcase the seamless integration of an ontology and transmission of semantic data in an already existing cloud micro-service.

Paper Structure

This paper contains 27 sections, 2 figures.

Figures (2)

  • Figure 1: Small excerpt of an ontology of cloud resources based on banse2023semantic
  • Figure 2: Our approach on how to exchange semantic data between a sender and a receiver via a channel