Sample has a one-to-many (1-N) relationship with measurement, since a single OFET could be measured a number of times by a variety of characterization methods not limited to device performance. A measurement has a type (e.g., transfer curve, spectroscopy, scattering, thickness, etc.) and the heterogeneous data (e.g., value type, value, error, etc.) and metadata (e.g., instrument information, date measured, etc.) associated with it. An experiment refers to the source information associated with the reporting of the sample, and therefore has a citation type (e.g., laboratory, journal article, dissertation) and metadata associated with that source (e.g., digital object identifier (DOI), date published, author information, etc.). Experiment and sample have a one-to-many relationship, as a single experiment may report multiple samples. A process recipe refers to the unique material ingredients and process sequence through which the sample was generated. The process recipe contains foreign keys (i.e., references to material nodes) that link information about the device substrate and the solution (the latter contains polymer and solvent information), and to process stage nodes that subdivide the process history (vide infra). Sample and process recipe have a many-to-one (N-1) relationship, as a given sample device can only be associated with one process recipe but the same process recipe could be used for multiple samples.