These are chat archives for frictionlessdata/chat
The namespace for the profile is the type of descriptor, so, "default" for a Package descriptor is not the same as "default" for a Resource descriptor.
tabularPackage to have a
defaultprofile, because they are independent. Is this correct?
data-packageand default Resource profile is
profilein the first place.
profilefrom the Package
profile=tabular-data-resourceto ensure that implementations will provide
resource.tabular == True) and will validate Table Schema etc
table-schemaetc (partially in https://specs.frictionlessdata.io/schemas/registry.json)
tabular-data-packageprofile requires all resources to be
data-packageprofile allow resources to have any profiles (in the example above
tabular-data-packagedoesn't logically allow a
defaultresource because the
tabular-data-resourceprofile is "built-in" the
tabular-data-packageprofile so the whole package would fail validation if it contained a
tabular-data-packagereally wants only tabular Resources then it should have an
enumconstraint on the
profileproperty of it's resources, right?
However, that looks more like a bug than intended beehaviour. If a tabular-data-package really wants only tabular Resources then it should have an enum constraint on the profile property of it's resources, right?
tabular-data-package all resource profiles must be one of:
profile=defaultis not a correct value. It's a specs wording to fix
tabular-data-packageprofile looks now. This touches on the broader issue: package profiles describe resource profiles instead of referencing existent resource profiles.
tabular-data-packageprofile doen't contain a link to the
tabular-data-resourceprofile so people might not even know it exists
tabular-data-resourceprofile which makes the
tabular-data-packageincludes a jsonschema for
tabular-data-resource? It's specially dereferenced to simplify validation in implementations.
fiscal-data-resourceshould be present in the registry so that people can use them on their own. For example if I wanted to make one of the resources in my normal datapackage a tabular resource, I wouldn't know what profile I should use.
resourcessection of the package profile)
resourcesand then validate each resource against it's own profile
a Resource profile can either be a registry id, a URL or a Hash (from the resources section of the package profile)
Hash from the resources section of the package profile?
when a package is validated against it's profile, we should validate without resources and then validate each resource against it's own profile
We should validate package with resources against its profile and validate resources against its profiles. It's possible because e.g.
tabular-data-resource is a valid
tabular-data-resourceprofile included in the
resourcesproperty of the
descriptor.profilecould be only a string (id or url) - https://specs.frictionlessdata.io/schemas/data-package.json
resourcesproperty, then the resource will be validated against 2 json-schemas: one from the package profile
resourcesand one from the resource profile.
assert isinstance(resource, Resource)and then
assert isinstance(resource, TabularResource). That's redundant but costs nothing and can't fail because if e.g. resource is valid
tabular-data-resourcethan resource is valid
data-resource. It's a contract.