portaljs-define-schema

Featured

Define a dataset's metadata profile — infer a Frictionless Table Schema from its data, add Data Package metadata (license, sources, keywords), and write it into datasets.json so the showcase renders a typed field table. Extend or customize via the L0-L3 profile ladder. Use when a registered dataset needs field types, constraints, or catalog metadata before publishing.

Data & Documents 2,343 stars 334 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# PortalJS — Define Schema ## Overview Define a dataset's metadata profile — the **authoring** skill for the metadata-profile contract (`lib/metadata`). Where `portaljs-add-dataset` registers *that* a dataset exists, this skill describes *what its data means*: infer a Frictionless **Table Schema** (fields, types, constraints) from sampled data, add the **Data Package** fields a catalog surfaces (title, licenses, sources, keywords), and write them onto the dataset's entry in `datasets.json`. The showcase at `/@<namespace>/<slug>` then renders a typed field table instead of a bare preview. The model is Frictionless-native; DCAT is a serialization layer built on top later, not authored here. The skill runs on a profile ladder — reach for higher levels only when needed: | Level | What it is | When | | --- | --- | --- | | L0 | Default `frictionless-tabular` profile; declare schema + metadata. | Default. Standard tabular CSV/TSV. | | L1 | L0 plus extra descriptive package fields. | Extra metadata, standard validation is fine. | | L2 | Fully custom profile (own schema template + `validate()`). | A dataset type needing custom validation rules. | | L3 | Multiple registered profiles, resolved per dataset. | A portal mixing dataset types. | The skill is interactive and never dead-ends: if input is thin it interviews in short rounds, infers defaults from the data, echoes the schema for confirmation, and accepts "use defaults" to proceed with the inferred schema as-is. ## Prerequisi...

Details

Author
datopian
Repository
datopian/portaljs
Created
14 years ago
Last Updated
today
Language
TypeScript
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category