- Clone this repo
- Download dpd.db.tar.bz2 from this page,
- Unzip and place it in the root of the project folder
- Install poetry
- In the terminal, run
poetry install - See
scripts/db_search_example.pyfor a quick tutorial on how to use the database with SQLAlchemy
There are four main parts to the code:
- Create the database and build up the tables of derived data.
- Add new words, edit and update the db with a GUI.
- Run data integrity tests on the db.
- Compile all the parts and export into various dictionary formats.
DpdHeadwordsandDpdRootstables are the heart of the db, everything else gets derived from those.- They have a relationship
DpdHeadwords.rt.to access any root information. For example,DpdHeadwords.rt.root_meaning - There are also lots of
@propertiesindb/models.pyto access useful derived information. DpdHeadwordstable also contains lists of inflections of every word in multiple scripts, as well as html inflection tables.FamilyCompoundtable is html of all the compound words which contain a specific word.FamilyRoottable is html of all the words with the same prefix and root.FamilySettable is html of all the words which belong to the same set, e.g. names of monks.FamilyWordtable is html of all the words which are derived from a common word without a root.InflectionTemplatestable are the templates from which all the inflection tables are derived.
- Download this repo
- Get tipitaka-xml with
git submodule init && git submodule updatecommands - Install nodejs
- Install poetry
poetry installpoetry run bash scripts/bash/initial_setup_run_once.shpoetry run bash scripts/bash/build_db.sh- To be able to run database tests you may need to install some of these packages.
That should create an SQLite database ./dpd.db which can be accessed by DB Browser, DBeaver, through SQLAlechmy or your preferred method.
For a quick tutorial on how to access any information in the db with SQLAlchemy, see scripts/db_search_example.py.
db/deconstructor/sandhi_splitter.py runs with the config option deconstructor.all_texts = yes, it will take several hours to complete.
Starting with a fresh clone of the tip:
git clone --depth=1 https://github.com/digitalpalidictionary/dpd-db.git
cd dpd-db
git submodule init && git submodule update
poetry install
poetry run bash scripts/bash/build_and_make_all.shThis creates the dpd.db SQLite database. Also it extract all dictionaries see folder exporter/share