IPSM Architecture


IPSM is a component for performing semantic translation that can be use in a standalone mode or internally by other products e.g. INTER-MW. It has a REST interface for configuration, and both publish-subscribe and REST interfaces for translation. The used communication infrastructure that follows publish-subscribe paradigm is Apache Kafka.

Configuration includes:

  1. Uploading alignment files - identified by name and version, defined in IPSM-AF
  2. Defining semantic translation channels - each channel is defined with input and output topic names, identifiers (name and version) of input and output alignments

Additionally, the following operations are possible:

  1. List all uploaded alignments
  2. Delete alignment identified by name and version
  3. Retrieve alignment identified by name and version
  4. List created translation channels
  5. Delete channel identified by id

Performing semantic translation means sending input RDF message, and receiving output RDF message. Client can publish message to input topic of semantic translation channel, and consume message from output topic of semantic translation channel.

Another possibility is to use REST API for performing a synchronous semantic translation. Here, client in a request sends input RDF graph, and a sequence of alignments that should be applied. The response contains translated RDF graph.

For more information on IPSM usage see User Guide.

Architecture Architecture overview

Alignments and central ontology

IPSM can perform translation between any two RDF graphs. The translation can be direct or composed from multiple alignments depending on the context. In a typical IoT platforms integration case, we use Central Ontology (CO) so that the translation has two steps: translate from source semantics to CO and translate from CO to target ontology. As a result, integration of a new platform into the ecosystem means preparing alignments to and/or from CO (depends on requirement for one- or bi-directional communication requirement).

Direct translation means that only one alignment is applied that defines mappings between source and target semantics. To configure IPSM to act in this way a translation channel should be defined that has as input alignment defined alignment and as output IDENTITY alignment (not changing the RDF graph). Direct translation with REST API means specifying a sequence of alignments to be applied consisting of only one alignment.

Composed translation means applying more than one alignment. In pub-sub approach, by default two alignments are used. In REST-based translation an arbitrary alignments sequence can be specified.

Note that in each case, the translation process should be handled by one semantic translation channel. By default, a translation channel is configured with two alignments that are applied sequentially.

For more information see Configuration.