CubicWeb - The Semantic Web is a construction game!
CubicWeb - The Semantic Web is a construction game!#
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
general integration with CubicWeb
example of usages with CW
With CubicWeb Views:
the RDF adaptator
RDFLib integration into CW
Data model and management#
Data in CubicWeb:
Permissions management with Pyramid
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#
Full text indexation
Command line tool:
Command line options for debugging
Debugging configuration directly in the code
Pyramid debug toolbar
flake8 et black
CubicWeb is based on different libraries, in which you may be interested :
How to contribute#
Chat on the matrix room #cubicweb:matrix.logilab.org
Visio Weekly meeting every Tuesday afternoon (UTC+1). The link is shared in the matrix room
Discuss on the mailing-list
Discover on the blog
Contribute on the forge
Find published python modules on pypi
Find published npm modules on npm