According to the Frictionless spec, the path property for a DataResource must be a url-or-path, in which any prefix including a colon (http:, https:, salad:, nmdc:) is interpreted as a protocol. If the protocol inferred by this rule is not one of those supported by Frictionless, the associated DataResource fails validation.
This is a problem for NMDC paths, which are named after their identifiers which have an nmdc: prefix. Fine. So can we "escape" the colon to make clear that the path refers to a file and not a URL?
Unfortunately, this is not allowed in JSON strings, which support only a specific set of escaped characters. So we're stuck with a resource that cannot be represented by a JSON Frictionless DataResource.
I'm not sure exactly how to address this issue at the moment, so I'm recording it here.
According to the Frictionless spec, the
pathproperty for a DataResource must be a url-or-path, in which any prefix including a colon (http:,https:,salad:,nmdc:) is interpreted as a protocol. If the protocol inferred by this rule is not one of those supported by Frictionless, the associated DataResource fails validation.This is a problem for NMDC paths, which are named after their identifiers which have an
nmdc:prefix. Fine. So can we "escape" the colon to make clear that the path refers to a file and not a URL?Unfortunately, this is not allowed in JSON strings, which support only a specific set of escaped characters. So we're stuck with a resource that cannot be represented by a JSON Frictionless DataResource.
I'm not sure exactly how to address this issue at the moment, so I'm recording it here.