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.
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 byhome
.
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.
A demo video is available on Youtube.
This software is released under the terms of the Apache 2.0 license.
❖ 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".
∎