Overview
ckanext-relationship adds relationship-backed fields to CKAN datasets and a
small API for managing those links. It integrates with ckanext-scheming and
can optionally expose an interactive graph UI and a sysadmin dashboard.
Relationship types
The extension ships with three built-in relationship types:
related_tocreatesA related_to BandB related_to Achild_ofcreatesA child_of BandB parent_of Aparent_ofcreatesA parent_of BandB child_of A
Additional relationship types can be registered by other extensions via
ckanext.relationship.interfaces.IRelationship.
What the extension includes
- A
related_entityscheming preset for relationship fields. - CKAN actions for creating, deleting, and listing relationships.
- Default form and display snippets for package, organization, and group links.
- A package autocomplete widget for large package target lists.
- An optional
relationship_graphplugin for interactive relationship visualization across datasets, organizations, and groups. - An optional
relationship_dashboardplugin built onckanext-tablesfor sysadmins.
Entity support
| Capability | Packages | Organizations | Groups |
|---|---|---|---|
| Default relationship field | yes | yes | yes |
| Read-page links | yes | yes | yes |
| Autocomplete widget | yes | no | no |
| Graph action and graph snippet | yes | yes | yes |
| Automatic graph section | yes | yes | yes |
| Admin dashboard | yes | yes | yes |
Automatic graph placement is controlled separately for each object page type:
- datasets:
ckanext.relationship.show_relationship_graph_on_dataset_read - organizations:
ckanext.relationship.show_relationship_graph_on_organization_about - groups:
ckanext.relationship.show_relationship_graph_on_group_about