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:labelover custom properties, whyrdf: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.