My first thought is that using sdo:offers is too ambiguous and we could ask for a new property in schema.org for accessService (domain: CreativeWork, range: Service),
but its definition does describe service offerings and the properties where a Service is in Range (see: https://schema.org/Service#incoming) so I picked it as the best existing schema.org property.
{
"@context": "http://schema.org/",
"@type": "Dataset",
"@id": "http://example.org/dataset/004",
"distribution": [
{
"@type": "DataDownload",
"@id": "http://example.org/api/table-005",
"name": "CSV for Dataset 004",
"contentUrl": "http://example.org/api/table-005",
"offers": {
"@type": "Offer",
"name": "Data Access Service supplying CSV for Dataset 004",
"itemOffered": [
{
"@type": "WebAPI",
"serviceType": "http://www.wikidata.org/entity/Q42722531",
"url": "http://example.org/api/table-005",
"documentation": "http://example.org/api/table-005/capability",
"isRelatedTo": {
"@type": "WebAPI",
"@id": "http://example.org/api/",
"name": "My Custom REST API",
"description": "Generic home-grown REST API as defined at http://www.wikidata.org/entity/Q42722531",
"serviceType": "http://www.wikidata.org/entity/Q42722531",
"url": "http://example.org/api/",
"documentation": "http://example.org/api/capability",
}
}
]
}
}
]
}
Below is a first pass at mapping the DCAT DataService over to existing schema.org fields for your "Table 5" data service here https://www.w3.org/TR/vocab-dcat-2/#a-dataset-available-from-a-service
I was curious if you agreed with these mappings based on the alignment section at: https://www.w3.org/TR/vocab-dcat-2/#dcat-sdo
I made the following mappings, but curious if you feel we need to advocate for any of these to have a new schema.org property:
dcat:accessService -> sdo:offers [ sdo:itemOffered sdo:WebAPI ] dct:conformsTo -> sdo:serviceType dcat:endpointDescription -> sdo:documentation dcat:endpointURL -> sdo:url
https://schema.org/offers https://schema.org/serviceType https://schema.org/documentation
My first thought is that using sdo:offers is too ambiguous and we could ask for a new property in schema.org for accessService (domain: CreativeWork, range: Service), but its definition does describe service offerings and the properties where a Service is in Range (see: https://schema.org/Service#incoming) so I picked it as the best existing schema.org property.
re: #3