-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Data dictionary capability for datasets #4015
Conversation
Followed the QA steps, verified that before the post_import queue, the datastore table was not typed according to the data dictionary, but afterwards it was. Before:
After:
When posting the dataset, modifying the |
Did you note the message in that 400 response? It should hopefully tell you why it was bad. |
400 error message:
|
modules/datastore/modules/datastore_mysql_import/src/Service/MysqlImport.php
Outdated
Show resolved
Hide resolved
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.
Addressed all the things. :-)
Allows data dictionaries to be referenced directly from a dataset. Or, more specifically, directly from a distribution. Using the
describedBy
field, a user can point to an existing data dictionary in DKAN.In keeping with the DCAT-US standard, describedBy is expected to be a URL. To allow for domain-agnostic references between datasets and data dictionaries, URLs will be normalized to the
dkan://
stream wrapper for storage. They can also be passed to DKAN this way, or else just as absolute URLs on the same domain as the request is being made to.For instance:
Input
or
Output
Storage
Note that the dataDictionaryType should also be defined as
application/vnd.tableschema+json
or the datastore will not attempt to parse the data dictionary for post-import processing (data types, indexes etc).QA Steps
Build a fresh site, visit admin/dkan/data-dictionary/settings and set the data dictionary mode to "distribution reference."
Post the following data dictionary to your DKAN instance:
NOTE: There is a mysql error currently being thrown from this dictionary on the begin_post field but it is unrelated to this PR; will figure out what's wrong and improve QA steps.