JThermodynamicsCloud is software service for the chemical, or more specifically, the combustion research
domain. JThermodynamicsCloud service can be said to be an model driven application, where the ontology
is a platform independent model of the data and operational structures. The ontology, as used by the service,
has three distinct purposes: documentation, data structure definition and operational definitions. One goal of
the ontology is to place as much of the design and domain specific structures in the ontology rather than in
the application code. The application code interprets the ontology in the backend. The primary purpose of
the JThermodynamicsCloud is to perform thermdynamic calculations and manage the data needed to make
those calculations. The calculation itself is highly dependent on the varied types of molecular data found in
the database The complete service is a system with three interacting components, a user interface using
Angular, a (RESTful) backend written in JAVA (with the JENA API interpreting the ontology) and the
Google Firestore noSQL document database and Firebase storage. The service uses these three components
to make calculations for thermodynamic quantities based on molecular species structure. These different
platforms are united through the ontology.
1. JThermodynamicsCloud:
Case Study
in an Ontology-Driven
NoSQL Database
Cloud Based
Application
in Chemical Domain
Edward Blurock
Blurock Consulting AB, Lund, Sweden
2. Why use an Ontology?
JThermodynamicsCloud
Uses an ontology in several capacities
Solving different issues in the application development
Highlighted Examples:
• Data Driven Application under Model Driven Development
• Ontology as a Centralized Reference for data objects
• Organizational and Automation Tool
7. Data Driven Application
Model driven development
JThermodynamics Cloud
Is a
Data Management System
For thermodynamic calculations
Ontology:
Data Models
And
Calculational/Functional Models
8. Why use an Ontology?
Ontology as a centralized reference
9. Problem: JThermodynamics is made up of
Three subsystems
Property-Value
Mapping
Property-Value
Gson structures
Property-Value
JSON structures
14. Programmer:
Exact same information in each structure
(keyword label same, value same, but different syntax)
Useful to have a centralized reference
JSON like structures are completely free-format
Programming environment (for example Eclipse)
cannot help with, for example completion
15. Useful to have a centralized reference
Ontology as a centralized reference
18. Example:
Want to store
Benson Thermodynamic Rules
In the noSQL Document Database
Use the
Ontology description
Of the database
19. Step 1: Find catalog object in ontology hierarchy
Benson thermodynamic rules
Stored in catalog object:
ThermodynamicBensonRuleDefinition
ThermodynamicBensonRuleDefinition
Is a skos:member of
CatalogHierarchyThermodynamicBensonRuleDefinition
20. Step 2: Use ontology object to determine address
Ontology Hierarchy
Will determine
The database address
21. noSQL Document based database
Document = Catalog Object
JSON map
(property-value pairs)
document document document
collection
collection
collection
Alternating collection-document labels make the address of the document
collection document
25. SUMMARY Step 1: Find catalog object in ontology hierarchy
Step 2: Use ontology object to determine address
Step 3: Store catalog object in database
Ontology used as
an Organizational
and
An Automation
Tool
26. Why use an Ontology?
JThermodynamicsCloud
Uses an ontology in several capacities
Solving different issues in the application development
Highlighted Examples:
• Data Driven Application under Model Driven Development
• Ontology as a Centralized Reference for data objects
• Organizational and Automation Tool