CubicWeb - The Semantic Web is a construction game!#
Starting from CubicWeb version 4.0 all code related to generating html views has been moved to the Cube cubicweb_web.
If you want to migrate a project from 3.38 to 4.* while still using all the
html views you need to both install the cubicweb_web cube AND add it to
your dependencies and run
cubicweb_web can be installed from pypi this way:
pip install cubicweb_web
In the long run cubicweb_api will be merged inside of CubicWeb.
CubicWeb is a semantic web application framework, licensed under the LGPL, empowering developers to efficiently build web applications by reusing components (called cubes) and following the well known object-oriented design principles.
an engine driven by the explicit data model of the application,
a query language named RQL similar to W3C’s SPARQL,
a selection+view mechanism for semi-automatic XHTML/XML/JSON/text generation,
a library of reusable components (data model and views) that fulfill common needs,
the power and flexibility of the Python programming language,
the reliability of SQL databases, LDAP directories and Mercurial for storage backends.
Created in early 2000s from an R&D effort and still maintained, supporting 100,000s of daily visits at some production sites, CubicWeb is a proven end to end solution for semantic web application development promoting quality, reusability and efficiency.
Cubicweb core principle#
CubicWeb offers two different ways of routing : one internal to CubicWeb and a one with the pyramid framework.
cubicweb and pyramid
the CW request object
encapsulation of the CW request in the pyramid request
bw_compat and the options to use, fallback when CW doesn’t find anything
how to install and integrate js tooling into CW
With CubicWeb Views:
the RDF adaptator
RDFLib integration into CW
Data model and management#
Migrate your schema#
Each time the schema is updated, two action are needed : update the underlying tables and update the corresponding data.
Debug script migration
Cubicweb configuration files#
Common Web application tools#
CubicWeb is based on different libraries, in which you may be interested:
How to contribute#