I’m familiar with the basics of the business logic of a web app, but I don’t know how to start a project using apache jena. Where should I write the RDF, where SPARQL, frontend …?
Think of the RDF triple store (whichever one you use, see below) as your database, RDF lives there, and SPARQL is your query language to communicate between the database and your back-end logic. Libraries/frameworks like Jena and RDF4J give you a way to make SPARQL queries and then iterate over the results.
For your triple store you can use the solutions that come with Jena and RDF4J (e.g., Fuseki2) or some other graph database such as Amazon Neptune or Ontotext GraphDB. I would recommend starting with the ones that come with the libraries, and later “graduate” to the more serious offerings.