CiteGeist/examples/artificial-life/README.md

101 lines
2.9 KiB
Markdown

# Artificial Life Topic-Seeding Example
This example shows the smallest useful `citegeist` workflow that starts from a topic phrase alone.
The seed phrase is:
```text
artificial life
```
## What It Demonstrates
- topic-only bootstrap without a seed `.bib`;
- previewing ranked candidate seed entries before writing anything;
- storing a curated topic slug, topic name, and expansion phrase in the database;
- running later topic-aware expansion from that stored phrase.
## Preview First
Use a preview run to inspect the best candidate seed entries without changing the database:
```bash
PYTHONPATH=src .venv/bin/python -m citegeist --db library.sqlite3 \
bootstrap \
--topic "artificial life" \
--topic-slug artificial-life \
--topic-name "Artificial life" \
--store-topic-phrase "artificial life alife artificial organisms complex systems evolution simulation" \
--topic-limit 10 \
--topic-commit-limit 5 \
--preview
```
That returns ranked candidates gathered through the configured resolver/search stack.
## Commit The Topic Seeds
Once the preview looks reasonable, run the same bootstrap without `--preview`:
```bash
PYTHONPATH=src .venv/bin/python -m citegeist --db library.sqlite3 \
bootstrap \
--topic "artificial life" \
--topic-slug artificial-life \
--topic-name "Artificial life" \
--store-topic-phrase "artificial life alife artificial organisms complex systems evolution simulation" \
--topic-limit 10 \
--topic-commit-limit 5
```
That does three things:
1. finds topic-relevant seed entries;
2. stores them in the bibliography database;
3. creates or updates the `artificial-life` topic row with the curated expansion phrase.
## Inspect The Result
```bash
PYTHONPATH=src .venv/bin/python -m citegeist --db library.sqlite3 topics
PYTHONPATH=src .venv/bin/python -m citegeist --db library.sqlite3 topic-entries artificial-life
```
If you want to adjust the stored phrase later:
```bash
PYTHONPATH=src .venv/bin/python -m citegeist --db library.sqlite3 \
set-topic-phrase artificial-life "artificial life alife artificial organisms autonomous agents evolution simulation"
```
## Optional Batch Form
The same topic-only seed can be expressed as a batch job:
```json
[
{
"name": "artificial-life-topic-seed",
"topic": "artificial life",
"topic_slug": "artificial-life",
"topic_name": "Artificial life",
"topic_phrase": "artificial life alife artificial organisms complex systems evolution simulation",
"topic_limit": 10,
"topic_commit_limit": 5,
"expand": false
}
]
```
Run it with:
```bash
PYTHONPATH=src .venv/bin/python -m citegeist --db library.sqlite3 bootstrap-batch artificial-life.json
```
## Notes
- This example is intentionally generic and corpus-independent.
- The exact candidate set depends on live source availability and resolver behavior.
- Prefer preview mode before committing topic-only seeds, because topic phrases are noisier than curated seed `.bib` inputs.