Declarative mappings (e.g., RML mappings, ontology alignments, and interlinking rules) are central to generating RDF and knowledge graphs from heterogeneous data sources. However, mapping artefacts are typically shared as standalone technical files with limited contextual documentation. While executable, such artefacts often lack structured metadata describing their purpose, design decisions, validation results, and maintenance history. This limits transparency, evaluation, governance, and informed reuse. Existing vocabularies such as PROV-O and DQV support provenance and quality description, but they do not explicitly capture the lifecycle context of mapping projects nor provide mapping-specific metadata constructs that integrate analysis, design, development, testing, and maintenance information. The Mapping Metadata Vocabulary (MMV) addresses this gap by introducing a lifecycle-based model for documenting declarative mapping projects. MMV structures metadata across five lifecycle phases:
Figure 1 presents a high-level overview of the Mapping Metadata Vocabulary (MMV).
The mmv:MappingProject acts as the central entity coordinating
lifecycle phases (Analysis, Design, Development, Testing, and Maintenance).
The diagram also illustrates alignment with PROV-O for stakeholder modelling
and DQV for quality assessment.
Figure 1. Conceptual overview of the Mapping Metadata Vocabulary (MMV).
| dcterms | <http://purl.org/dc/terms/> |
| dqv | <http://www.w3.org/ns/dqv#> |
| foaf | <http://xmlns.com/foaf/0.1/> |
| mmv | <http://w3id.org/mmv/0.1#> |
| mqv | <https://alex-randles.github.io/MQV/#> |
| owl | <http://www.w3.org/2002/07/owl#> |
| prov | <http://www.w3.org/ns/prov#> |
| rdf | <http://www.w3.org/1999/02/22-rdf-syntax-ns#> |
| rdfs | <http://www.w3.org/2000/01/rdf-schema#> |
| skos | <http://www.w3.org/2004/02/skos/core#> |
| vann | <http://purl.org/vocab/vann/> |
| xml | <http://www.w3.org/XML/1998/namespace> |
| xsd | <http://www.w3.org/2001/XMLSchema#> |
IRI: http://w3id.org/mmv/0.1#AnalysisActivity
IRI: http://w3id.org/mmv/0.1#DataSet
IRI: http://w3id.org/mmv/0.1#DesignActivity
IRI: http://w3id.org/mmv/0.1#DevelopmentActivity
IRI: http://w3id.org/mmv/0.1#MaintenanceActivity
IRI: http://w3id.org/mmv/0.1#MappingArtifact
IRI: http://w3id.org/mmv/0.1#MappingProject
IRI: http://www.w3.org/ns/dqv#Metric
IRI: http://www.w3.org/ns/dqv#QualityMeasurement
IRI: http://w3id.org/mmv/0.1#QualityAssessment
IRI: http://w3id.org/mmv/0.1#TestingActivity
IRI: http://w3id.org/mmv/0.1#hasStakeholder
IRI: http://w3id.org/mmv/0.1#hasAnalysis
IRI: http://w3id.org/mmv/0.1#hasDesign
IRI: http://w3id.org/mmv/0.1#hasDevelopment
IRI: http://w3id.org/mmv/0.1#hasInput
IRI: http://w3id.org/mmv/0.1#hasMaintenance
IRI: http://w3id.org/mmv/0.1#hasMappingArtifact
IRI: http://w3id.org/mmv/0.1#hasPlannedQualityMetric
IRI: http://w3id.org/mmv/0.1#hasQualityMeasurement
IRI: http://w3id.org/mmv/0.1#hasTesting
IRI: http://w3id.org/mmv/0.1#isAnalysisOf
IRI: http://w3id.org/mmv/0.1#isDesignOf
IRI: http://w3id.org/mmv/0.1#isDevelopmentOf
IRI: http://w3id.org/mmv/0.1#isMaintenanceOf
IRI: http://w3id.org/mmv/0.1#isMappingArtifactOf
IRI: http://w3id.org/mmv/0.1#isTestingOf
IRI: http://w3id.org/mmv/0.1#hasAssumption
IRI: http://w3id.org/mmv/0.1#hasBackground
IRI: http://w3id.org/mmv/0.1#hasDescription
IRI: http://w3id.org/mmv/0.1#hasDesignDecision
IRI: http://w3id.org/mmv/0.1#hasDomainAssumption
IRI: http://w3id.org/mmv/0.1#hasIdentifier
IRI: http://w3id.org/mmv/0.1#hasInputCreator
IRI: http://w3id.org/mmv/0.1#hasInputDescription
IRI: http://w3id.org/mmv/0.1#hasInputFormat
IRI: http://w3id.org/mmv/0.1#hasInputName
IRI: http://w3id.org/mmv/0.1#hasInputSource
IRI: http://w3id.org/mmv/0.1#hasInputType
IRI: http://w3id.org/mmv/0.1#hasJustification
IRI: http://w3id.org/mmv/0.1#hasMappingAlgorithm
IRI: http://w3id.org/mmv/0.1#hasMappingDomain
IRI: https://alex-randles.github.io/MQV/#hasMappingFormat
IRI: https://alex-randles.github.io/MQV/#hasMappingMethod
IRI: https://alex-randles.github.io/MQV/#hasMappingType
IRI: http://w3id.org/mmv/0.1#hasPublisherName
IRI: http://w3id.org/mmv/0.1#hasPublisherSource
IRI: http://w3id.org/mmv/0.1#hasPurpose
IRI: http://w3id.org/mmv/0.1#hasRequirement
IRI: http://w3id.org/mmv/0.1#hasRiskOrIssue
IRI: http://w3id.org/mmv/0.1#hasRole
IRI: http://w3id.org/mmv/0.1#hasTechnicalRequirement
IRI: http://w3id.org/mmv/0.1#hasTestingResult
IRI: http://w3id.org/mmv/0.1#hasTestingType
IRI: http://w3id.org/mmv/0.1#hasTool
IRI: http://w3id.org/mmv/0.1#hasVersionDateTime
IRI: http://w3id.org/mmv/0.1#version
This example illustrates how MMV can be used to document a lifecycle-based mapping project
that transforms a CSV dataset into RDF (e.g., using RML). It demonstrates how a
mmv:MappingProject links to its lifecycle phases (Analysis, Design, Development,
Testing, and Maintenance), records key metadata, and captures stakeholder information.
Example in Turtle
@prefix mmv: <http://w3id.org/mmv/0.1#> .
@prefix mqv: <https://alex-randles.github.io/MQV/#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dqv: <http://www.w3.org/ns/dqv#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# Mapping Project
ex:Project1 a mmv:MappingProject ;
dcterms:title "Electoral Division Mapping Project" ;
mmv:hasMappingArtifact ex:MappingV1 ;
mmv:hasAnalysis ex:Analysis1 ;
mmv:hasDesign ex:Design1 ;
mmv:hasDevelopment ex:Development1 ;
mmv:hasTesting ex:Testing1 ;
mmv:hasMaintenance ex:Maintenance1 ;
mmv:hasStakeholder ex:Sarah .
# Mapping Artifact
ex:MappingV1 a mmv:MappingArtifact ;
dcterms:title "Electoral Division Uplift Mapping v1" ;
mqv:hasMappingType "Uplift Mapping" ;
mqv:hasMappingMethod "Semi-automatic with manual validation" ;
mqv:hasMappingFormat "RML" ;
mmv:version "1.0" ;
mmv:hasDescription "Transforms CSV electoral division data into RDF using RML." .
# Analysis Phase
ex:Analysis1 a mmv:AnalysisActivity ;
mmv:hasPurpose "Transform CSV dataset into RDF for Linked Data publication." ;
mmv:hasRequirement "All divisions must receive persistent URIs." ;
mmv:hasMappingDomain "Geospatial statistics" ;
mmv:hasDomainAssumption "Each division has a unique code." ;
mmv:hasTechnicalRequirement "Mapping tool must support RDF-star." ;
mmv:hasInputName "electoral_divisions_2022.csv" ;
mmv:hasInputDescription "CSV dataset containing electoral division boundaries and codes." .
# Design Phase
ex:Design1 a mmv:DesignActivity ;
mmv:hasDesignDecision "Reuse GeoSPARQL vocabulary for geometry modelling." ;
mmv:hasJustification "Ensures interoperability with geospatial Linked Data systems." ;
mmv:hasPlannedQualityMetric ex:CompletenessMetric .
ex:CompletenessMetric a dqv:Metric .
# Development Phase
ex:Development1 a mmv:DevelopmentActivity ;
prov:startedAtTime "2025-06-01"^^xsd:date ;
prov:endedAtTime "2025-06-06"^^xsd:date .
# Testing Phase
ex:Testing1 a mmv:TestingActivity ;
mmv:hasTestingType "SHACL validation" ;
mmv:hasTestingResult "All constraints passed." ;
prov:generatedAtTime "2025-06-07T15:00:00"^^xsd:dateTime .
# Maintenance Phase
ex:Maintenance1 a mmv:MaintenanceActivity ;
mmv:hasPublisherName "Trinity College Dublin" ;
dcterms:issued "2025-06-07T18:30:00"^^xsd:dateTime .
# Stakeholder
ex:Sarah a foaf:Person ;
foaf:name "Sarah Alzahrani" ;
mmv:hasRole "Mapping Developer" ;
mmv:hasBackground "Researcher in knowledge graph engineering and semantic mappings." .
In this example, the mapping project links to lifecycle phases using object properties such as
mmv:hasAnalysis, mmv:hasDesign, and mmv:hasTesting.
Each lifecycle phase records relevant metadata using MMV data properties (e.g., purpose,
requirements, design decisions, testing outcomes, and versioning information),
supporting transparency, evaluation, and informed reuse of mapping artefacts.
The authors would like to thank Silvio Peroni for developing LODE, a Live OWL Documentation Environment, which is used for representing the Cross Referencing Section of this document and Daniel Garijo for developing Widoco, the program used to create the template used in this documentation.