为 Datasette 添加了一个协调 API 端点,该端点基于 协调服务 API 规范。
协调 API 用于将一组字符串与其正确的标识符进行匹配,以帮助处理大型数据集中的消歧和一致性。例如,字符串“United Kingdom”、“United Kingdom of Great Britain and Northern Ireland”和“UK”都可以用来标识 ISO 国家代码为 GB
的国家。它特别在 OpenRefine 中得到了实现。
该插件为 Datasette 提供的表添加了一个 /-/reconcile
端点,该端点根据协调服务 API 规范进行响应。为了激活此端点,您需要配置协调服务,如用法部分所述。
将此插件安装在与 Datasette 相同的环境中。
$ datasette install datasette-reconcile
应使用 Datasette 的 metadata.json
文件配置该插件。配置可以放在 metadata.json
的根层、数据库层或表层,对于大多数用例来说,在表级别进行配置最有意义。
在 metadata.json
的 plugins
下添加一个 datasette-reconcile
对象。它应该看起来像这样
{
"databases": {
"sf-trees": {
"tables": {
"Street_Tree_List": {
"plugins": {
"datasette-reconcile": {
"id_field": "id",
"name_field": "name",
"type_field": "type",
"type_default": [
{
"id": "tree",
"name": "Tree"
}
],
"max_limit": 5,
"service_name": "Tree reconciliation",
"view_url": "https://example.com/trees/{{id}}"
}
}
}
}
}
}
}
配置中唯一必需的项是 name_field
。这指的是表中用于搜索匹配查询文本的字段。
其余配置项是可选的,如下所示
id_field
:包含此实体标识符的字段。如果未提供,并且设置了主键,则将使用主键。包含多个字段的主键将导致错误。type_field
:如果提供,此字段将用于确定实体的类型。如果未提供,则将使用type_default
设置。type_default
:如果提供,此值将用作返回的每个实体的类型。如果未提供,则将使用默认值Object
作为每个实体的类型。max_limit
:查询可以请求返回的最大记录数。默认值为 5。单个查询可以请求少于此数量的结果,但不能请求更多。service_name
:将出现在服务清单中的协调服务名称。如果未提供,将采用以下形式reconciliation.