Skip to content
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"@id": "https://hdl.handle.net/20.500.1025/physicalSpecimenID",
"@type": "ods:Term",
"ods:fdoType": "https://hdl.handle.net/21.T11148/770bce19da07e2e1106c",
"ods:version": 1,
"ods:status": "ods:Active",
"dcterms:title": "ods:physicalSpecimenID",
"skos:prefLabel": "Physical Specimen ID",
"skos:definition": "The physical specimen identifier of the object. The main identifier of the object is used (which can be indicated by the user through the DataMapping). If the ods:physicalSpecimenIDType is Resolvable or Global, this identifier is the same as the `ods:normalisedPhysicalSpecimenID`.",
"skos:note": "Used in multiple schemas including the Digital Specimen FDO.",
"skos:example": "https://data.biodiversitydata.nl/naturalis/specimen/RGM.234626",
"dcterms:created": "2025-07-30T10:00:00Z",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This object lacks the required field "dcterms:modified"

"dcterms:modified": "2024-09-06T12:34:42.840Z",
"rdfs:range": [
"https://hdl.handle.net/20.500.1025/DigitalSpecimen"
],
"owl:deprecated": false,
"ods:hasAgents": [
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent lacks the ods:hasIdentifier object for the orchid see any of the other examples:

"dcterms:creator": {
    "@id": "https://orcid.org/0000-0002-5669-2769",
    "@type": "schema:Person",
    "schema:name": "John Doe",
    "ods:hasIdentifiers": [
      {
        "@id": "https://orcid.org/0000-0002-5669-2769",
        "@type": "ods:Identifier",
        "dcterms:title": "ORCID",
        "dcterms:type": "URL",
        "dcterms:identifier": "https://orcid.org/0000-0002-5669-2769",
        "ods:isPartOfLabel": false,
        "ods:gupriLevel": "GloballyUniqueStablePersistentResolvable",
        "ods:identifierStatus": "Preferred"
      }
    ]
  },

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will update the example.

{
"@id": "https://orcid.org/0000-0002-1825-0097",
"@type": "schema:Person",
"schema:name": "First Second",
"schema:identifier": "https://orcid.org/0000-0002-1825-0097",
"ods:hasRoles": [
{
"@type": "schema:Role",
"schema:roleName": "creator"
}
],
"ods:hasIdentifiers": [
{
"@id": "https://orcid.org/0000-0002-5669-2769",
"@type": "ods:Identifier",
"dcterms:title": "ORCID",
"dcterms:type": "URL",
"dcterms:identifier": "https://orcid.org/0000-0002-5669-2769",
"ods:isPartOfLabel": false,
"ods:gupriLevel": "GloballyUniqueStablePersistentResolvable",
"ods:identifierStatus": "Preferred"
}
]
}
]
}
38 changes: 38 additions & 0 deletions data-model/fdo-type/term/examples/ods:topicDiscipline-example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"@id": "https://hdl.handle.net/20.500.1025/topicDiscipline",
"@type": "ods:Term",
"ods:fdoType": "https://doi.org/21.T11148/770bce19da07e2e1106c",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a handle

"ods:status": "ods:Active",
"ods:version": 1,
"ods:hasAgents": [
{
"@id": "https://orcid.org/0000-0002-5669-2769",
"@type": "schema:Person",
"schema:identifier": "https://orcid.org/0000-0002-5669-2769",
"schema:name": "Sam Leeflang",
"ods:hasRoles": [
{
"@type": "schema:Role",
"schema:roleName": "modifier",
"schema:startDate": "2025-01-17T09:00:00.000Z",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We haven't really used the start/endDate of role yet and I am not sure how it will work. I would remove them here. Remove these and add the hasIdentifier part

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok.

"schema:endDate": "2025-01-17T09:00:00.000Z"
}
]
}
],
"dcterms:title": "ods:topicDiscipline",
"skos:prefLabel": "Topic Discipline",
"skos:definition": "Overarching classification of the scientific discipline to which the objects within the collection belong or are related",
"dcterms:created": "2025-01-15T09:00:00.000Z",
"dcterms:modified": "2025-01-17T09:00:00.000Z",
"rdfs:range": [
"https://hdl.handle.net/20.500.1025/DigitalSpecimen"
],
"owl:deprecated": false,
"ods:hasControlledValues": [
"https://hdl.handle.net/20.500.1025/topicDiscipline/Anthropology",
"https://hdl.handle.net/20.500.1025/topicDiscipline/Botany",
"https://hdl.handle.net/20.500.1025/topicDiscipline/Astrogeology",
"https://hdl.handle.net/20.500.1025/topicDiscipline/Geology"
]
}
164 changes: 164 additions & 0 deletions data-model/fdo-type/term/term.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.dissco.tech/schemas/fdo-type/term/0.1.0/term.json",
"title": "DiSSCo openDS Term Schema",
"description": "A schema for defining standard terms used in openDS.",
"type": "object",
"properties": {
"@id": {
"type": "string",
"description": "The unique identifier (handle) of the term object",
"pattern": "^https://hdl\\.handle\\.net/20\\.500\\.1025/([^/]+)$",
"examples": [
"https://hdl.handle.net/20.500.1025/DigitalSpecimen"
]
},
"@type": {
"type": "string",
"const": "ods:Term",
"description": "The type of the digital object, in this case a ods:Term"
},
"ods:fdoType": {
"type": "string",
"description": "The Handle to the FDO type of the object",
"pattern": "^https://hdl\\.handle\\.net/\\d{2}\\.[A-Z]\\d+/[a-fA-F0-9-]+$",
"examples": [
"https:\/\/hdl.handle.net/21.T11148/770bce19da07e2e1106c"
]
},
"ods:status": {
"type": "string",
"enum": [
"ods:Draft",
"ods:Active",
"ods:Tombstone"
],
"description": "The status of the Digital Object",
"examples": [
"ods:Active"
]
},
"ods:version": {
"type": "integer",
"description": "The version of the object, each change generates a new version. The version starts at 1 and each change will increment the version number with 1",
"minimum": 1,
"examples": [
1
]
},
"ods:hasAgents": {
"type": "array",
"description": "Contains agents that are connected to this digital object.",
"items": {
"type": "object",
"$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.4.0/agent.json"
}
},
"ods:hasControlledValues": {
"type": "array",
"description": "The controlled vocabulary values that this term accepts. Each URI represents a valid value for this term.",
"items": {
"type": "string",
"format": "uri",
"pattern": "^https://hdl\\.handle\\.net/20\\.500\\.1025/[A-Za-z0-9._-]+/[A-Za-z0-9._-]+$"
},
"examples": [
[
"https://hdl.handle.net/20.500.1025/topicDiscipline/Botany",
"https://hdl.handle.net/20.500.1025/topicDiscipline/Geology"
]
]
},
"dcterms:title": {
"type": "string",
"description": "A Name given to the resource, in this case openDS term name",
"examples": [
"ods:DigitalSpecimen"
]
},
"skos:prefLabel": {
"type": "string",
"description": "The preferred lexical label for the term",
"examples": [
"Digital Specimen"
]
},
"skos:definition": {
"type": "string",
"description": "A definition of what the term represents.",
"examples": [
"A digital representation of a physical specimen"
]
},
"skos:note": {
"type": "string",
"description": "A note field to capture contexts and other information around the decision.",
"examples": [
"This term was discussed in projectX"
]
},
"skos:example": {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we make this a required field?

"type": "string",
"description": "An example usage of the term.",
"examples": [
"ods:physicalSpecimenID is used in Digital Specimen data schema"
]
},
"dcterms:created": {
"type": "string",
"description": "The timestamp that the object was created in DiSSCo, following the ISO Date Time Format yyyy-MM-dd'T'HH:mm:ss.SSSXXX",
"format": "date-time",
"examples": [
"2023-10-02T12:31:34.806Z"
]
},
"dcterms:modified": {
"type": "string",
"description": "The timestamp that the object was last changed, following the ISO Date Time Format yyyy-MM-dd'T'HH:mm:ss.SSSXXX",
"examples": [
"2023-10-02T12:31:34.806Z"
]
},
"dcterms:hasVersion": {
"type": "string",
"description": "A related resource that is a version, edition, or adaptation of the described resource.",
"examples": [
"1.0.1"
]
},
"rdfs:range": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"description": "URIs of the classes this term ranges to or belongs to",
"examples": [
["https://terms.dissco.tech/digital-specimen-terms#EntityRelationship", "http://purl.org/dc/dcmitype/Collection"]
]
},
"owl:deprecated": {
"type": "boolean",
"description": "Indicates whether the term is deprecated",
"examples": [
false
]
}
},
"required": [
"@id",
"@type",
"ods:version",
"ods:fdoType",
"dcterms:created",
"dcterms:modified",
"dcterms:title",
"owl:deprecated",
"skos:prefLabel",
"skos:definition",
"ods:hasAgents",
"ods:status",
"skos:example"
],
"additionalProperties": false
}
Loading