跳转到主要内容

用于使用表格创建模式的项目

项目描述

Schemasheets - 使用表格制作数据模型

Tests PyPI PyPI - Python Version PyPI - License Code style: black

linkml logo google sheets logo

使用简单的表格为您数据创建数据字典 / 模式 - 无需编码

关于

Schemasheets是一个用于使用表格(Google SheetsExcel)管理您模式的框架。它通过编译成LinkML来工作,LinkML本身可以编译成各种形式化,或用于不同的目的,如数据验证

文档

请参阅Schema Sheets 手册

快速入门

pip install schemasheets

您应该能够运行以下命令

  • sheets2linkml - 将 schemasheets 转换为 LinkML 架构
  • linkml2sheets - 将 LinkML 架构转换为 schemasheets
  • sheets2project - 从 Schemasheets 生成一组完整的 schema 文件(JSON-Schema、SHACL、SQL、...)

例如,查看 ID 为 1wVoaiFg47aT9YWNeRfTZ8tYHN8s8PAuDx5i2HUcDpvQ 的谷歌表格中的不同选项卡

personinfo 选项卡包含大部分元数据元素

record field key multiplicity range desc schema.org
> class slot identifier cardinality range description exact_mappings: {curie_prefix: sdo}
>
id yes 1 string any identifier identifier
description no 0..1 string a textual description description
Person n/a n/a n/a a person,living or dead Person
Person id yes 1 string person 的标识符 identifier
Person, Organization name no 1 string full name name
Person age no 0..1 decimal years of age
Person gender no 0..1 decimal years of age
Person has medical history no 0..* MedicalEvent medical history
Event events grouping class
MedicalEvent n/a n/a n/a a medical encounter
ForProfit
NonProfit

此演示架构包含记录类型(例如 Person、MedicalEvent)以及字段(例如 id、age、gender)

您可以按以下方式转换

sheets2linkml --gsheet-id 1wVoaiFg47aT9YWNeRfTZ8tYHN8s8PAuDx5i2HUcDpvQ personinfo types prefixes -o personinfo.yaml

这将生成来自谷歌表格中 3 个选项卡的 LinkML YAML 文件 personinfo.yaml

您还可以直接使用 TSV

wget https://raw.githubusercontent.com/linkml/schemasheets/main/tests/input/personinfo.tsv 
sheets2linkml personinfo.tsv  -o personinfo.yaml

我们建议使用 COGS 通过类似 git 的机制同步您的谷歌表格与本地文件

示例

了解更多信息

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪一个,请了解更多关于 安装包的信息

源代码发行版

schemasheets-0.3.1.tar.gz (30.6 kB 查看哈希值

源代码

构建发行版

schemasheets-0.3.1-py3-none-any.whl (34.7 kB 查看哈希值

Python 3

由以下支持