Skip to content

Linked.Archi Converters

The converters read a source modelling notation and produce a named-graph RDF dataset aligned to the https://meta.linked.archi/ ontology namespaces. The output is consumable by SPARQL engines and any RDF-based tooling — no notation-specific logic needed on the consumer side.

Each converter is a self-contained command-line tool. They are the part of the toolchain available for download today.

Available Converters

Converter Input Ontology alignment
ArchiMate ArchiMate Exchange XML amate: (https://meta.linked.archi/archimate3/onto#)
BPMN BPMN 2.0 XML bpmn: (https://meta.linked.archi/bpmn/onto#)
PlantUML PlantUML diagrams Linked.Archi core / language ontologies
Structurizr / C4 Structurizr workspace JSON c4: (https://meta.linked.archi/c4/onto#)
Backstage Backstage catalog YAML bs: (https://meta.linked.archi/backstage/onto#)

Full per-converter documentation — CLI options, type mappings, and worked examples — is on the converters site: Linked.Archi Converters documentation.

Downloads

Prebuilt artifacts for the latest main build are published as static files — no login or token required. See the downloads page for the full list and instructions.

Individual converter JARs

Self-contained fat JARs. Requires JRE 21+ on the target machine.

Converter JAR
ArchiMate archimate2linkedarchi.jar
BPMN bpmn2linkedarchi.jar
PlantUML plantuml2linkedarchi.jar
Structurizr / C4 structurizr2linkedarchi.jar
Backstage backstage2linkedarchi.jar

Distribution bundle

The full distribution contains every converter (fat JAR plus wrapper script), example type-mapping configs, and the user docs:

curl -fLO https://linked-archi.gitlab.io/linked-archi-tools/converters/converters/downloads/linked-archi-converters-0.1.0-SNAPSHOT.tar
tar -xf linked-archi-converters-0.1.0-SNAPSHOT.tar
export PATH="$PWD/linked-archi-converters-0.1.0-SNAPSHOT/bin:$PATH"
bpmn2linkedarchi --help

Docker

Every converter is bundled in a single container image, published to the GitLab Container Registry:

docker pull registry.gitlab.com/linked-archi/linked-archi-tools/converters/converters:latest

docker run --rm -v "$PWD:/work" -w /work \
  registry.gitlab.com/linked-archi/linked-archi-tools/converters/converters:latest \
  bpmn2linkedarchi convert process.bpmn --base-iri https://example.org/la/ -o out.trig

Tags: :latest (most recent default-branch build) and :<commit-sha> for a specific commit.

For versioned, immutable artifacts suited to CI pipelines and reproducible builds, pull from the project's GitLab Package Registry — see the downloads page and the CI usage guide.

Quick Start

Build from source, then run a converter:

# Build all converters
./gradlew build

# Convert a BPMN process to TriG
java -jar bpmn2linkedarchi.jar convert \
  process.bpmn --base-iri https://example.org/la/ \
  --model-id demo --format TRIG -o out.trig

# Convert ArchiMate Exchange XML to TriG
java -jar archimate2linkedarchi.jar convert \
  --input model.xml --output out.trig \
  --base https://example.org/la/ --model-id demo --format trig

Output Conventions

All converters share the same output shape:

  • Named graphs — a semantic graph for elements and relationships, plus a views graph (toggle with --include-views).
  • Dual-typing — every node is typed both with its language class and arch:Element; every relationship with its language class and arch:QualifiedRelationship.
  • SKOS metadataskos:prefLabel for labels and skos:notation for source identifiers (--emit-skos-labels / --emit-skos-notation).
  • Output formatsTRIG, TURTLE, JSONLD, RDFXML, or NTRIPLES via --format.
  • Type-mapping overrides — supply a YAML file with --type-mapping to align to a custom ontology.

Because every notation lands in the same RDF shape aligned to the Linked.Archi foundational ontology, the whole landscape becomes queryable via SPARQL and navigable by RDF tooling from a single coherent graph.