参考文档:https://developers.flur.ee/docs/overview/schema/predicates/
如果要把不是 index 的 predicate 设置成 index,对 predicate 进行更新的话,可以透过 [”_predicate/name”, “<predicate 名称>”] 来更新:
[
{
"_id":[
"_predicate/name",
"event/starttime"
],
"index":true
}
]
cURL:
# Linux
curl -H "Accept: application/json" -X POST -d '[{"_id":["_predicate\/name","event/starttime"],"index":true}]' <http://13.114.145.25/fdb/seedao/testing/transact>
# Windows
curl -H "Accept: application/json" -X POST -d "[{\"_id\":[\"_predicate\/name\",\"event/starttime\"],\"index\":true}]" <http://13.114.145.25/fdb/seedao/testing/transact>
查看谓词就能发现更新了:
{
"_id":1008,
"_predicate/name":"event/starttime",
"_predicate/doc":"Event start time (ms timestamp)",
"_predicate/type":"instant",
"_predicate/index":true // <----------- updated
}
如果要查询特定 collection 所有的 predicates,可以透过以下 Query:
{
"select":{ "?predicate":["*"]},
"where":[["?predicate", "_predicate/name", "?name"],
{"filter":["(re-find (re-pattern \"^<collection 名称>\") ?name)"]}
]
}
例如对 user collection 的 curl :
# Linux
curl -H "Accept: application/json" -X POST -d '{"select":{"?predicate":["*"]},"where":[["?predicate","_predicate/name","?name"],{"filter":["(re-find (re-pattern \"^user\") ?name)"]}]}' <http://13.114.145.25/fdb/seedao/testing/query>
# Windows
curl -H "Accept: application/json" -X POST -d "{\"select\":{\"?predicate\":[\"*\"]},\"where\":[[\"?predicate\",\"_predicate/name\",\"?name\"],{\"filter\":[\"(re-find (re-pattern \\\"^user\\\") ?name)\"]}]}" <http://13.114.145.25/fdb/seedao/testing/query>
就会拿到所有 predicates 了