FAQ¶
What datatypes are supported?¶
Type | Precisions |
---|---|
Integer | 1, 2, 4 or 8 byte, BE/LE, signed/unsigned |
Float | 4, 8 byte, BE/LE |
Compound | Arbitrary names and offsets |
Strings (fixed-length) | Any length |
Strings (variable-length) | Any length, ASCII |
Opaque | Any length |
Array | Any supported type |
Enumeration | Any integer type |
References | Region and object |
Unsupported types:
Type | Status |
---|---|
HDF5 VLEN (non-string) | Coming soon! |
HDF5 “time” type | |
Opaque | |
Bitfields |
Why does h5serv use those long ids?¶
h5serv uses the UUID standard (http://en.wikipedia.org/wiki/Universally_unique_identifier) to identify objects (datasets, groups, and committed datatypes) uniquely. The benefit of using UUIDs is that objects can be uniquely identified without requiring any central coordination.
How can I get a dataset (or group) via a pathname?¶
You will need to iterate through the path to get the UUID of each subgroup. E.g. suppose the path of interest is “/g1/g1.1” in the domain: “tall.data.hdfgroup.org”. Perform these actions to get the UUID of the group at /g1/g1.1.
GET /
// returns the UUID of the root groupGET /groups/<root_uuid>/links/g1
// returns the UUID of the group at “/g1”GET /groups/<g1_uuid>/links/g1.1
// returns the UUID of the group at “/g1/g1.1’
How do I guard against an attribute (dataset/group/file) from being deleted by a request?¶
Future releases of h5serv will support authorization and permissions to protect content that shouldn’t be altered.
For now the choices are:
- Don’t expose the h5serv endpoint on a non-trusted network
- Make the files readonly
- Make periodic backups of all data files
- Don’t share the domain name with non-trusted sources. Since h5serv doesn’t provide an operation to list all domains on the server, creating a non-trivial domain name (e.g. “mydata_18494”) will be relatively secure.
How can I display my data in a nice Web UI?¶
There are many Javascript libraries (e.g. http://d3js.org) that can take the data returned by h5serv to create compelling graphics.
I have a C or Fortran application that uses HDF5, how can I take advantage of h5serv?¶
We are planning on creating a hdf5 library plugin that will transparently invoke the REST api. For now, you can use C-libraries such as libcurl to invoke h5serv requests.
Is there documentation on the JSON format generated by h5tojson.py:¶
Yes. There is a grammer published here: http://hdf5-json.readthedocs.org/en/latest/index.html.
How do I submit a bug report?¶
If you have a Github account, create an issue here: https://github.com/HDFGroup/h5serv/issues.
Alternatively, you send a email to the HDF Group help desk: help@hdfgroup.org.