@Kijana as I see there the difference in interpretation in RavenFS and IFileSystem is that directories are treated as first class citizens in IFileSystem but they are not in RavenFS. That concept of
For example:
/// <summary>
/// True for the case TryGetDirectoryContents has enumerated a sub-directory
/// </summary>
bool IsDirectory { get; }
@marcus You may be able to have an empty directory. In RavenFS empty directories do not exist. You either have a file and therefore a containing directory (root or whatever) or you don't. You can still implement it though with the low level API.
On the Command interface, you have a call that will return you all the subdirectories of a particular directory (if you ask the root you will get the entire directory structure).
Task<string[]> GetDirectoriesAsync(string from = null, int start = 0, int pageSize = 1024);
@A file in multiple directories is more like a file with tags, so using metadata you have that. You probably would use folders as containers to physically separate stuff (if you need to) but there is no reason why you must use them anyways.