earthcubearchitecture-project418 / p419dcatservices

Project 418 follow on (P419) work on DCAT Dataservices for using in JSON-LD
0 stars 1 forks source link

DCAT Data Service #6

Open ashepherd opened 5 years ago

ashepherd commented 5 years ago

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.


{
  "@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",
             }
          }
        ]
      }
    }
  ]
}

re: #3