frictionlessdata / datapackage

Data Package is a standard consisting of a set of simple yet extensible specifications to describe datasets, data files and tabular data. It is a data definition language (DDL) and data API that facilitates findability, accessibility, interoperability, and reusability (FAIR) of data.
https://datapackage.org
The Unlicense
481 stars 109 forks source link

Needs et depth/importance associated to fields #871

Closed datagistips closed 2 months ago

datagistips commented 5 months ago

Hello,

We are currently working on a scheme around delivery areas. We're presenting it in two versions: a standard version with 21 fields, and an "ultra" version with 24 additional fields.

What we're afraid of is presenting a very long schema to a community of users. For me, this is a concern associated with editing GUIs and the information possibilities contained of TableSchema. A schema shouldn't be adapted to the GUI, but I think the opposite is true.

Currently, the only way to make editing easier for a user would be to make certain fields mandatory or not, and to display only mandatory fields in standard editing and optional ones in advanced editing.

And yet, the notion of mandatory is relative to the uses you wish to make of it.

For example, in the case of delivery areas, the presence of horizontal or vertical signage and its conformity will be more important for a road management department than for a haulier.

The notion of importance or depth associated with fields in a database is in line with some of the thinking behind datactivi.st, notably by Arthur Sarazin.

Here's an idea for implementing profiles for a delivery area with two profiles. The width of the delivery area is of interest to both the local authority and the carrier:

      {
         "name":"WIDTH",
         "title":"Width of delivery area",
         "description":"Width of delivery area",
         "type":"number",
         "example":"9",
         "constraints":{
            "required":false,
            "minimum":0,
            "maximum":10
         },
        "profiles":["Local authority", "Carrier"]
      }

This would make it possible to offer editing and exploration interfaces adapted to the specific needs of users.

If we allow the importance value, we could propose the following:

      {
         "name":"WIDTH",
         "title":"Width of delivery area",
         "description":"Width of delivery area",
         "type":"number",
         "example":"9",
         "constraints":{
            "required":false,
            "minimum":0,
            "maximum":10
         },
        "importance":1
      }

if the field is very important. This system would make it possible to offer editing or visualization interfaces that are more or less rich and deep in this case.

What do you think of this idea? Wouldn't it be a good idea to implement it to the TableSchema ?

roll commented 2 months ago

Hi @datagistips,

In-general any custom properties are allowed https://datapackage.org/specifications/glossary/#custom-properties so I think it might make sense to have prefix:importance property introduced within your system