Skip to content

Frictionless validation breaks on data packages due to shapefile foreign keys #311

@ywkim312

Description

@ywkim312

Summary

Frictionless data validation breaks on OEPS data packages because of foreign key relationships to shapefiles. As a workaround, we use --skip-validation when creating packages (e.g. in the create data packages workflow).

Current behavior

  • Data packages define foreign keys from CSV resources to shapefile geometry resources
  • Frictionless validation fails when validating these relationships
  • flask create-data-package is run with --skip-validation to bypass this
  • For DSuite2023, we also use --skip-foreign-keys to avoid the problem entirely (at the cost of losing FK metadata)

Desired outcome

Either:

  1. Fix the package structure – Define foreign keys or references in a way that Frictionless can validate, or
  2. Address shapefile support – Investigate Frictionless support for shapefiles in foreign keys and adjust our approach accordingly

The goal is to remove the need for --skip-validation and, if possible, use --skip-foreign-keys only where truly needed, so packages can be validated before upload.

References

  • flask create-data-package command: backend/oeps/commands/create_data_package.py
  • Data package creation: backend/oeps/clients/frictionless.py
  • Related workflow: create_data_packages.yml
  • Upstream: Frictionless Data specifications

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions