rotz
Rolf’s Orphaned Tagging Zythepsary.
Vapourware.
Wrapper around tokyocabinet to store tag metadata of items in a bipartite graph, much like vertexdb but with the emphasis on bulk operations.
Currently, access via command-line is implemented, and access via http is envisaged.
- github page: https://github.com/hroptatyr/rotz
- project homepage: http://www.fresse.org/rotz/
- downloads: https://bitbucket.org/hroptatyr/rotz/downloads
Command-line tools
rotz-addAdd tags to symbolsrotz-delRemove tags from symbolsrotz-showShow symbols associated with tags, or tags associated with symbolsrotz-aliasMake a tag also known under a different namerotz-renameRename a tagrotz-searchShow tags beginning with a specified prefixrotz-combineCombine several separate tags into onerotz-cloudDisplay tag cloudsrotz-fsckCheck database file and optimise it
Examples
Start out anywhere by adding some tags:
$ rotz-add foo bar
$ rotz-add foo baz
Now show all associations with foo
$ rotz-show foo
bar
baz
Show all associations of bar
$ rotz-show bar
foo
Delete the association between foo and bar
$ rotz-del foo bar
$ rotz-show foo
baz
Add a tag alias to foo, something more meaningful
$ rotz-alias foo important
Find important items
$ rotz-show important
baz
Make bar important again
$ rotz-add important bar
$ rotz-show foo
bar
baz
C API
The API contains the usual graph operations:
rtz_vtx_t rotz_get_vertex(rotz_t, const char *v)- Identify a vertex by name and return its object handle.
rtz_vtx_t rotz_add_vertex(rotz_t, const char *v)- Add vertex
Vto rotz database file and return its object handle. rtz_vtx_t rotz_rem_vertex(rotz_t, const char *v)- Remove vertex
Vfrom rotz database file and return its former object handle. int rotz_add_alias(rotz_t, rtz_vtx_t v, const char *alias)- Make ALIAS an alias for vertex object
V. int rotz_rem_alias(rotz_t, const char *alias)- Remove
ALIASfrom the list of aliases associated withALIAS. rtz_buf_t rotz_get_aliases(rotz_t, rtz_vtx_t v)- Return the list of aliases for vertex object
V. int rotz_get_edge(rotz_t, rtz_vtx_t from, rtz_vtx_t to)- Return non-0 iff the edge from vertex
FROMto vertexTOexists. int rotz_add_edge(rotz_t, rtz_vtx_t from, rtz_vtx_t to)- Add an edge from vertex
FROMto vertexTO. int rotz_rem_edge(rotz_t, rtz_vtx_t from, rtz_vtx_t to)- Remove an edge from vertex
FROMto vertexTO. rtz_vtxlst_t rotz_get_edges(rotz_t, rtz_vtx_t v)- Return all (outgoing) edges from vertex
V. size_t rotz_get_nedges(rotz_t, rtz_vtx_t v)- Return the number of (outgoing) edges from vertex
V. int rotz_rem_edges(rotz_t, rtz_vtx_t v)- Remove all (outgoing) edges from a vertex
V.


