datasette-reconcile 作者 drkane

星标

README 源代码

datasette-reconcile

PyPI - Version PyPI - Python Version Changelog Tests License

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.jsonplugins 下添加一个 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.