https://schema.org/SoftwareApplication Crosswalk for OGC API - Records
The OGC API - Records spec defines discovery of geospatial resources by standardizing the way collections of descriptive information about the resources (metadata) are exposed.
Root properties:
RecordGeoJSON
| Schema.org | OGC API - Records |
|---|---|
| N/A | id |
| N/A | type |
| N/A | conformsTo |
| N/A | properties.version |
| N/A | properties.updated |
| N/A | properties.language |
| N/A | properties.resourceLanguages |
| N/A | properties.formats |
| https://schema.org/softwareVersion | N/A |
| https://schema.org/description | properties.description |
| https://schema.org/applicationCategory | N/A |
| https://schema.org/applicationSubCategory | N/A |
| https://schema.org/copyrightYear | N/A |
| https://schema.org/dateCreated | properties.created, links[].created |
| https://schema.org/name | properties.title |
| https://schema.org/operatingSystem | N/A |
| https://schema.org/keywords | keywords |
| https://schema.org/softwareRequirements | N/A |
| https://schema.org/author | contacts |
| https://schema.org/license | license |
| https://schema.org/publisher | N/A |
| https://schema.org/softwareHelp | links |
Generated and default values
These OGC API - Records values are generated by the transpiler or supplied by the generated OGC model rather than mapped from a Schema.org property.
| OGC API - Records | Value |
|---|---|
| id | urn:uuid:{uuid4} |
| type | Feature |
| conformsTo | http://www.opengis.net/spec/ogcapi-records-1/1.0/req/record-core |
| properties.version | 1 |
| properties.updated | current timestamp |
| properties.language | {"code": "en-US", "name": "English (United States)"} |
| properties.resourceLanguages | [{"code": "en-US", "name": "English (United States)"}] |
| properties.formats | [{"name": "CWL", "mediaType": "application/cwl"}] |
https://schema.org/dateCreated is normalized to a timestamp and mapped to properties.created. The same timestamp is also used for each links[].created value generated from https://schema.org/softwareHelp.
Keywords
String keywords
Each str instance will be part of the properties.keywords property of RecordGeoJSON.
https://schema.org/DefinedTerm keywords
Each https://schema.org/DefinedTerm keyword will be transpiled as item of the properties.themes[].concepts property of RecordGeoJSON if:
https://schema.org/inDefinedTermSetpoints to https://gcmd.earthdata.nasa.gov/kms/concepts/concept_scheme/sciencekeywords;https://schema.org/termCodeis a valid concept UUID that points to an existinghttps://cmr.earthdata.nasa.gov/kms/concept/{UUID}.
i.e. given an input keyword like the one below:
s:keywords:
- '@type': s:DefinedTerm
s:inDefinedTermSet: https://gcmd.earthdata.nasa.gov/kms/concepts/concept_scheme/sciencekeywords
s:termCode: 959f1861-a776-41b1-ba6b-d23c71d4d1eb
Resulting as an element like the one below:
"themes": [
{
"concepts": [
{
"id": "EARTH SCIENCE",
"title": "EARTH SCIENCE",
"description": "EARTH SCIENCE",
"url": "https://cmr.earthdata.nasa.gov/kms/concept/959f1861-a776-41b1-ba6b-d23c71d4d1eb"
},
{
"id": "TERRESTRIAL HYDROSPHERE",
"title": "TERRESTRIAL HYDROSPHERE",
"description": "EARTH SCIENCE > TERRESTRIAL HYDROSPHERE",
"url": "https://cmr.earthdata.nasa.gov/kms/concept/959f1861-a776-41b1-ba6b-d23c71d4d1eb"
},
{
"id": "SURFACE WATER",
"title": "SURFACE WATER",
"description": "EARTH SCIENCE > TERRESTRIAL HYDROSPHERE > SURFACE WATER",
"url": "https://cmr.earthdata.nasa.gov/kms/concept/959f1861-a776-41b1-ba6b-d23c71d4d1eb"
},
{
"id": "SURFACE WATER FEATURES",
"title": "SURFACE WATER FEATURES",
"description": "EARTH SCIENCE > TERRESTRIAL HYDROSPHERE > SURFACE WATER > SURFACE WATER FEATURES",
"url": "https://cmr.earthdata.nasa.gov/kms/concept/959f1861-a776-41b1-ba6b-d23c71d4d1eb"
}
],
"scheme": "https://gcmd.earthdata.nasa.gov/kms/concepts/concept_scheme/sciencekeywords"
}
]
Unsupported DefinedTerm values and unsupported keyword value types are discarded. If the Science Keywords termCode is not found in the local keyword index, the transpiler logs a warning and does not emit a theme for that keyword.
License
The properties.license field is populated from https://schema.org/license.
| Schema.org | OGC API - Records |
|---|---|
| https://schema.org/identifier | properties.license |
| https://schema.org/name | N/A |
| https://schema.org/url | N/A |
When license is a CreativeWork, the transpiler uses its identifier. When license is a URL value, the transpiler serializes that URL directly. Multiple license values are joined with :.
Contacts
The properties.contacts field is populated from https://schema.org/author.
If an author is represented as https://schema.org/Role, roleName is mapped to position and the nested author is mapped as the contact person.
| Schema.org | OGC API - Records |
|---|---|
| https://schema.org/roleName | properties.contacts[].position |
| https://schema.org/identifier | properties.contacts[].identifier |
| https://schema.org/familyName | properties.contacts[].name |
| https://schema.org/givenName | properties.contacts[].name |
| https://schema.org/affiliation | properties.contacts[].organization |
| https://schema.org/email | properties.contacts[].emails[].value |
The contact name is serialized as familyName, givenName. The organization is taken from the author's affiliation name.
Links
The root links field is populated from https://schema.org/softwareHelp.
| Schema.org | OGC API - Records |
|---|---|
| https://schema.org/name | links[].title |
| https://schema.org/url | links[].href |
The transpiler also sets links[].rel to via, links[].hreflang to en, links[].created from dateCreated, and links[].updated to the current timestamp.
Publisher
https://schema.org/publisher is not mapped by the current OGC API - Records transpiler.
| Schema.org | OGC API - Records |
|---|---|
| https://schema.org/email | N/A |
| https://schema.org/identifier | N/A |
| https://schema.org/name | N/A |