Repository navigation
Domain Model
PRKS models a research library rather than only a directory of files. The database contains both bibliographic/library entities and structured research entities.
A Work is the primary research item. It can represent a managed PDF, a video/online source, or another supported source type.
A Work can carry:
- bibliographic metadata;
- source identity/provenance;
- reading/viewing progress;
- a Folder;
- Tags;
- linked People through Roles/credits;
- Playlist membership;
- Research Notes and private/reminder notes;
- PDF annotations;
- relationships to structured research entities.
Folders organize Works hierarchically. Folder metadata and Work→Folder assignment are separate operations, which matters for synchronization and conflict handling.
Tags are reusable vocabulary. Tags may be attached to Works and Folders. The vocabulary itself—create, delete, merge—is distinct from attachment operations.
People are first-class records. Work↔Person relationships carry Roles/credit rather than treating authorship and other contributions as one unstructured string.
Person Groups provide a separate hierarchy/grouping mechanism for People.
Playlists hold an ordered sequence of Works. They are useful for video/research sequences and are not equivalent to Folders.
A Concept represents a research idea/category that can participate in the structured research network.
A Position represents a claim or position that can be connected to Concepts and other research context.
Arguments/Stances represent structured support, opposition, or related argumentative relationships. They can have sources and targets.
These records power the Research Graph and related detail/index views.
Work source fields are not independent metadata. For video Works, source kind/provider/provider ID and URL semantics form an identity aggregate. The canonical reasoning and transition model are documented in docs/work-source-identity.md.
Today one Work row represents the intellectual work, one citeable publication, and at most one file. The proposed separation into Work → Version (manifestation) → File or Source (asset) — covering editions, translations, revisions, duplicate detection and citation targets — is a design under review, not current behavior. See docs/work-identity-model.md.
Durable local-first creation requires IDs that can safely exist before a server round-trip. Domain-specific synchronization modules and backend/entity_ids.py handle the relevant boundaries.
The exact current schema is defined by backend/db_schema.sql plus ordered migrations in backend/db_migrations.py. Do not treat this page as a column-level schema reference; use those files when implementing migrations or queries.
PRKS Wiki
- Home
- Getting Started
- User Guide
- Workspace Tabs and Split View
- PDFs and Annotations
- Offline and Sync
- Storage, Backup, and Restore
- Configuration and Operations
- Research Network
Developer documentation