Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
122 changes: 122 additions & 0 deletions data-model/fdo-type/controlled-value/controlled-value.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.dissco.tech/schemas/fdo-type/controlled-value/0.1.0/controlled-value.json",
"title": "DiSSCo Controlled Value",
"description": "A schema for defining individual controlled values used in openDS Terms.",
"type": "object",
"properties": {
"@id": {
"type": "string",
"description": "The unique identifier (handle) of the controlled value",
"pattern": "^https://hdl\\.handle\\.net/20\\.500\\.1025/.+",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think the pattern needs an update. It should always be https://hdl.handle.net/20.500.1025/ + some string + /. A controlled value should always fall beneath one term right? Could there be a case where we have a controlled value that is shared over multiple terms?

"examples": [
"https://hdl.handle.net/20.500.1025/topicDiscipline/Botany"
]
},
"@type": {
"type": "string",
"const": "ods:ControlledValue",
"description": "The type of the digital object"
},
"ods:fdoType": {
"type": "string",
"description": "The DOI to the FDO type of the object",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Better to use handle as FDO types only got a handle at the moment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

ok. I will update. but we need to update the other types also.

"pattern": "^https://doi\\.org/[\\w\\.]+/[\\w\\.]+",
"examples": [
"https://doi.org/21.T11148/bbad8c4e101e8af01115",
"https://doi.org/21.T11148/894b1e6cad57e921764e"
]
},
"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": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Formatting looks a bit off here

"type": "array",
"description": "Contains all agents that are connected to the specimen. Agents that are part of a specific part of the specimen should be added there. For example, a Collector is connected to the CollectingEvent so is added in the event.",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Description is specimen specific at the moment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

made the desc more generic.

"items": {
"type": "object",
"$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.4.0/agent.json"
}
},
"dcterms:title": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could you add more examples for the below fields

"type": "string",
"description": "The title of the controlled value",
"examples": [
"Botany"
]
},
"skos:prefLabel": {
"type": "string",
"description": "Preferred label for the value",
"examples": [
"Botany"
]
},
"skos:definition": {
"type": "string",
"description": "A concise definition of the controlled value",
"examples": [
"The scientific study of plants."
]
},
"skos:inScheme": {
"type": "string",
"format": "uri",
"description": "The PID of the Term (e.g. ods:topicDiscipline) this value belongs to",
"examples": [
"https://hdl.handle.net/20.500.1025/topicDiscipline"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Check the assumption that it is only ever connected to one term

]
},
"skos:broader": {
"type": "string",
"format": "uri",
"description": "The broader controlled value in the hierarchy",
"pattern": "^https://hdl\\.handle\\.net/20\\.500\\.1025/([^/]+)/([^/]+)$"
}
"owl:deprecated": {
"type": "boolean",
"description": "Indicates whether the value is deprecated",
"examples": [false]
},
"dcterms:created": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Missing example

"type": "string",
"format": "date-time",
"description": "Timestamp of creation"
},
"dcterms:modified": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Missing example

"type": "string",
"format": "date-time",
"description": "Timestamp of last modification"
}
},
"required": [

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Missing ods:status, ods:fdoType. I think modified should be optional

"@id",
"@type",
"dcterms:title",
"skos:prefLabel",
"skos:definition",
"skos:inScheme",
"owl:deprecated",
"ods:version",
"ods:hasAgents",
"dcterms:created",
"dcterms:modified"
]
}
23 changes: 23 additions & 0 deletions data-model/fdo-type/controlled-value/examples/botany.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"@id": "https://hdl.handle.net/20.500.1025/topicDiscipline/Botany",
"@type": "ods:ControlledValue",
"ods:fdoType": "https://doi.org/21.T11148/bbad8c4e101e8af01115",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Points to media, needs to be updated later when there is a fdoType for the ControlledValue

"ods:status": "ods:Active",
"ods:version": 1,
"ods:hasAgents": [
{

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

roleName incorrectly added. Should be a separate object

"@id": "https://orcid.org/0000-0002-1825-0097",
"@type": "schema:Person",
"schema:name": "FirstName LastName",
"schema:roleName": "Creator",
"dcterms:created": "2024-01-15T10:30:00Z"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Not part of agent object

}
],
"dcterms:title": "Botany",
"skos:prefLabel": "Botany",
"skos:definition": "The scientific study of plants.",
"skos:inScheme": "https://hdl.handle.net/20.500.1025/topicDiscipline",
"owl:deprecated": false,
"dcterms:created": "2024-01-15T10:30:00Z",
"dcterms:modified": "2024-01-15T10:30:00Z"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Remove or add a modifier role

}
Loading