Database Schema: - Add decks table for curated word lists (A1, Most Common, etc.) - Add deck_terms join table with position ordering - Link rooms to decks via rooms.deck_id FK - Remove frequency_rank from terms (now deck-scoped) - Change users.id to uuid, add openauth_sub for auth mapping - Add room_players.left_at for disconnect tracking - Add rooms.updated_at for stale room recovery - Add CHECK constraints for data integrity (pos, status, etc.) Extraction Script: - Rewrite extract.py to mirror complete OMW dataset - Extract all 25,204 bilingual noun synsets (en-it) - Remove frequency filtering and block lists - Output all lemmas per synset for full synonym support - Seed data now uncurated; decks handle selection Architecture: - Separate concerns: raw OMW data in DB, curation in decks - Enables user-created decks and multiple difficulty levels - Rooms select vocabulary by choosing a deck
626 B
626 B
notes
tasks
- pinning dependencies in package.json files
open word net
download libraries via
python -c 'import wn; wn.download("omw-fr")';
libraries:
odenet:1.4 omw-es:1.4 omw-fr:1.4 omw-it:1.4 omw-en:1.4
upgrade wn package:
pip install --upgrade wn
check if wn is available, eg italian:
python -c "import wn; print(len(wn.words(lang='it', lexicon='omw-it:1.4')))"
remove a library:
python -c "import wn; wn.remove('oewn:2024')" python -c "import wn; wn.remove('oewn:2024')"
list all libraries:
python -c "import wn; print(wn.lexicons())"