Skip to content

Related Work: bp4mc2 archimate2rdf

bp4mc2's archimate2rdf is an XSL-based translator that converts ArchiMate Model Exchange Files to RDF. It's a practical transformation tool — not a metamodel — designed to get ArchiMate models into RDF quickly with minimal ontological commitment.

Repository: github.com/bp4mc2/archimate2rdf Ontology: bp4mc2.org/def/archimate


Overview

Dimension Linked.Archi bp4mc2
Namespace https://meta.linked.archi/archimate3/onto# https://bp4mc2.org/def/archimate#
Primary goal Metamodel platform for architecture knowledge graphs Translator from ArchiMate Exchange XML to RDF
Ontology source Hand-authored from the ArchiMate specification Auto-generated from the ArchiMate XSD
Relationships Three-declaration qualified pattern + rdf:reifies OWL ObjectProperties + rdf:Statement reification
Validation SHACL shapes (relationship matrix, element, principle, viewpoint) None
Taxonomy SKOS with altLabels, scopeNotes, changeNotes None
Instance URIs URL-based URN-based (urn:uuid:)

Context

bp4mc2 (Best Practices for Meaningful Connected Computing) is a Dutch initiative from the Platform Implementatie Linked Open Data (PiLOD), focused on linked data best practices for government and public sector data. The archimate2rdf project is a practical tool within this ecosystem.

The project explicitly states its ontology is "as close to the XSD as possible, focusing on simplicity" and is "actually generated from the XSD." The authors acknowledge this is a transformation-oriented ontology, not a semantic modeling of the ArchiMate language itself. They also include a call to action: "We urge the Open Group to publish the archimate ontology at their own namespace!"


Different goals, different trade-offs

bp4mc2 optimizes for immediate usability. You have an ArchiMate Exchange XML file, you run the XSL transform, you get RDF. No dependencies, no ecosystem buy-in, no learning curve beyond basic RDF. The ontology is thin — element type names as OWL classes, relationship types as ObjectProperties, no definitions, no validation, no taxonomy.

We optimize for semantic richness and governance. Our ontology models the ArchiMate language with full definitions, abstract class hierarchies (Layer × Aspect), SHACL validation, derivation rules, and cross-metamodel integration. The trade-off is complexity and ecosystem dependency.


Relationship metadata

bp4mc2 uses classic rdf:Statement reification when relationships need metadata:

ex:rel1 a rdf:Statement ;
    rdf:subject   ex:AC1 ;
    rdf:object    ex:AC2 ;
    rdf:predicate archimate:flow ;
    archimate:association ex:DO1 .

It emits both the direct triple and the reified statement — a pragmatic choice that makes SPARQL queries simpler for consumers who don't need the metadata.

Linked.Archi uses typed QualifiedRelationship instances bridged via RDF 1.2 rdf:reifies. The relationship resource has a domain-specific type (e.g., am:Serving), supports lifecycle management, and can be the source or target of other relationships.

The bp4mc2 approach is simpler and adequate for data interchange. Our approach is necessary when relationships are governed objects with their own lifecycle.


What we learned from this project

  • The "emit both the direct triple and the reification" pattern is a good pragmatic choice. Linked.Archi's converters do the same thing — emit the unqualified triple alongside the qualified resource.
  • XSD-derived ontologies are fast to produce but semantically shallow. They capture structure but not meaning. For a transformation tool this is fine; for a metamodel platform it's insufficient.
  • The explicit design rationale in bp4mc2's README (why rdfs:label over custom properties, why rdf:Statement, why URNs) is a good practice. Documenting what you chose not to do is as valuable as documenting what you did.
  • The call for the Open Group to publish an official ArchiMate ontology remains relevant. Until that happens, independent formalizations like these fill the gap.

References