Accueil

La base de données

Tout le droit libanais, en une seule base de données.

Le fonds derrière ce site est une base de données relationnelle PostgreSQL. Cette page décrit ses tables.

Téléchargez-la gratuitement. Toute la base est publique sur Hugging Face : taktekhq/lebanese-legislation. Un fichier Parquet par table, y compris le graphe des modifications et des citations entre textes. Chargez-la avec pandas, DuckDB ou la bibliothèque datasets. Les tables ci-dessous sont celles qui alimentent chaque page de ce site, avec leur nombre de lignes actuel. Questions : nizar@taktek.io.

Construire avec les ressources publiques

Choisissez le code source, des tables Parquet portables ou une image de base PostgreSQL. Le code est sous licence MIT ; les documents juridiques gardent leur source et leurs conditions de réutilisation.

Les images -db et -all contiennent les deux bases construites à partir des tables sources. Les tables Parquet et les vecteurs sémantiques sont disponibles sur Hugging Face.

vectors/vectors.parquet contient 1,547,937 segments vectorisés avec gemini-embedding-001 en 768 dimensions. Colonnes : id, document, model, hash et values (FLOAT[768]). La recherche sémantique hébergée utilise Cloudflare Vectorize.

Comment elle est tenue

  • Chaque table est exportée en fichiers texte triés, sous contrôle de version : chaque modification d'une loi est une ligne de l'historique.
  • Chaque ligne enregistre la page du Centre d'où elle a été lue : chaque texte peut être retracé jusqu'à sa source.

Les tables

agreement
Treaties and agreements, with the text that ratified them. (1 973 lignes)
amendment
Every change one text made to another, read from the amending article: which article, what it did, the new wording, from what date, and whether it was applied. (3 896 lignes)
article_en
(20 679 lignes)
article_version
Each amended article's versions, oldest first, each with its date and the amendment that made it. (3 947 lignes)
centre_error
Errors in the Lebanese University's own text of an article (one article repeating another, a stray letter), noted next to the article and never corrected in it. Where a person read the right wording from the printed edition, it is a minor version in article_version. (5 lignes)
code
The principal codes, with stable addresses. (26 lignes)
council_ruling
(4 lignes)
court
The courts and chambers. (12 lignes)
date_correction
Dates the Lebanese University printed wrong (a text signed after its own publication, a year typo, a placeholder): the printed date, the corrected one, how it was settled and the evidence. (583 lignes)
doctrine_article
Articles from legal periodicals, with abstracts. (2 574 lignes)
gazette_annex
(395 lignes)
gazette_entry
Which texts each issue published, on which page. (105 483 lignes)
gazette_issue
Official Gazette issues. (6 851 lignes)
graph_edge
(367 830 lignes)
legislation
Every law, decree and decision: kind, number, date, title, status, Official Gazette publication. (103 112 lignes)
legislation_alias
The old address of a scanned text the Lebanese University has since published, and the text it now points to. (49 lignes)
legislation_article
Each article, consolidated, in Arabic and in French where published, with its amendment notes. (389 151 lignes)
legislation_kind
The 49 kinds of text, with English and French names. (53 lignes)
legislation_scan
Texts the Lebanese University has not published yet, read by machine from scans of the Gazette's pages: where the scans came from, how many pages, and how far the two readings agree. Words they disagree on are marked in the text: U+E000 reading one, U+E001 reading two, U+E002. (1 456 lignes)
legislation_section
Books, parts, chapters and sections, nested. (109 626 lignes)
legislation_title_en
An unofficial English rendering of each text's subject line, written by a model (Claude Sonnet) from the Arabic title alone and labelled unofficial on the site. The Arabic title and text are the official version and the more accurate one; the English is there to help people and search engines find a text, and the text itself is never translated. (103 106 lignes)
noindex_page
Pages kept out of search results and the sitemaps, with the reason: articles that are only a publication or repeal clause, documents with no title or no text, and, as kind english, texts whose machine-translated English pages are hidden because they are not among the popular texts (machine_english). They stay on the site and linked. (203 155 lignes)
official_text
opinion
Advisory opinions. (3 633 lignes)
page_state
When each text, ruling, Gazette issue and document last changed, with a hash of what its page shows: the date the sitemaps give as lastmod. (165 849 lignes)
reference
Every link from a document to a text or article, and whether the Centre's editors, our rules or a model made it. (20 994 lignes)
research
Studies. (50 lignes)
ruling
Court rulings: court, number, date, panel, text. (47 656 lignes)
ruling_file
The scanned full judgment behind a ruling page (a PDF served at /ruling-files/<id>.pdf, not in the database): its size, SHA-256, when it was fetched and its page count once read. (44 766 lignes)
ruling_page
The text of those scans, one row per page, read by machine. It may contain errors; the scan is the reference. low_confidence marks pages that are hard to read (mostly handwriting): expect more errors there. (274 839 lignes)
source_page
The raw page behind every row: address, archive path, SHA-256. (266 006 lignes)
web_schema
(1 lignes)

Exemples

Tous les articles du Code des obligations et des contrats qui mentionnent «التضامن», avec une citation prête à l'emploi :

SELECT number, citation, text_ar
FROM article_cited
WHERE law_id = 244226
  AND search_stem @@ websearch_to_tsquery('arabic', 'التضامن')
ORDER BY position;

Les textes les plus cités par la Cour de cassation, avec le nombre de décisions qui citent chacun :

SELECT l.title, count(DISTINCT r.from_id) AS rulings
FROM reference r JOIN legislation l ON l.id = r.law_id
JOIN ruling x ON x.id = r.from_id AND r.from_type = 'ruling'
WHERE x.court LIKE 'تمييز%'
GROUP BY l.title ORDER BY rulings DESC LIMIT 20;

Tous les textes qui en ont abrogé un autre, et ce qu'ils ont abrogé :

SELECT a.title AS repealing, b.title AS repealed
FROM reference r
JOIN legislation a ON a.id = r.from_id
JOIN legislation b ON b.id = r.law_id
WHERE r.from_type = 'legislation' AND r.relation = 'repeals';

D'où elle vient

Chaque ligne enregistre la page du Centre d'informatique juridique de l'Université libanaise d'où elle a été lue, avec le SHA-256 de la page telle que servie (source_page). Les liens entre documents disent qui les a établis : les rédacteurs du Centre, notre analyseur ou un modèle d'IA (reference.method).

Licence et mention de la source

Ces données ne nous appartiennent pas. Les lois, les décisions de justice et les numéros du Journal officiel sont des textes publics de l'État libanais, et le مركز الدراسات والأبحاث في المعلوماتية القانونية de l'Université libanaise les a réunis et publiés. Nous les lisons sur le site public du Centre et n'ajoutons ni droits ni restrictions. Si vous les réutilisez, citez le Centre : Source : Centre de recherches et d'études en informatique juridique, Université libanaise.