Skip to content

doga/qworum-application-template-with-semantic-data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

Qworum logo and name

Basic template for Qworum-based web applications

This is a template for a website that uses Qworum's advanced web browser capabilities.

This template is:

  • Versioned. Qworum applications are structured as versioned Qworum APIs, which ensures that other applications that depend on this one will not break after an update.
  • Internationalised. Qworum API endpoints have language-independent paths which redirect to localised pages.
  • Semantic, meaning that it uses RDF for representing data.

In order to make the programmatic handling of RDF easy, this project uses the ORM-like OSM framework on top of RDF.

This project has a companion project that uses JSON instead of RDF.

The application structure

Qworum API

This web application is implemented as a Qworum API❖ that has 2 endpoints❖❖:

  • The home endpoint, which is the main application (meaning that this is an endpoint that is not expected to return a result).
  • The view-product endpoint, called by home.

Directory structure

  • rdf-store contains the application's RDF data. In a real-world application this could be replaced by a SPARQL API endpoint.
  • Directories of the form v{number} each contain a different version of the application's API. They contain the first phases of the API endpoints (home, view-product etc), which are charged with redirecting the user to localised phases.
  • Directories with 2-letter names such as en contain the localised phases that the end-user actually sees.
  • RDF can also be used internally by applications. This is shown by the settings.ttl file which defines the API version that will run by default and the localisations that are available.

Demo

A demo video is available on Youtube.

License

This software is released under the terms of the Apache 2.0 license.

Notes

❖ Best practice is to use the term "Qworum class" instead of "Qworum API". This is because Qworum uses the OOP programming paradigm for structuring applications. This README document uses the API terminology, as it should be familiar to first-time Qworum programmers.

❖❖ Best practice is to use the term "method" instead of "endpoint".