I'm running a stand alone single-user v5 Node Solid Server. When I log in as that single user, I'm able to create a document in a non-existent container, and the server creates the container for me.
e.g.
POST https://my.server:8443/network/001/call/call-001
@prefix c0: <http://example.org/foo/call#> .
@prefix foo: <http://example.org/foo/> .
<https://my.server:8443/network/001/call/call-0001>
a foo:call;
c0:caller "401-555-0001";
c0:created "2019-05-02T19:54:10.007Z";
c0:id "call-0001";
c0:network-id "001";
c0:receiver "555-555-0002";
c0:updated "2019-05-02T19:54:10.007Zā .
When I post this to my own single user server, and the container /network/001/call
doesn't exist, it will create it for me. But when I post this to an Inrupt server (where I own the POD, but not the server, and it isn't in single user mode), I get an error:
500 : Failed to write file after patch: Error: ENOENT: no such file or directory, open '/var/solid/user.inrupt.net/network/001/call/call-001'
So - I'm curious around why it creates the container in one case but not the other, but I suppose for the short term the answer is also that I should be explicitly creating the containers before putting things into them. Unfortunately the task-oriented documentation seems a bit lacking on this at the moment, so thus the title of this question - how do I create a container (POST ...
?) on a SoLiD server?