Re: [dxwg] Predicate to link from Distribution to Dataset (#1322)

Hi @riannella, I had hoped an inverse of `dcat:distribution` would feature in the [table](https://www.w3.org/TR/vocab-dcat-3/#inverse-properties) which appears in V3 of the spec. I think I have a requirement which could not be solved without an inverse for `dcat:distribution`.

I'm wanting to use DCAT alongside the [CSV on the Web (CSVW)](https://w3c.github.io/csvw/primer/) standard for describing CSV files. 

I have a CSV file which is a distribution of some `dcat:Dataset` and described with some CSVW metadata. Within that CSVW metadata file, I want to be able to assert that the CSV I am describing is a `dcat:Distribution` of the `dcat:Dataset`.

A CSVW metadata file is valid JSON-LD, but has some strict rules about what [can and cannot be included](https://w3c.github.io/csvw/metadata/#json-ld-dialect). Its test suite [prohibits the use of the `@reverse` keyword](https://w3c.github.io/csvw/tests/#manifest-validation#test146).

A CSVW metadata file might look something as follows:

```json
{
    "@context": ["http://www.w3.org/ns/csvw", {"@language": "en"}],
    "@id": "http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv",
    "url": "http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv",
    "tableSchema": {
        "columns": [
            {"name": "location"},
            {"name": "easting"},
            {"name": "northing"}
        ]
    }
}
```

I believe I have a need for a `dcat:isDistributionOf` property to relate the `.csv` distribution to its `dcat:Dataset`. Then I can describe both resources independently.

```json
{
    "@context": ["http://www.w3.org/ns/csvw", {"@language": "en"}],
    "@id": "http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv",
    "dcterms:title": "Grit bin locations (CSV format)",
    "dcat:isDistributionOf": {
        "@id": "https://datamillnorth.org/dataset/grit-bin-locations",
        "dcterms:title": "Grit bin locations"
    },
    "url": "http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv",
    "tableSchema": {
        "columns": [
            {"name": "location"},
            {"name": "easting"},
            {"name": "northing"}
        ]
    }
}
```

Running [`csv2rdf`](https://github.com/Swirrl/csv2rdf) over the metadata then provides the relationship between the two resources, plus a transformation of the CSV's contents into RDF.

```ttl
<http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv> <http://purl.org/dc/terms/title>
    "Grit bin locations (CSV format)"@en;
  <http://www.w3.org/ns/dcat#isDistributionOf> <https://datamillnorth.org/dataset/grit-bin-locations> .

<https://datamillnorth.org/dataset/grit-bin-locations> <http://purl.org/dc/terms/title>
    "Grit bin locations"@en .

<http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv#646> <http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv#easting>
    "434546.27638200000";
  <http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv#location> "646";
  <http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv#northing> "428380.45163300000" .

<http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv#6212> <http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv#easting>
    "434644.81909500000";
  <http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv#location> "6212";
  <http://opendata.leeds.gov.uk/downloads/gritting/grit_bins.csv#northing> "428412.41143200000" .
```

-- 
GitHub Notification of comment by rossbowen
Please view or discuss this issue at https://github.com/w3c/dxwg/issues/1322#issuecomment-1088491025 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 5 April 2022 09:42:45 UTC