# ArtNet ArtNet is a database schema to tag and organize images, videos and other media files for easy search & traceability. Create your very own reference database! ## Dependencies The database schema has been developed with [PostgreSQL 13](https://www.postgresql.org/). The GUI runs with Python 3.9 as well as: * PyQT5 * PyYAML * other dependencies listed in requirements.txt ## Features ### Editor GUI The GUI allows easy editing, creation and deletion of tags, art entries, presence entries and artists while viewing the file in question. The GUI can connect to different databases via "ArtNet" > "Change DB Connection" . The login credentials are saved in the directory `.artnet` located in the current working directory. **Important:** Configuration Encryption is experimental and **unsafe**! While the GUI makes an attempt to encrypt the configuration file, the password for encryption is, as of writing, inside the source code. The login data should therefore to be treated as plain text and additionally secured in better ways such as proper file permissions. ### Tagging **You can:** * create, edit & delete your own tags * imply tags with other tags (e.g. *banana* implies *fruit*) * create aliases for different tags that mean the same (e.g. *posing* being an alias to *pose*) * categorize your tags * create modules to import tagging from known sources ## Concepts & Names ### ArtNet Root The root folder in which your references are stored. Ultimately the structure is up to you but it is assumed for new entries to be somewhat like this: ``` ArtNetRoot/ presence_name_A/ image_A.jpg vid_B.mp4 presence_name_B/ image_D.jpg presence_name_C/ image_C.jpg ``` A structure like this will allow to the GUI to show a correct guess for the presence name when encountering an unknown art entry. ### Presences & Authors In ArtNet you can create a presence for every account an artist has on different or the same website. These presences are connected to an Artist entry and therefore allow the connection of many accounts to the same artist. A presence consists of the presence name and the domain it is used on as well as an optional direct link to the account. Multiple presences can be associated with any given art allowing for correct attribution for collaborations and similar. -- TODO add artist_presence_relation_example_diagram here -- ### Art Basically the files to be organized and tagged. Each art piece is a file associated with many tags, a source link and one or more presences. ### Tag A tag is keyword that is later to be associated with Art. #### Aliases Each tag can have aliases which are to be considered equal to the current tag and therefore also associated with the art. This relation is bidirectional. #### Implications Each tag can also imply other tags, meaning when the current tag is associated with an art piece the implied tags are to be considered associated too but not vice versa. This relation is unidirectional.