Create Update Tombstone Event Term
Open Digital Specimen List of Terms
Create Update Tombstone Event List of Terms
Title : Create Update Tombstone Event List of Terms
Date version issued : 2024-10-15
Date created : 2024-10-15
This version : 0.4.0
Latest version : 0.4.0
Abstract
: The Create Update Tombstone Event is an object that is used for provenance tracking in the DiSSCo infrastructure.
It tracks, who, what and when a change to a Digital Object was made.
The model has been based on the W3C PROV model.
It consists of three interlinked objects:
- The Activity: This contains information about the action that was performed. It includes the time when the change was made (prov:endedAtTime
) and in case of an Update it contains the full change (ods:changeValue
) as a JSON Patch object.
- The Entity: The entity indicates the object that was changed. In case of an Create or Update it will hold the newly create object, in serialised as JSON in the field prov:value
.
- The Agent: The agent is the person or system that made the change. It contains the identifier of the Agent en the agent name (schema:name
).
Each object refers to the other objects through a set of properties, following the PROV model.
Main contributors : Sam Leeflang, Soulaine Theocharides, Tom Dijkema, Wouter Addink, Sharif Islam, Claus Weiland, Jonas Grieb
Creator : Distributed Infrastructure for Scientific Collections (DiSSCo)
Bibliographic citation : Distributed Infrastructure for Scientific Collections. 2024. Create Update Tombstone Event List of Terms.
1 Introduction
1.1 Status of the content of this document
The openDS data specification is in active development. This document is work in progres and might change until version 1.0.0 is released. Its main function at the moment is to inform the community about the current state of the data model and to gather feedback. We hope to include the feedback from the community and reach a first major version of the data model by the end of 2024.
1.2 RFC 2119 key words
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 RFC 2119 and RFC 8174 when, and only when, they appear in all capitals, as shown here.
1.3 Naming Convention
This document contains all the terms in use the DiSSCo Digital Objects.
Most objects can be directly related to a openDS class, for example the Machine Annotation Service, or the Source System.
However, the Digital Specimen and the Digital Media are more complex objects.
They can contain classes as nested object in itself.
In general, class names are capitalized, use the UpperCamelCase naming convention and are singular.
For example, the class that represents a Digital Specimen is called DigitalSpecimen
.
The properties of a class start with a lowercase and use the lowerCamelCase naming convention.
When a class contains a property which contains a list of another class we use the convention hasXXXs
where XXX is the class name.
The properties name ends with an s
to indicate that it is plural and contains an array of objects.
For example, the Digital Specimen can contain a list of Event objects, so it has a property called hasEvents
.
When a class is directly nested (not through a list) we use the same hasXXX
construction.
This name does not end with an s
but is singular, indicating that it contains a single nested object.
For example, the Location class contains the property hasGeoreference
which contains the Geo Reference class.
When terms are borrowed from other vocabularies, such as Darwin Core, Annotation Vocabulary, Schema.org or others, we use the same naming convention as in the original vocabulary. This could conflict with the openDS vocabulary naming convention.
2 Borrowed Vocabulary
When terms are borrowed from other vocabularies, openDS uses the IRIs, common abbreviations, and namespace prefixes in use in those vocabularies. The IRIs are normative, but abbreviations and namespace prefixes have no impact except as an aid to reading the documentation.
Table 1. Vocabularies from which terms have been borrowed (non-normative)
Vocabulary | Abbreviation | Namespaces and abbreviations |
---|---|---|
Schema.org | Schema | schema: = https://schema.org/version/latest/schemaorg-current-https.rdf |
PROV | PROV | prov: = http://www.w3.org/ns/prov# |
Activity Streams | AS | as: = https://www.w3.org/ns/activitystreams# |
3 Namespaces, Prefixes and Term Names
The namespace of terms borrowed from other vocabularies is that of the original. The namespace of de openDS terms is http://rs.dissco.eu/opends/terms/. In the table of terms, each term entry has a row with the term name. This term name is generally an “unqualified name” preceded by a widely accepted prefix designating an abbreviation for the namespace It is RECOMMENDED that implementers who need a namespace prefix for the openDS namespace use ods. In this web document, hovering over a term in the Index By Term Name list below will reveal a complete URL that can be used in other web documents to link to this document’s treatment of that term, even if it is from a borrowed vocabulary.
4 Term index
4.1 Index By Term Name
Classes
ods:Agent
ods:CreateUpdateTombstoneEvent
ods:Identifier
ods:prov:Activity
ods:prov:Entity
5 Vocabulary
Term Name ods:hasRoles | |
---|---|
Qualified Term | ods:hasRoles |
Term IRI | http://rs.dissco.eu/opends/terms/hasRoles |
Label | Has Roles |
Definition | Contains all roles associated with the agent in the context of the Digital Object. Should always contain at least one role |
Datatype | array<ods:Role> |
Belongs to Class | ods:Agent |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name ods:hasIdentifiers | |
---|---|
Qualified Term | ods:hasIdentifiers |
Term IRI | http://rs.dissco.eu/opends/terms/hasIdentifiers |
Label | Has Identifiers |
Definition | Contains all identifiers associated with the agent |
Datatype | array<ods:Identifier> |
Belongs to Class | ods:Agent |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name schema:url | |
---|---|
Qualified Term | schema:url |
Term IRI | http://schema.org/url |
Label | URL |
Definition | URL to a website of the agent |
Examples |
|
Datatype | string |
Belongs to Class | ods:Agent |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name schema:email | |
---|---|
Qualified Term | schema:email |
Term IRI | http://schema.org/email |
Label | |
Definition | Email of the agent |
Examples |
|
Datatype | string |
Belongs to Class | ods:Agent |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name schema:name | |
---|---|
Qualified Term | schema:name |
Term IRI | http://schema.org/name |
Label | Name |
Definition | Full name of the agent |
Examples |
|
Datatype | string |
Belongs to Class | ods:Agent |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name schema:identifier | |
---|---|
Qualified Term | schema:identifier |
Term IRI | http://schema.org/identifier |
Label | Identifier |
Definition | The primary unique identifier of the Agent object. All identifiers will also be added to the ods:hasIdentifiers array |
Examples |
|
Datatype | string |
Belongs to Class | ods:Agent |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name Agent | |
---|---|
Qualified Term | ods:Agent |
Term IRI | http://rs.dissco.eu/opends/terms/Agent |
Label | Agent |
Definition | A generic agent class, containing information about the actor who performed an activity. This could be a person, an organization or a machine. |
Required | False |
Repeatable | True |
RDF Type | rdfs:Class |
Term Name ods:hasAgents | |
---|---|
Qualified Term | ods:hasAgents |
Term IRI | http://rs.dissco.eu/opends/terms/hasAgents |
Label | Has Agents |
Definition | Contains zero or more prov:Agent objects, connected based on the identifier with the `prov:Activity` |
Datatype | array<ods:Agent> |
Belongs to Class | ods:CreateUpdateTombstoneEvent |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name CreateUpdateTombstoneEvent | |
---|---|
Qualified Term | ods:CreateUpdateTombstoneEvent |
Term IRI | http://rs.dissco.eu/opends/terms/CreateUpdateTombstoneEvent |
Label | Create Update Tombstone Event |
Definition | An provenance event describing any change that has been made to a Digital Object, this could be the creation, modification or tombstoning of an object. Model is based on the W3C PROV Data Model (https://www.w3.org/TR/prov-o/) |
Required | True |
Repeatable | True |
RDF Type | rdfs:Class |
Term Name dcterms:identifier | |
---|---|
Qualified Term | dcterms:identifier |
Term IRI | http://purl.org/dc/terms/identifier |
Label | Identifier |
Definition | The unique identifier of the Create Update Tombstone Event, this includes the version of the object |
Examples |
|
Datatype | string |
Belongs to Class | ods:CreateUpdateTombstoneEvent |
Required | True |
Repeatable | False |
RDF Type | rdf:Property |
Term Name prov:Activity | |
---|---|
Qualified Term | prov:Activity |
Term IRI | http://www.w3.org/ns/prov#Activity |
Label | Activity |
Definition | This class described the activity that was performed on the Digital Object, Based on the prov-ontology Activity Class |
Datatype | object |
Required | False |
Repeatable | False |
RDF Type | rdfs:Class |
Term Name prov:Entity | |
---|---|
Qualified Term | prov:Entity |
Term IRI | http://www.w3.org/ns/prov#Entity |
Label | Entity |
Definition | The Digital Object on which the Activity took place, the resulting Digital Object is stored as the `prov:value` |
Datatype | object |
Required | False |
Repeatable | False |
RDF Type | rdfs:Class |
Term Name ods:identifierStatus | |
---|---|
Qualified Term | ods:identifierStatus |
Term IRI | http://rs.dissco.eu/opends/terms/identifierStatus |
Label | Identifier Status |
Definition | Indicates the status of the identifier |
Controlled Vocabulary |
|
Datatype | string |
Belongs to Class | ods:Identifier |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name ods:isPartOfLabel | |
---|---|
Qualified Term | ods:isPartOfLabel |
Term IRI | http://rs.dissco.eu/opends/terms/isPartOfLabel |
Label | Is Part Of Label |
Definition | Indicates whether the identifier is part of the physical label |
Datatype | boolean |
Belongs to Class | ods:Identifier |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name dcterms:subject | |
---|---|
Qualified Term | dcterms:subject |
Term IRI | http://purl.org/dc/terms/subject |
Label | Subject |
Definition | Additional keywords that the publisher may prefer to be attached to the identifier |
Examples |
|
Datatype | array<string> |
Belongs to Class | ods:Identifier |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name dcterms:format | |
---|---|
Qualified Term | dcterms:format |
Term IRI | http://purl.org/dc/terms/format |
Label | Format |
Definition | All possible mime types of content that can be returned by identifier in case the identifier is resolvable. Plain UUIDs for example do not have a dc:format return type, as they are not resolvable on their own. For a list of MIME types see the list maintained by IANA: http://www.iana.org/assignments/media-types/index.html, in particular the text http://www.iana.org/assignments/media-types/text/ and application http://www.iana.org/assignments/media-types/application/ types. Frequently used values are text/html, text/xml, application/rdf+xml, application/json |
Examples |
|
Datatype | array<string> |
Belongs to Class | ods:Identifier |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name dcterms:identifier | |
---|---|
Qualified Term | dcterms:identifier |
Term IRI | http://purl.org/dc/terms/identifier |
Label | Identifier |
Definition | The value for the identifier |
Examples |
|
Datatype | string |
Belongs to Class | ods:Identifier |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name dcterms:type | |
---|---|
Qualified Term | dcterms:type |
Term IRI | http://purl.org/dc/terms/type |
Label | Type |
Definition | The type of the value in the `dcterms:identifier` field |
Examples |
|
Controlled Vocabulary |
|
Datatype | string |
Belongs to Class | ods:Identifier |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name dcterms:title | |
---|---|
Qualified Term | dcterms:title |
Term IRI | http://purl.org/dc/terms/title |
Label | Title |
Definition | A name for the identifier |
Examples |
|
Datatype | string |
Belongs to Class | ods:Identifier |
Required | True |
Repeatable | False |
RDF Type | rdf:Property |
Term Name ods:gupriLevel | |
---|---|
Qualified Term | ods:gupriLevel |
Term IRI | http://rs.dissco.eu/opends/terms/gupriLevel |
Label | GUPRI Level |
Definition | Indicates whether the identifier is a persistent identifier |
Controlled Vocabulary |
|
Datatype | string |
Belongs to Class | ods:Identifier |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name Identifier | |
---|---|
Qualified Term | ods:Identifier |
Term IRI | http://rs.dissco.eu/opends/terms/Identifier |
Label | Identifier |
Definition | A generic Identifier class which can be attached to multiple classes. It captures information about any identifier of the class. |
Required | False |
Repeatable | True |
RDF Type | rdfs:Class |
Term Name schema:position | |
---|---|
Qualified Term | schema:position |
Term IRI | http://schema.org/position |
Label | Position |
Definition | Can be used to indicate the order of importance when there are multiple agents with the same role. Lower order means higher importance. |
Examples |
|
Datatype | integer |
Belongs to Class | ods:Role |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name schema:startDate | |
---|---|
Qualified Term | schema:startDate |
Term IRI | http://schema.org/startDate |
Label | Start Date |
Definition | Date the agent began the role |
Examples |
|
Datatype | string |
Belongs to Class | ods:Role |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name schema:roleName | |
---|---|
Qualified Term | schema:roleName |
Term IRI | http://schema.org/roleName |
Label | Role Name |
Definition | The category that best matches the nature of a role of an Agent |
Examples |
|
Datatype | string |
Belongs to Class | ods:Role |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name Role | |
---|---|
Qualified Term | ods:Role |
Term IRI | http://rs.dissco.eu/opends/terms/Role |
Label | Role |
Definition | A role is a named entity that can be assigned to an agent. It is used to describe the function of an agent in a specific context. |
Required | False |
Repeatable | True |
RDF Type | rdfs:Class |
Term Name schema:endDate | |
---|---|
Qualified Term | schema:endDate |
Term IRI | http://schema.org/endDate |
Label | End Date |
Definition | Date the agent ended the role |
Examples |
|
Datatype | string |
Belongs to Class | ods:Role |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name prov:wasAssociatedWith | |
---|---|
Qualified Term | prov:wasAssociatedWith |
Term IRI | http://www.w3.org/ns/prov#wasAssociatedWith |
Label | Was Associated With |
Definition | Contains a reference to zero or more prov:Agent objects that were associated with the Activity |
Datatype | array<ods:Agent> |
Belongs to Class | ods:prov:Activity |
Required | True |
Repeatable | False |
RDF Type | rdf:Property |
Term Name prov:endedAtTime | |
---|---|
Qualified Term | prov:endedAtTime |
Term IRI | http://www.w3.org/ns/prov#endedAtTime |
Label | Ended At Time |
Definition | The date and time when the activity ended. This is also the moment the CreateUpdateTombstone Event is created, following the ISO Date Time Format yyyy-MM-dd'T'HH:mm:ss.SSSXXX |
Examples |
|
Datatype | string |
Belongs to Class | ods:prov:Activity |
Required | True |
Repeatable | False |
RDF Type | rdf:Property |
Term Name prov:used | |
---|---|
Qualified Term | prov:used |
Term IRI | http://www.w3.org/ns/prov#used |
Label | Used |
Definition | The unique identifier of the Digital Object that was the object of the Activity (as indicated at @id in the Activity Class) |
Examples |
|
Datatype | string |
Belongs to Class | ods:prov:Activity |
Required | True |
Repeatable | False |
RDF Type | rdf:Property |
Term Name rdfs:comment | |
---|---|
Qualified Term | rdfs:comment |
Term IRI | http://www.w3.org/2000/01/rdf-schema#comment |
Label | Comment |
Definition | A comment about the activity |
Examples |
|
Datatype | string |
Belongs to Class | ods:prov:Activity |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name ods:changeValue | |
---|---|
Qualified Term | ods:changeValue |
Term IRI | http://rs.dissco.eu/opends/terms/changeValue |
Label | Change Value |
Definition | The json patch object that describes the changes made to the object as opposed to the previous version, empty if this is a ods:Create |
Examples |
|
Datatype | array<object> |
Belongs to Class | ods:prov:Activity |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name prov:wasGeneratedBy | |
---|---|
Qualified Term | prov:wasGeneratedBy |
Term IRI | http://www.w3.org/ns/prov#wasGeneratedBy |
Label | Was Generated By |
Definition | The unique identifier of the prov:Activity that generated the Entity (as indicated at @id in the Activity Class), http://www.w3.org/ns/prov#wasGeneratedBy |
Examples |
|
Datatype | string |
Belongs to Class | ods:prov:Entity |
Required | True |
Repeatable | False |
RDF Type | rdf:Property |
Term Name prov:wasRevisionOf | |
---|---|
Qualified Term | prov:wasRevisionOf |
Term IRI | http://www.w3.org/ns/prov#wasRevisionOf |
Label | Was Revision Of |
Definition | The unique identifier (handle) of the previous version of the object, only present when prov:Activity is of type ods:Update and ods:Tombstone |
Examples |
|
Datatype | string |
Belongs to Class | ods:prov:Entity |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |
Term Name prov:value | |
---|---|
Qualified Term | prov:value |
Term IRI | http://www.w3.org/ns/prov#value |
Label | Value |
Definition | The full object that is the result of the prov:Activity, the structure of this object is defined by the `@type` field. |
Examples |
|
Datatype | object |
Belongs to Class | ods:prov:Entity |
Required | False |
Repeatable | False |
RDF Type | rdf:Property |