-
Notifications
You must be signed in to change notification settings - Fork 5
Separate concerns between metadata enrichment and data structure in Data Resource using resource.type
. Remove Tabular Data Resource from v2 website
#51
Conversation
Deploying datapackage with Cloudflare Pages
|
resource.type
resource.type
resource.type
. Remove Tabular Data Resource from v2 website
resource.type
. Remove Tabular Data Resource from v2 websiteresource.type
. Remove Tabular Data Resource from v2 website
|
||
#### `schema` | ||
|
||
A Tabular Data Resource `SHOULD` have a `schema` property to describe a tabular schema of the resource data. If provided, the `schema` property `MUST` be a [Table Schema](../table-schema) descriptor in a form of an object or [URL-or-Path](../glossary/#url-or-path). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's probably fine to leave this as SHOULD
, but previously a resource with "profile"="tabular-data-resource"
(i.e. a "Tabular Data Resource") REQUIRED the schema
property.
I just want to make sure this change is intentional.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@peterdesmet
I think one of the good consequences of removing specs fragmentation is that we can simplify things. What I read here - https://specs.frictionlessdata.io/tabular-data-resource/#specification - is that schema
needs to be Table Schema, but it doesn't say that schema
MUST be present. I also thought that schema
was required, but I don't see it in the text.
Personally, I think that not requiring schema is better as it opens more usage scenarios based on incremental enhancement model
|
||
Examples: | ||
- `table`: indicates that the resource is tabular as per [Tabular Data](../glossary/#tabular-data) definition. Please read more about [Tabular Resource](#tabular) properties. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does that glossary item already exist?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It needs to wait for #49 to get merged
@@ -161,49 +165,43 @@ Or inline CSV: | |||
Prior to release 1.0.0-beta.18 (Nov 17 2016) there was a `url` property distinct from `path`. In order to support backwards compatibility, implementors `MAY` want to automatically convert a `url` property to a `path` property and issue a warning. | |||
::: | |||
|
|||
### `profile` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is profile
then not defined at all?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we goes with $schema
I think it's only needed as a backward-compat note
For clarification: are we abandoning the
|
I like the symmetry of |
I would say that current proposals just rename
At the same type as schema/profile being an URL with versioning can't now serve the needs of indicating a resource type, we introduce additional |
@ezwelty
|
ACCEPTED by WG (6/9) |
Rationale
Currently, implementations have only one way to identify a resource type -- checking if
profile: tabular-data-resource
. But Tabular Data Resource can have a profile set to URL; it also can be set to an extension URL. It makes it basically impossible to guarantee resource's type information communication.I think it will be more robust and extendable if the metadata enrichment system (profiles/extensions) is not mixed with the logical data structure (text/table/etc) as it is mostly orthogonal. For example, we might have Fiscal Data Resource (extra properties) but it still needs to be a table structurally.
This change might highly simplify the Data Resource spec structure and perception. At the same time, I don't think that since the v1 release there are any use cases that rely on
resource.profile
for anything else rather than resource type communication. Anyway, in frictionlessdata/datapackage#42 we will still have a way to extend resource usingprofile/$schema
but it won't be coupled to the data structure.Preview deployment: