在 Fluree 中,DB 的 Schema = 集合 (Collections) + 谓词 (Predicates) 组成(谓词是什么后面会解释)。简单来说,集合就是 “表 (Table)” 而谓词就是 “列 (row)”

例如我要建立一个 “人员表” (Table “Person”),然后这个人员包含有名字 (firstname), 姓氏 (lastname), 年龄 (Age),就像是一个 row:

人员表:

名字 firstname 姓氏 lastname 年龄 Age

那我们怎么做呢?

  1. 先建立 Table,也就是 Collection
  2. 再建立 Row,也就是 Predicate

第一步:建立 Collection

首先先建立 Table,也就是 Collection,我们一次建立两个 Collection,分别是 使用者 (user)事件 (event)

# Linux
curl -i -H "Accept: application/json" -X POST -d '[ { "_id": "_collection", "name": "user" }, { "_id": "_collection", "name": "event" } ]' <http://13.114.145.25/fdb/seedao/testing/transact>

# Windows
curl -i -H "Accept: application/json" -X POST -d "[ { \\"_id\\": \\"_collection\\", \\"name\\": \\"user\\" }, { \\"_id\\": \\"_collection\\", \\"name\\": \\"event\\" } ]" <http://13.114.145.25/fdb/seedao/testing/transact>

这边可以注意到,API 呼叫的是 /fdb/seedao/testing/transact

也就是 Ledger名称 + transact,那每一次的 transact 呼叫都是一个阵列 (Array),因为可以包含多个 transact,像这次这个就包含 2 个 transact,分别建立两个 Collection:

[
   {
      "_id":"_collection",
      "name":"user"
   },
   {
      "_id":"_collection",
      "name":"event"
   }
]

建立完之后,你会得到一个 JSON,你可以看到这是第几个 Block,他的 flakes 有哪些(其他栏位后面会解释):