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
45 lines
626 B
Markdown
45 lines
626 B
Markdown
# notes
|
|
|
|
## tasks
|
|
|
|
- pinning dependencies in package.json files
|
|
|
|
## open word net
|
|
|
|
download libraries via
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
pip install --upgrade wn
|
|
```
|
|
|
|
check if wn is available, eg italian:
|
|
|
|
```bash
|
|
python -c "import wn; print(len(wn.words(lang='it', lexicon='omw-it:1.4')))"
|
|
```
|
|
|
|
remove a library:
|
|
|
|
```bash
|
|
python -c "import wn; wn.remove('oewn:2024')" python -c "import wn; wn.remove('oewn:2024')"
|
|
```
|
|
|
|
list all libraries:
|
|
|
|
```bash
|
|
python -c "import wn; print(wn.lexicons())"
|
|
```
|