Relationships and lifecycle vocabularies
Controlled terms and semantic relations used to connect research objects, describe versions and publication stages, and represent provenance across the research lifecycle.
This resource explains how to create explicit machine-readable links between datasets, publications, software, workflows, instruments, projects, samples and other research resources.
It also provides guidance on recording versions, lifecycle dates, derivation, dependencies, replacement and provenance without confusing these distinct types of information.
Resource information
Resource type: Relationship and lifecycle vocabulary guidance
Primary audience: Researchers, data stewards, repository managers, metadata specialists, research software engineers and infrastructure providers
Coverage: Citations, supplements, documentation, part–whole relations, versions, derivation, dependencies, publication stages, lifecycle dates and provenance
Primary uses: DOI metadata, repository records, research-object graphs, workflow documentation, version management and provenance exchange
Main sources: DataCite relationType, COAR Version Types, DataCite dateType and W3C PROV-O
Last reviewed: July 2026
Purpose and scope
A typed relationship states not only that two resources are connected but also how they are connected and in which direction the relationship should be interpreted.
Lifecycle metadata records the state, version and relevant dates of a resource. Provenance metadata describes the activities, inputs, outputs and agents responsible for its creation or transformation.
These forms of metadata should be coordinated but kept separate. A resource version, a publication stage, a provenance event and a related identifier represent different concepts.
Important: there is no single vocabulary that fully represents every research-object lifecycle. A practical profile normally combines DataCite relationships and dates, an appropriate version vocabulary and a provenance model.
Relationship and lifecycle families
Scholarly relationships
Connect citations, references, supplements, reviews, documentation and related publications.
Structural relationships
Represent collections, components, series, distributions and other part–whole structures.
Version and lifecycle relations
Describe editions, versions, corrections, updates, replacements and publication stages.
Provenance relationships
Connect inputs, activities, agents, methods and outputs across a research workflow.
What a typed relationship must contain
| Component | Purpose |
|---|---|
| Source resource | The resource from whose metadata record the relationship is stated. |
| Target resource | The external or internal research object to which the source is related. |
| Relationship type | A controlled value defining the meaning and direction of the connection. |
| Target identifier | A globally unique identifier such as DOI, URL, RAiD, IGSN, RRID or SWHID. |
| Identifier type | Identifies the scheme used for the target identifier. |
| Target resource type | Optionally clarifies whether the target is a dataset, article, software object, instrument or another resource. |
| Additional information | Provides clarification only where the controlled relationship does not contain sufficient detail. |
Relationship direction
DataCite relationship definitions are expressed from the registered resource A to the related resource B. The selected value must therefore be read as a complete statement beginning with the resource currently being described.
A IsDerivedFrom B: A was produced from or based on B.
A IsSourceOf B: B was produced from or based on A.
A IsNewVersionOf B: A is the newer version.
A IsPreviousVersionOf B: A is the earlier version.
A IsPartOf B: A is a component of B.
A HasPart B: B is a component of A.
DataCite relationship types
| Relationship family | Principal DataCite values |
|---|---|
| Citation and reference | Cites, IsCitedBy, References, IsReferencedBy |
| Supplement and description | IsSupplementTo, IsSupplementedBy, Describes, IsDescribedBy, Documents, IsDocumentedBy |
| Metadata | HasMetadata, IsMetadataFor |
| Part and container | IsPartOf, HasPart, IsPublishedIn |
| Version and continuation | HasVersion, IsVersionOf, IsNewVersionOf, IsPreviousVersionOf, Continues, IsContinuedBy |
| Derivation and construction | IsDerivedFrom, IsSourceOf, IsCompiledBy, Compiles |
| Dependencies | Requires, IsRequiredBy |
| Replacement | Obsoletes, IsObsoletedBy |
| Forms and identity | IsVariantFormOf, IsOriginalFormOf, IsIdenticalTo |
| Review and translation | Reviews, IsReviewedBy, IsTranslationOf, HasTranslation |
| Data collection | IsCollectedBy, Collects |
| Other | Other, accompanied by relationTypeInformation |
Citation and reference relationships
| Relation from resource A | Meaning | Typical example |
|---|---|---|
Cites |
A formally cites B. | A publication cites a dataset. |
IsCitedBy |
A is formally cited by B. | A dataset is cited by a journal article. |
References |
A uses B as a source of information. | A README refers to an external specification. |
IsReferencedBy |
A is used as a source of information by B. | A dataset is referenced by a project page. |
Supplements, descriptions and documentation
| Use case | Relation from the described resource | Inverse relation |
|---|---|---|
| Dataset supplements an article | IsSupplementTo |
IsSupplementedBy |
| Data paper describes a dataset | Describes |
IsDescribedBy |
| README documents a dataset | Documents |
IsDocumentedBy |
| Metadata record describes another resource | IsMetadataFor |
HasMetadata |
Part–whole and publication relationships
IsPartOf
The described object is a component of a collection, package, series or compound resource.
HasPart
The described object contains or aggregates the identified component.
IsPublishedIn
The resource is published inside a journal, proceedings or another publishing container.
IsVersionOf
The resource is a versioned instance rather than a structural component of the target object.
Version relationships
| Relation | Meaning | Recommended use |
|---|---|---|
IsVersionOf |
A is a versioned instance of B. | Connect a specific software or dataset version to a conceptual all-versions resource. |
HasVersion |
A has the versioned instance B. | Connect an all-versions record to an individual version. |
IsNewVersionOf |
A is a newer modified or updated version of B. | Connect two successive independently citable versions. |
IsPreviousVersionOf |
A is the earlier version of B. | Point from an older record to its successor. |
Obsoletes |
A replaces B. | Indicate that the older resource should no longer be used. |
IsObsoletedBy |
A is replaced by B. | Direct users from an obsolete resource to its replacement. |
Derivation, dependencies and compilation
| Use case | Relation from A to B | Interpretation |
|---|---|---|
| Processed dataset created from raw data | IsDerivedFrom |
B is a source on which A is based. |
| Raw dataset used to create a processed dataset | IsSourceOf |
A is the source on which B is based. |
| Software depends on another package | Requires |
A cannot operate as intended without B. |
| Software package required by another resource | IsRequiredBy |
B depends on A. |
| Executable generated using a compiler | IsCompiledBy |
B was used to compile or create A. |
| Compiler generates an executable | Compiles |
B is the result of compilation using A. |
| Dataset collected using an instrument | IsCollectedBy |
B was used to collect, measure or observe A. |
| Instrument used to collect a dataset | Collects |
A collects or measures B. |
Identity, form, review and translation
| Relation | Use |
|---|---|
IsIdenticalTo |
Connect separate locations or registrations of exactly the same resource. |
IsVariantFormOf |
Identify another form or representation of the same intellectual resource. |
IsOriginalFormOf |
Identify the original from which a variant form was produced. |
Reviews |
State that the described resource is a review of another resource. |
IsReviewedBy |
Link a resource to a separately identified review. |
IsTranslationOf |
Link a translated resource to its original-language version. |
HasTranslation |
Link the original resource to one of its translations. |
Using the Other relationship
Use Other only when no existing DataCite relationship
describes the connection adequately.
Supply relationTypeInformation with a concise and
unambiguous explanation of the relationship.
Do not use Other merely because the correct controlled
relation has not yet been identified.
A local extension should be documented and mapped to a standard relationship when a suitable value becomes available.
RelatedIdentifier and RelatedItem
RelatedIdentifier
Use when the related resource has a globally unique identifier such as a DOI, URL, IGSN, RAiD or SWHID.
RelatedItem
Use when a structured bibliographic or resource description is needed, including when no persistent identifier exists.
Relation type
Both properties use the controlled DataCite relationType vocabulary.
Local workflow links
Use a dedicated provenance representation when individual workflow steps require detailed input–output relations.
Dimensions of a resource lifecycle
Version identifier
Distinguishes successive releases or states of the resource, such as 1.0, 1.1 or 2.0.
Publication stage
Distinguishes author, submitted, accepted, proof and published versions.
Lifecycle date
Records when the resource was created, collected, issued, updated, made available or withdrawn.
Provenance event
Describes the activity that generated or transformed the resource and the responsible agents.
COAR Version Types
| COAR value | Meaning | Persistent URI |
|---|---|---|
| AO | Author's original version considered ready for submission to formal review. |
http://purl.org/coar/version/c_b1a7d7d4d402bcce
|
| SMUR | Submitted manuscript under formal review. |
http://purl.org/coar/version/c_71e4c1898caa6e32
|
| AM | Accepted manuscript for which a publishing entity has accepted responsibility. |
http://purl.org/coar/version/c_ab4af688f83e57aa
|
| P | Proof or publisher-processed version created during the publication process. |
http://purl.org/coar/version/c_fa2ee174bc00049f
|
| VoR | Fixed version formally and exclusively declared published. |
http://purl.org/coar/version/c_970fb48d4fbd8a85
|
| CVoR | Corrected Version of Record in which errors in the VoR have been corrected. |
http://purl.org/coar/version/c_e19f295774971610
|
| EVoR | Enhanced Version of Record supplemented or otherwise expanded after publication. |
http://purl.org/coar/version/c_dc82b40f9837b551
|
| NA | Version type is not applicable or is unknown. |
http://purl.org/coar/version/c_be7fb7dd8ff6fe43
|
When to use COAR Version Types
Use COAR Version Types: for manuscripts, articles and other resources passing through a recognisable scholarly publication process.
Do not use AO, AM or VoR: as generic stages of a raw dataset, software build or computational run unless the local profile clearly adopts that publication model.
For datasets: record an explicit version number, version DOI relations and relevant lifecycle dates.
For software: use a release or semantic version identifier and connect releases through DataCite version relations.
For workflows: distinguish the workflow specification, its version and individual executions.
Dataset and software versioning
| Versioning element | Recommended representation |
|---|---|
| Version number |
Explicit value such as 1.0, 1.2 or
2.0.
|
| Version DOI | Persistent identifier for the specific independently citable version. |
| All-versions identifier | Identifier representing the conceptual resource across its releases, where the repository supports it. |
| Version relation | IsVersionOf, HasVersion, IsNewVersionOf or IsPreviousVersionOf. |
| Release date | Issued or Available, depending on the publication event being recorded. |
| Change description | Human-readable release notes or structured change log. |
| Replacement status | Obsoletes or IsObsoletedBy where an earlier resource should no longer be used. |
Lifecycle dates
| DataCite dateType | Lifecycle meaning |
|---|---|
Created |
The resource was created. |
Collected |
The resource content was collected during this date or period. |
Coverage |
The date or period represented by the resource. |
Submitted |
The resource was submitted to a repository or publisher. |
Accepted |
The resource was accepted by the publisher or service. |
Issued |
The resource was formally published or issued. |
Available |
The resource became or will become available. |
Updated |
The resource or its record was modified. |
Valid |
The resource or information is valid during the stated period. |
Copyrighted |
Copyright status began on the documented date. |
Withdrawn |
The resource was withdrawn. |
Other |
Another relevant date, explained through
dateInformation.
|
Date type and lifecycle state
Submitted date: records when submission occurred.
Submitted version: identifies the publication stage of the resource.
Version number: distinguishes a particular release.
Version relationship: connects that release with other identified versions.
Provenance activity: explains how the version was produced.
Provenance relationships with PROV-O
PROV-O represents provenance through three principal classes: Entity, Activity and Agent.
Entity
A dataset, file, sample, model, software object, configuration or another identifiable thing.
Activity
A collection, measurement, simulation, transformation, training, validation or analysis process.
Agent
A person, organisation or software agent responsible for an entity or activity.
Qualified relation
An expanded relation carrying a role, date, plan or other contextual information.
Core provenance relationships
| PROV-O property | Meaning | Example |
|---|---|---|
prov:used |
An activity used an entity. | A training activity used a reference dataset. |
prov:wasGeneratedBy |
An entity was generated by an activity. | A trained model was generated by model training. |
prov:wasDerivedFrom |
An entity was transformed or constructed from another entity. | A processed dataset was derived from raw observations. |
prov:wasAttributedTo |
An entity is attributed to an agent. | A dataset is attributed to its research team. |
prov:wasAssociatedWith |
An activity is associated with a responsible agent. | A simulation run was associated with software and a researcher. |
prov:wasInformedBy |
One activity was informed by another activity. | Model training followed data preparation. |
prov:startedAtTime |
Records when an activity started. | Start of a computational execution. |
prov:endedAtTime |
Records when an activity ended. | Completion of data processing. |
DataCite relationships and PROV-O
| Requirement | DataCite relation | PROV-O representation |
|---|---|---|
| Link a published output to its source dataset | IsDerivedFrom |
prov:wasDerivedFrom |
| Identify the activity that generated an output | Normally not represented as a complete process in one relation | prov:wasGeneratedBy |
| Identify inputs used by a workflow step | May use Requires or IsDerivedFrom at resource level | prov:used |
| Identify the responsible researcher or software | Creator or Contributor metadata |
prov:wasAttributedTo or
prov:wasAssociatedWith
|
| Connect two published versions | IsNewVersionOf, IsPreviousVersionOf, IsVersionOf |
May additionally use prov:wasRevisionOf
|
Example: DFT → MLIP → MD relationship chain
| Resource or activity | Relationship | Target |
|---|---|---|
| DFT calculation activity | prov:used |
Input structures and calculation parameters |
| Reference dataset | prov:wasGeneratedBy |
DFT calculation activity |
| MLIP training activity | prov:used |
Reference dataset and training configuration |
| Trained model | prov:wasGeneratedBy |
MLIP training activity |
| Trained model | prov:wasDerivedFrom |
Reference dataset |
| MD simulation activity | prov:used |
Trained model and initial configuration |
| MD trajectory | prov:wasGeneratedBy |
MD simulation activity |
| Published MD dataset | IsDerivedFrom |
Reference data and trained-model dataset |
Example of DataCite relationships
{
"doi": "10.xxxx/example-dataset-v2",
"version": "2.0",
"relatedIdentifiers": [
{
"relatedIdentifier": "10.xxxx/example-dataset",
"relatedIdentifierType": "DOI",
"relationType": "IsVersionOf",
"resourceTypeGeneral": "Dataset"
},
{
"relatedIdentifier": "10.xxxx/example-dataset-v1",
"relatedIdentifierType": "DOI",
"relationType": "IsNewVersionOf",
"resourceTypeGeneral": "Dataset"
},
{
"relatedIdentifier": "10.xxxx/example-publication",
"relatedIdentifierType": "DOI",
"relationType": "IsSupplementTo",
"resourceTypeGeneral": "JournalArticle"
},
{
"relatedIdentifier": "https://example.org/workflow/",
"relatedIdentifierType": "URL",
"relationType": "IsDocumentedBy",
"resourceTypeGeneral": "Workflow"
},
{
"relatedIdentifier": "10.xxxx/source-dataset",
"relatedIdentifierType": "DOI",
"relationType": "IsDerivedFrom",
"resourceTypeGeneral": "Dataset"
}
],
"dates": [
{
"date": "2026-07-01",
"dateType": "Created"
},
{
"date": "2026-07-25",
"dateType": "Issued"
}
]
}
Example of workflow provenance
{
"@context": {
"prov": "http://www.w3.org/ns/prov#",
"ex": "https://example.org/workflow/"
},
"@graph": [
{
"@id": "ex:reference-dataset",
"@type": "prov:Entity",
"prov:wasGeneratedBy": {
"@id": "ex:dft-calculation"
}
},
{
"@id": "ex:dft-calculation",
"@type": "prov:Activity",
"prov:used": [
{
"@id": "ex:input-structures"
},
{
"@id": "ex:dft-configuration"
}
],
"prov:wasAssociatedWith": {
"@id": "ex:dft-software"
}
},
{
"@id": "ex:trained-model",
"@type": "prov:Entity",
"prov:wasGeneratedBy": {
"@id": "ex:model-training"
},
"prov:wasDerivedFrom": {
"@id": "ex:reference-dataset"
}
},
{
"@id": "ex:model-training",
"@type": "prov:Activity",
"prov:used": {
"@id": "ex:reference-dataset"
}
},
{
"@id": "ex:md-trajectory",
"@type": "prov:Entity",
"prov:wasGeneratedBy": {
"@id": "ex:md-simulation"
}
},
{
"@id": "ex:md-simulation",
"@type": "prov:Activity",
"prov:used": [
{
"@id": "ex:trained-model"
},
{
"@id": "ex:initial-configuration"
}
]
}
]
}
How to select a relationship
1. Identify both objects
Determine exactly which resource is described and which resource is the target.
2. Form a sentence
Read the statement as “resource A [relation] resource B” before selecting the controlled value.
3. Choose the narrowest relation
Prefer a precise citation, version, derivation or part relation over a generic reference.
4. Validate the identifiers
Check the target identifier, identifier scheme, direction and resource type.
Relationship selection guide
| Question | Preferred relation |
|---|---|
| Does A formally cite B? | Cites |
| Does A provide supporting material for B? | IsSupplementTo |
| Does A explain or document B? | Documents or Describes |
| Is A physically or logically contained within B? | IsPartOf |
| Is A a versioned instance of B? | IsVersionOf |
| Is A the newer release of B? | IsNewVersionOf |
| Was A transformed or calculated from B? | IsDerivedFrom |
| Does A require B to operate or execute? | Requires |
| Does A formally replace B? | Obsoletes |
| Is A exactly the same resource stored elsewhere? | IsIdenticalTo |
Validation of relationships and lifecycle metadata
Direction validation
Confirm that the relation reads correctly from the described resource to the target.
Identifier validation
Check identifier syntax, type, uniqueness and resolvability where applicable.
Lifecycle validation
Check consistency between version number, version type, dates and replacement status.
Graph validation
Detect contradictory, circular or missing relationships across the research-object graph.
Recommended validation conditions
Every related identifier has an identifier type and relationship type.
The target identifier resolves to the expected resource where resolution is supported.
Inverse relations are used consistently across records where both sides are maintained locally.
A resource is not marked as both identical to and derived from the same target.
A new version does not point to itself as the previous version.
An obsolete resource points to the current replacement.
COAR publication-version terms are not applied to unrelated workflow or dataset states without documentation.
Provenance links refer to identifiable entities, activities and agents.
Common implementation errors
Providing an identifier without a relation type: the connection cannot be interpreted automatically.
Reversing relation direction: source and target acquire the opposite meaning.
Using References for every connection: citation, derivation and version semantics are lost.
Using IsPartOf for versions: structural containment is confused with version identity.
Using IsNewVersionOf for every modification: minor metadata corrections are treated as new citable resource versions.
Using IsIdenticalTo for similar objects: distinct datasets or representations are incorrectly declared identical.
Recording provenance only as narrative text: inputs, activities and outputs cannot be traversed by software.
Applying COAR publication stages to computational runs: publication lifecycle and execution lifecycle are confused.
Recording only the latest version: earlier citations and the update history cannot be resolved.
Using Other without clarification: the relationship remains semantically ambiguous.
How to use this resource
Identify the connection
Determine whether the relation concerns citation, structure, version, derivation, dependency or provenance.
Select the model
Use DataCite for stable resource links, COAR for publication versions and PROV-O for process provenance.
Record structured metadata
Preserve relation direction, target identifier, resource type, dates and version information.
Validate the graph
Check consistency across records, versions, dependencies and provenance chains.