- Author: Adam Leadbetter, Marine Institute, Ireland
- Version: 1.0
- Date: 16th June 2020
- Base type
- Metadata field mapping
- @id
- Title
- Authors and Maintainers
- Publisher
- Keywords
- Identifiers
- Subjects
- Example
- Areas to develop
- Version history
The base type chosen from the Schema.org
vocabulary to represent a Best Practices document within the Ocean Best Practices Repository is CreativeWork
. From the Schema.org documentation, this base type represents the most generic kind of creative work, including books, movies, photographs, software programs, etc.
.
Digging into the DSpace implementation of the repository, reveals a rich metadata model based on the Dublin Core mtadata terms. The following table shows a mapping from Dublin Core to appropiate Schema.org attributes, within the domain of the type of CreativeWork
.
Dublin Core | Schema.org attribute | Range of Schema.org attribute |
---|---|---|
dc.contributor.author | author | Person |
dc.coverage.spatial | spatial | Place |
dc.date.accessioned | ||
dc.date.available | datePublished | Date |
dc.date.issued | ||
dc.identifier.citation | identifier | PropertyValue |
dc.identifier.doi | identifier | PropertyValue |
dc.identifier.uri | identifier | PropertyValue |
dc.description.abstract | abstract | Text |
dc.description.sponsorship | funder | Organization |
dc.language.iso | inLanguage | Language |
dc.publisher | publisher | Organization |
dc.relation.uri | sameAs | URL |
dc.rights | license | CreativeWork |
dc.rights.uri | license | CreativeWork |
dc.title | name | Text |
dc.type | genre | Text |
dc.description.status | ||
dc.format.pages | numberOfPages - Strictly only on type Book. As is this flags as a 'warning' in Google's Structured Data Testing Tool. We could request an additional domian from Schema.org to make this 100% | Integer |
dc.description.refereed | ||
dc.publisher.place | publisher | Organization |
dc.subject.parameterDiscipline | about, keywords | ?, Text |
dc.subject.instrumentType | about, keywords | ?, Text |
dc.subject.dmProcesses | about, keywords | ?, Text |
dc.subject.other | about, keywords | |
dc.description.currentStatus | ||
dc.description.contactemail | maintainer | Person |
dc.description.contactname | maintainer | Person |
dc.description.sdg | about, keywords | ?, Text |
dc.description.eov | about, keywords | ?, Text |
dc.description.bptype | about, keywords | ?, Text |
dc.description.maturitylevel | about, keywords | ?, Text |
dc.description.bptype | about, keywords | ?, Text |
The DSpace record also contains links to a number of files, which are mapped through the hasPart
attribute.
The @id
attribute of a JSON-LD
encoding, such as is used in Schema.org
is used to give the canonical Uniform Resource Identifier to the resource being described. As the Ocean Best Practices Repository uses the handle system, these persistent identifiers should be used in the @id
attribute:
{
"@context": {"@vocab": "https://schema.org/"},
"@type": "CreativeWork",
"@id": "http://hdl.handle.net/11329/424"
}
The name
attribute in Schema.org
{
"@context": {"@vocab": "https://schema.org/"},
"@type": "CreativeWork",
"name": "Schema.org implementation pattern for the Ocean Best Practices Repository"
}
The Schema.org/author
attribute assigns a Person
or Organization
responsible for the creation of a CreativeWork
to that entity.
For example:
{
"@context": {"@vocab": "https://schema.org/"},
"@type": "CreativeWork",
"author": [{"@type": "Person", "familyName": "Leadbetter", "givenName": "Adam"}]
}
The use of ORCIDs would help to disambiguate these instances of Person
and would reduce the size of the knowledge graph if the Schema.org serialization was ingested into a triple store.
The Schema.org/maintainer
attribute assigns a Person
or Organization
responsible for the manages contributions to, and/or publication of
the resource. This well describes the DCAT contact, for example:
{
"@context": {"@vocab": "https://schema.org/"},
"@type": "CreativeWork",
"author": [{"@type": "Person", "familyName": "Leadbetter", "givenName": "Adam", "email": "[email protected]"}]
}
The keywords
attribute provides only an unstructured list of plain text keywords, which is why its use here is supplemented in the section on Subjects, which allow a richer description of the keywords to be developed. For example:
{
"@context": {"@vocab": "https://schema.org/"},
"@type": "CreativeWork",
"keywords": ["Parameter Discipline::Biological oceanography::Macroalgae and seagrass", "Parameter Discipline::Biological oceanography::Phytoplankton", "Phytoplankton biomass and diversity", "Sea surface temperature", "Ocean colour", "Ocean surface stress", "Sea surface height", "Subsurface temperature", "Surface currents", "Sea surface salinity", "Subsurface salinity", "Ocean surface heat flux", "Biotoxins / Phycotoxins", "Best Practice", "Manual"]
}
The about
attribute allows for more detailed terminology to be assigned to keyword than the (keywords)[#keywords] attribute.
{
"@context": {"@vocab": "https://schema.org/"},
"@type": "CreativeWork",
"keywords":
}
Taking an example Best Practice from the repository, "Creating a weekly Harmful Algal Bloom bulletin. Version 1.0. [Best Practie Description Document]" a Schema.org representation, which would be embedded within the landing page for the repository is as follows:
{
"@context": "https://schema.org/",
"@type": "CreativeWork",
"@id": "https://repository.oceanbestpractices.org/handle/11329/424",
"numberOfPages": 59,
"author": [
{"@type": "Person", "familyName": "Leadbetter", "givenName": "Adam"},
{"@type": "Person", "familyName": "Silke", "givenName": "Joe"},
{"@type": "Person", "familyName": "Cusack", "givenName": "Caroline"}
],
"maintainer": {"@type": "Person", "familyName": "Leadbetter", "givenName": "Adam", "email": "[email protected]"},
"keywords": ["Parameter Discipline::Biological oceanography::Macroalgae and seagrass", "Parameter Discipline::Biological oceanography::Phytoplankton", "Phytoplankton biomass and diversity", "Sea surface temperature", "Ocean colour", "Ocean surface stress", "Sea surface height", "Subsurface temperature", "Surface currents", "Sea surface salinity", "Subsurface salinity", "Ocean surface heat flux", "Biotoxins / Phycotoxins", "Best Practice", "Manual"]
}
- ORCID inclusion on
Person
instances - Other IRIs which can be included
- Request a change to the domain of numberOfPages
- 1.0 - 16th June 2020 - Initial draft