first commit
This commit is contained in:
commit
6c524b0741
1 changed files with 42 additions and 0 deletions
42
readme.md
Normal file
42
readme.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# wgu
|
||||
|
||||
**wgu** (**w**eird **g**raphing **u**tility) is a simple and accessible *data/link analysis tool*, equipped with a graph database using a *modular object format*.
|
||||
|
||||
it's made by queernerds, for queernerds, for protecting queernerds and queernerd communities. other use cases include investigative journalism, documentation and archivism, ARGs & treasure hunts, or anything that involves making sense of computer data.
|
||||
|
||||
## how does this work?
|
||||
|
||||
wgu & the modular object format are specifically designed to be extremely versatile, and well, modular. the simplest way to think of wgu is like microsoft excel, except that data can be plotted to a graph (or to charts), if you choose.
|
||||
|
||||
this means that you can see how data connects and morphs (via transforms or functions) into new data.
|
||||
|
||||
### object instances
|
||||
|
||||
almost all data within wgu are **object instances**. these are stored as json object literals while at rest, that serealize into the struct `wgu::ObjectInstance`.
|
||||
|
||||
data within object instances is categorized based on the data's origin (whether it's provided as the object's base input, calculated locally, or pulled in from elsewhere).
|
||||
|
||||
the inner structure of these categories depends on the object instance's `object_type`, and is defined in the object's template. alongside these categories, objects also contain metadata like logs, hashes, and timestamps
|
||||
|
||||
### modularity & object templates
|
||||
|
||||
modules can expose object templates as TOML strings (`wgu::modules::ModuleItem::Template`, serealized into `wgu::ObjectTemplate`), and rustlang functions to validate inputs (`... ModuleItem::Validator`), or to calculate properties / make new objects (`... ModuleItem::Function`).
|
||||
|
||||
object templates can define several options for each property:
|
||||
|
||||
- `transforms`: uses this property as an input of a new object
|
||||
- `subobjects`: creates a parent-child relationship between this and at least one more object, based on the properties sharing a value and their transformations
|
||||
- `conditions`: values other properties need to hold for this property to be valid
|
||||
- `duplicates`: makes the property act as an array
|
||||
|
||||
for more information, see the wiki!
|
||||
|
||||
## timeline
|
||||
|
||||
hopefully, soon?
|
||||
|
||||
i'll try my best,,,
|
||||
|
||||
## license
|
||||
|
||||
i'll probably use agpl3 for all versions before v1.0.0, and hl3-full after that.
|
||||
Loading…
Add table
Add a link
Reference in a new issue