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
semanticgraph for elements and relationships, plus aviewsgraph (toggle with--include-views). - Dual-typing — every node is typed both with its language class and
arch:Element; every relationship with its language class andarch:QualifiedRelationship. - SKOS metadata —
skos:prefLabelfor labels andskos:notationfor source identifiers (--emit-skos-labels/--emit-skos-notation). - Output formats —
TRIG,TURTLE,JSONLD,RDFXML, orNTRIPLESvia--format. - Type-mapping overrides — supply a YAML file with
--type-mappingto 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.