【发布时间】:2019-09-22 01:53:16
【问题描述】:
我正在运行一个独立的单用户 v5 Node Solid Server。当我以单个用户身份登录时,我可以在一个不存在的容器中创建一个文档,然后服务器会为我创建容器。
例如
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” .
当我将它发布到我自己的单用户服务器时,容器 /network/001/call 不存在,它会为我创建它。但是当我将它发布到一个 Inrupt 服务器(我拥有 POD,但不是服务器,并且它不是单用户模式)时,我收到一个错误:
500:补丁后写入文件失败:错误:ENOENT:没有这样的文件或目录,打开'/var/solid/user.inrupt.net/network/001/call/call-001'
所以 - 我很好奇为什么它在一种情况下创建容器而不是另一种情况,但我认为短期内我应该在将东西放入容器之前明确创建容器。不幸的是,目前面向任务的文档似乎有点缺乏,所以这个问题的标题是 - 如何在 SoLiD 服务器上创建容器 (POST ...?)?
【问题讨论】:
-
我认为 Inrupt 服务器仍在运行
solid-server的 v4,而不是 v5,所以也许这就是问题所在?当然,您也可以使用 v4 在本地尝试。 -
这显然是行为上的差异。但看起来我仍然应该能够显式地创建一个没有任何内容的新容器,这将使两者等效。只是没有很多容易找到的例子。
标签: solid