The database in JThermodynamicCloud is Google's Firestore which is a NoSQL document store database. The main characteristics applicable to its application in JThermodynamicsCloud are:
Documents: The Firestore database stores what are called documents. Each document is essentially a JSON object with fields and properties. In JThermodynamicsCloud, the documents stored are the dataset catalog objects derived from dcat:ChemConnectThermodynamicsDatabase which ultimately are derived from DCAT ontology's dcat:Catalog.
Collections: The Firestore database stores the documents in collections, meaning a set of related documents are collected together. In JThermodynamicsCloud the collections of catalog objects, i.e. documents, are the dataset collection of catalog objects of one type needed for the calculation. For example, the current set Benson rules (dataset:ThermodynamicBensonRuleDefinition) to be used for a calculation are found in the same collection.
Database Hierarchy: The Firestore collections are found within the database hierarchy, meaning traversing nodes of a tree to the end node collection. In JThermodynamicsCloud the hierarchy is used to differentiate for example, data from different users, data of different types, and different versions of data. For example, the Dataset Collection specifies which collection of fundamental data should be used for a given calculation.
Document Query:The Firestore database is designed so queries are made of all the documents in a collection. For example, a collection can be queried so that all documents with the same property (or properties) can be found. In JThermodynamicsCloud, for example, the entire set of symmetry corrections (dataset:JThermodynamicsSymmetryStructureDefinition) can be queried to isolate only those representing external symmetries, i.e. that dataset:StructureSymmetryType has the value dataset:StructureExternalSymmetry.
In JThermodynamicsCloud, the document in the noSQL sense is a catalog object, so the collection of 'documents' refers to a collection of catalog objects. In JThermodynamicsCloud, a collection of catalog objects refers to a set of catalog objects of the same type. Each catalog type is found in different parts of the database hierarchy. In doing a thermodynamic calculation, an entire set of catalog object representing corrections are used. For example, the set of applicable Benson rules are used together. In the process of calculation, the entire set of applicable Benson rules are examined and those which can be applied to the target species.