使用nif本体、scigraph和turtle的实用程序
pyontutils的Python项目详细描述
pyontutils
用于处理本体的python实用程序
安装
pyontutils
正慢慢接近稳定。你可以得到它和其他相关的
来自pypi的包并根据需要安装它们(例如pip install --user pyontutils
)。
如果你需要一个最新的版本,我建议把它安装到你的环境中
(虚拟或其他)使用pip install --user --editable .[dev,test]
运行自
从你的本地回购协议副本。
配置
pyontutils
使用3个配置文件:
- ~/.config/pyontutils/devconfig.yaml
默认情况下不安装。要创建它,您应该运行
ontutils devconfig --write
然后编辑它以匹配您的系统。 - secrets.yaml你可以放在任何地方
您需要编辑devconfig.yaml中的
secrets_file:
项。 文件模式需要设置为0600
,这样只有您可以读写它。 还建议将其放在模式设置为0700
的文件夹中,因为 有些编辑器不保留文件模式。pyontutils
如果发生这种情况,将大声失败。 - ./nifstd/scigraph/curie_map.yaml或
~/.config/pyontutils/curie_map.yaml
如果找不到
pyontutils
git存储库。pyontutils
将检索 如果找不到本地副本,则在首次运行时从github获取此文件的最新版本。
如果要使用scicrunch scigraph生产实例,请遵循
instructions
在sparc管理设置指南中获取api密钥并将其放在正确的位置。
或者,可以使用SCICRUNCH_API_KEY
环境变量设置键
(例如,通过运行export SCICRUNCH_API_KEY=$(cat path/to/my/apikey)
)或任何方式
意思是你更喜欢管理你的钥匙。
开发安装
从包含此自述文件的目录中运行以下命令。 有关详细信息,请参阅.travis.yml。
for f in {librdflib,htmlfn,ttlser,.,neurondm,nifstd};dopushd$f; pip install --user --pre --editable . ; popd;done
如果你需要更多的信息,这里有相当详尽的文档 位于SPARC馆藏区setup doc。
要求
此回购协议要求pypy3或>;=python3.6。
有关其他要求,请参见和setup.py和pipfile。
ontload
需要java8和>;=maven3.3才能构建scigraph。
parcellation需要FSL
要安装或需要获取atlasesin
换个方式。为了构建此回购协议所需的包,您将需要
gcc(和toolchain)已经安装,需要有
libxml
已安装。要构建开发依赖项,还需要
系统上安装的postgresql
和protobuf
的开发包。
构建本体的文档需要pandoc
和emacs
用orgstrap。见.travis.yml
例如,如何引导工作的开发环境。
实用程序脚本
pyontutils提供了一组脚本,这些脚本对于维护和管理本体非常有用。
使用git,并通过scigraph提供它们。请注意,如果您选择开发
安装选项您将需要ln -sT
脚本到您首选的bin文件夹。
有关完整列表,请参见documentation。
- ttlfmt 使用确定性Turtle(spec)重新序列化本体文件。
- ontutils 各种有用且经常需要的用于本体过程的命令,以及不太频繁的重构。
- ontload 将由git管理的本体加载到scigraph中,以方便服务的部署。
- qnamefix 基于为给定本体定义的curies设置qnames。
- necromancy 在本体中找到死的id,并再次将其提升为owl:classes。
- scigraph-codegen 根据scigraph服务端点生成rest客户机。
- scig 从命令行对scigraph端点运行查询。
- graphml_to_ttl 将yed graphml文件转换为ttl。
- ontree 运行一个web服务器来查询和查看来自本体的层次结构。
NIF本体
其中许多脚本是为处理nif标准本体而编写的。 找到here。
科学图表
py是针对 SciGraphrest端点。 scigraph_client.py是针对nif deve生成的客户端库lopment scigraph实例。 ontload可用于将本体加载到scigraph中以供本地使用。
建筑释放量
测试列表包装
for f in {htmlfn,ttlser,.,neurondm,nifstd};dopushd$f; python setup.py sdist; popd;done
从sdist构建轮子,而不是直接从repo构建轮子,因为轮子 忽略清单文件。请确保先清除所有以前的生成。
for f in {htmlfn,ttlser,neurondm,nifstd};dopushd$f/dist; tar xvzf *.tar.gz;pushd$f*/; python setup.py bdist_wheel; mv dist/*.whl ../; popd; rm ./$f*/ -r; popd;done