用于使用表格创建模式的项目
项目描述
Schemasheets - 使用表格制作数据模型
使用简单的表格为您数据创建数据字典 / 模式 - 无需编码。
关于
Schemasheets是一个用于使用表格(Google Sheets、Excel)管理您模式的框架。它通过编译成LinkML来工作,LinkML本身可以编译成各种形式化,或用于不同的目的,如数据验证
文档
快速入门
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 的机制同步您的谷歌表格与本地文件
示例
了解更多信息
- Schema Sheets 手册
- linkml/schemasheets 代码库
- linkml/linkml 主 LinkML 仓库
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪一个,请了解更多关于 安装包的信息。
源代码发行版
schemasheets-0.3.1.tar.gz (30.6 kB 查看哈希值)
构建发行版
schemasheets-0.3.1-py3-none-any.whl (34.7 kB 查看哈希值)