用于处理NIF本体、SciGraph和turtle的实用工具
项目描述
pyontutils
用于处理本体的python实用工具
安装
pyontutils
正在逐渐趋向稳定。您可以从 PyPI 获取它和其他相关软件包,并根据需要安装(例如:pip install --user pyontutils
)。如果您需要最新版本,建议您使用 pip install --user --editable .[dev,test]
在本地仓库副本中安装到您的环境中。
配置
pyontutils
使用 3 个配置文件
- ~/.config/pyontutils/config.yaml。此文件可以用来扩展 auth-config.py 中定义的变量。有关配置的更多详细信息,请参阅 orthauth 指南。
- secrets.yaml,您可以通过编辑 config.yaml 中的
auth-stores: secrets: path:
条目来将其放置在任何位置。文件权限需要设置为0600
,以确保只有您能读写它。此外,建议将其放置在权限设置为0700
的文件夹中,因为某些编辑器可能不保留文件权限。如果发生这种情况,orthauth
将会大声发出错误。 - ./nifstd/scigraph/curie_map.yaml 或 ~/.config/pyontutils/curie_map.yaml,如果没有找到
pyontutils
的 Git 仓库。在首次运行时,如果找不到本地副本,pyontutils
将从 GitHub 获取该文件的最新版本。在 auth-config.py 中指定了搜索curie_map.yaml
的所有位置。
如果您要使用 SciCrunch SciGraph 生产实例,请遵循 sparc curation 设置指南中的 说明 获取 API 密钥并将其放置在正确的位置。简而言之,您可以在您的 secrets 文件中设置密钥,并在 config.yaml 中的 scigraph-api-key
变量下指定其路径。或者,您可以使用 SCICRUNCH_API_KEY
环境变量(例如,通过运行 export SCICRUNCH_API_KEY=$(cat path/to/my/apikey)
)或其他您喜欢的方式来管理您的密钥。
开发安装
从包含此说明文件的目录运行以下命令。有关详细信息,请参阅 .travis.yml。
for f in {librdflib,htmlfn,ttlser,.,neurondm,nifstd}; do pushd $f; pip install --user --pre --editable . ; popd; done
如果您需要更多信息,sparc curation 设置文档 中有相当详尽的说明。
要求
此仓库需要 PyPy3 或 >=Python3.6。请参阅 setup.py 和 Pipfile 以获取其他要求。《ontload》需要 Java8 和 >=maven3.3 来构建 SciGraph。《parcellation》需要安装 FSL 或以其他方式获取atlases。为了构建此仓库所需的包,您需要安装 gcc(和工具链),并安装 libxml
的开发包。要构建开发依赖项,您还需要在您的系统上安装 postgresql
和 protobuf
的开发包。要构建本体论的文档,还需要 pandoc
、emacs
以及 orgstrap。请参阅 .travis.yml 以获取如何引导一个工作开发环境的示例。或者,请参阅 pyontutils-9999.ebuild 和 nifstd-tools-9999.ebuild,它们位于 tgbugs-overlay。
实用脚本
pyontutils 提供了一组脚本,这些脚本用于使用 git 维护和管理本体,并通过 SciGraph 使其可用。请注意,如果您选择开发安装选项,您需要将脚本 ln -sT
到您首选的 bin 文件夹中。有关完整列表,请参阅 文档。
- ttlfmt 使用确定性 turtle 重新序列化本体文件(规范)。
- ontutils 提供了本体处理过程中各种有用且经常需要的命令,以及较少使用的重构。
- ontload 将由 git 管理的本体加载到 SciGraph 中,以便轻松部署服务。
- qnamefix 根据给定的本体中定义的 curies 设置 qnames。
- necromancy 在本体中查找已死亡的 IDs,并将它们提升为 owl:Classes。
- scigraph-codegen 生成针对 SciGraph 服务端点的 rest 客户端。
- scig 从命令行运行针对 SciGraph 端点的查询。
- graphml_to_ttl 将 yEd graphml 文件转换为 ttl。
- ontree 运行一个 web 服务器,以查询和查看本体中的层次结构。
NIF-Ontology
其中许多脚本是为在此处找到的 NIF 标准本体编写的。
SciGraph
scigraph_codegen.py 是用于创建针对 SciGraph REST 端点的 Python 客户端库的代码生成器。scigraph_client.py 是针对 nif 开发 SciGraph 实例生成的客户端库。ontload 可用于将您的本体加载到 SciGraph 中以供本地使用。
构建版本
请参阅 release.org。
项目详细信息
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。