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-add
Add tags to symbolsrotz-del
Remove tags from symbolsrotz-show
Show symbols associated with tags, or tags associated with symbolsrotz-alias
Make a tag also known under a different namerotz-rename
Rename a tagrotz-search
Show tags beginning with a specified prefixrotz-combine
Combine several separate tags into onerotz-cloud
Display tag cloudsrotz-fsck
Check 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
V
to rotz database file and return its object handle. rtz_vtx_t rotz_rem_vertex(rotz_t, const char *v)
- Remove vertex
V
from 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
ALIAS
from 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
FROM
to vertexTO
exists. int rotz_add_edge(rotz_t, rtz_vtx_t from, rtz_vtx_t to)
- Add an edge from vertex
FROM
to vertexTO
. int rotz_rem_edge(rotz_t, rtz_vtx_t from, rtz_vtx_t to)
- Remove an edge from vertex
FROM
to 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
.