CubicWeb - The Semantic Web is a construction game!¶
CubicWeb is a semantic web application framework, licensed under the LGPL, that empowers 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.
Built since 2000 from an R&D effort still continued, supporting 100,000s of daily visits at some production sites, CubicWeb is a proven end to end solution for semantic web application development that promotes quality, reusability and efficiency.
Cubicweb core principle¶
Cubicweb offers two different ways of rooting : one internal to CubicWeb and a new one with pyramid.
Principle: cubicweb and pyramid | the CW request object | the pyramid 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 |
Pyramid routing: general principles | predicates | tweens | content negociation
RDF: 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.
Migrations: script migration | Write script migration | Execute script migration | Debug script migration
Cubicweb configuration files¶
Common Web application tools¶
Deployment: Raw python deployment | Working with Docker | Working with debian packages
Administration: the cubicweb-ctl tool | sources configuration | backup
CubicWeb is based on different libraries, in which you may be interested :