Currently, queries for "users", "search", and "likes" mode conflict by reusing some caching files, as noted in #17 #18.
For example, under default settings, here are the cache files associated with the target eleurent for different modes:
users mode: cache data stored in out/eleurent/cache/followers.json and out/eleurent/cache/friends.json
search mode: cache data stored in out/eleurent/cache/followers.json and out/eleurent/cache/tweets.json
likes mode: cache data stored in out/eleurent/cache/followers.json and out/eleurent/cache/tweets.json
Note also that for all three modes, the final results are written to out/eleurent/edges.csv and out/eleurent/nodes.csv, thus multiple runs of different modes with the same target will overwrite the result graph, which could lead to data loss.
It may make more sense to create a new directory layer under the target name associated with the mode being used, i.e. use these files instead:
users mode: cache data stored in out/eleurent/users/cache/followers.json and out/eleurent/users/cache/friends.json
search mode: cache data stored in out/eleurent/search/cache/authors.json and out/eleurent/search/cache/tweets.json
likes mode: cache data stored in out/eleurent/likes/cache/authors.json and out/eleurent/likes/cache/tweets.json
Perhaps also the outfile can sit under this new directory layer as well, so that the final outputs for the different modes do not get overwritten. E.g.
users mode: final results stored in out/eleurent/users/edges.csv and out/eleurent/users/nodes.csv
search mode: final results stored in out/eleurent/search/edges.csv and out/eleurent/search/nodes.csv
likes mode: final results stored in out/eleurent/likes/edges.csv and out/eleurent/likes/nodes.csv
Currently, queries for "users", "search", and "likes" mode conflict by reusing some caching files, as noted in #17 #18.
For example, under default settings, here are the cache files associated with the target
eleurentfor different modes:usersmode: cache data stored inout/eleurent/cache/followers.jsonandout/eleurent/cache/friends.jsonsearchmode: cache data stored inout/eleurent/cache/followers.jsonandout/eleurent/cache/tweets.jsonlikesmode: cache data stored inout/eleurent/cache/followers.jsonandout/eleurent/cache/tweets.jsonNote also that for all three modes, the final results are written to
out/eleurent/edges.csvandout/eleurent/nodes.csv, thus multiple runs of different modes with the same target will overwrite the result graph, which could lead to data loss.It may make more sense to create a new directory layer under the target name associated with the mode being used, i.e. use these files instead:
usersmode: cache data stored inout/eleurent/users/cache/followers.jsonandout/eleurent/users/cache/friends.jsonsearchmode: cache data stored inout/eleurent/search/cache/authors.jsonandout/eleurent/search/cache/tweets.jsonlikesmode: cache data stored inout/eleurent/likes/cache/authors.jsonandout/eleurent/likes/cache/tweets.jsonPerhaps also the outfile can sit under this new directory layer as well, so that the final outputs for the different modes do not get overwritten. E.g.
usersmode: final results stored inout/eleurent/users/edges.csvandout/eleurent/users/nodes.csvsearchmode: final results stored inout/eleurent/search/edges.csvandout/eleurent/search/nodes.csvlikesmode: final results stored inout/eleurent/likes/edges.csvandout/eleurent/likes/nodes.csv