Ontology + Relational bases or only ontology to store data in a web app?

I am trying to conceive a wine cellar application for my father and for fun on my free time. I've decided to make a simple MVC with Pixi.js / JQuery and Bootstrap served by Express for the front and a REST API with JAX-RS Jersey for the back (so in Java). The software is supposed to be use on a local level, so hosted by the user and only the user's cellar is supposed to feed the application with data. I've studied ontologies, RDF triplets and OWL during my semester and I want to implement it in the project to organize bottles of wine and the data related to them (like the color, the castle, the grapes used and so on), but we haven't applied it to a web app. I've been looking on the web how to use and apply ontologies in Java and I found Apache Jena which seems to be the tool I want to work with. However, I have no idea how to organize and store the bottle of wine. Should I use only the XML file used by the OWL ontology and populated by the user provided data ? Or should I store the bottles of wine in SQL and populate my ontology with this data ? The first solution seems a bit weird because storing data in a single file does not seems efficient. And the second solution seems also a bit off because it duplicates the data. I think my questions comes from the fact that I do not understand how ontologies works within a webapp, so I could use some of your help to clarify my mind. Thank you !

Mar 27, 2025 - 07:06
 0
Ontology + Relational bases or only ontology to store data in a web app?

I am trying to conceive a wine cellar application for my father and for fun on my free time. I've decided to make a simple MVC with Pixi.js / JQuery and Bootstrap served by Express for the front and a REST API with JAX-RS Jersey for the back (so in Java).

The software is supposed to be use on a local level, so hosted by the user and only the user's cellar is supposed to feed the application with data.

I've studied ontologies, RDF triplets and OWL during my semester and I want to implement it in the project to organize bottles of wine and the data related to them (like the color, the castle, the grapes used and so on), but we haven't applied it to a web app.

I've been looking on the web how to use and apply ontologies in Java and I found Apache Jena which seems to be the tool I want to work with.

However, I have no idea how to organize and store the bottle of wine. Should I use only the XML file used by the OWL ontology and populated by the user provided data ? Or should I store the bottles of wine in SQL and populate my ontology with this data ?

The first solution seems a bit weird because storing data in a single file does not seems efficient. And the second solution seems also a bit off because it duplicates the data.

I think my questions comes from the fact that I do not understand how ontologies works within a webapp, so I could use some of your help to clarify my mind.

Thank you !