* new section or null/unknown value or delimiter between the attribute name and the data type
Preserved Key Words (case sensitive)
- There are three types of section headers and they are case sensitive:
- There are three data types, string, integer, and floating point.
- The *Nodes section header MUST NOT be omitted in the NWB file. The "total numbers of nodes" after *Nodes is optional, and should be separated only by arbitrary number of spaces and/or tabs.
- The list of nodes under the section of *Nodes MUST NOT be omitted and MUST provide a complete list including the node id and node label. The data type of node ids must be integer and the value must be bigger than 0; in another word, the minimum node id is 1). The data type of node labels must be string.
- One of *DirectedEdges section or *UndirectedEdges section is required. If desired, both may be used, but at least one must be. A graph with non-empty *DirectedEdges and *UndirectedEdges sections is a hybrid graph. "Total numbers of edges" is optional after *DirectedEdges or *UndirectEededges, and should be separated only by arbitrary number of spaces and/or tabs.
- All edges must be listed, none are inferred.
- All string values (not including the attribute names) must be surrounded by double quotation marks. " can not exist in the middle of a string surrounded by double quotation marks.
- * is a preserved key character
- It is a pre-fix of node or edge section headers.
- It is used as a delimiter between an attribute name and the corresponding data type.
- It also represents any null/unknown value
- * in strings surrounded by double quotation marks should be treated as a regular character.
- All integers must be represented by a positive or negative number with no decimal.
- All floating point numbers must include a decimal. -1.23e5 is acceptable notation, as are values such as 102.5
- id, source and target MUST be integers. label MUST be strings.
- Arbitrary number of spaces and/or tabs can exist between two columns.
- After each section header, the meaning of each column MUST be specified in the next line with the format of attribute_name*data_type. Any comment line or empty is not allowed between the line of section header and the attribute line.
- Attribute names CANNOT contain spaces and/or * in the middle and cannot be quoted. The values of data_type can ONLY be int, string, and float. attribute_name*data_type MUST be lower case.
- All null/unknown values (data type could be string, or integer or floating point) are always represented by *. An empty string is "" (two double quotations marks)
- Each comment line must start with # and comment lines must start from the beginning of a line and can not append to any node/edge section headers, attribute lines or node/edge lists.
- Separate node and edge attribute sections will continue to NOT be supported.
NWB File Format is defined by the NWB Development Team