公平数据点的Python实现
fairdatapoint的Python项目详细描述
公平数据点(FDP)
公平数据点的Python实现。在
FDP是一个restfulweb服务,它使数据所有者能够描述和公开他们的数据集(元数据),并且数据用户可以根据FAIR Data Guiding Principles来发现有关可用数据集的更多信息。特别是,FDP通过在四个层次上提供机器可读的描述(元数据)来解决数据的可查找性或可发现性:
FDP->;目录->;数据集->;分布
可以找到FDP软件规范here
FDP已在以下领域实施:
安装
要安装FDP,请执行以下操作:
来自pypi
pip install fairdatapoint
或者从这次回购中
^{pr2}$跑步
fdp-run localhost 80
为FDP服务启用了Swagger UI,您可以通过访问http://localhost/ui来尝试。在
单元测试
运行测试(包括覆盖率):
pip install .[tests] pytest
TODO:在此处包含指向项目完整文档的链接。在
使用Docker部署
无Docker部署
在部署FDP之前,首先需要有一个正在运行的SPARQL数据库。在
pip install fairdatapoint
# fdp-run <host> <port> --db=<sparql-endpoint>
fdp example.com 80 --db='http://dbpedia.org/sparql'
Web API文档
公平数据点(FDP)公开以下终结点(URL路径):
Endpoint | GET | POST | PUT | DELETE |
---|---|---|---|---|
fdp | Output fdp metadata | Create new fdp metadata | Update fdp metadata | Not Allowed |
catalog | Output all catalog IDs | Create new catalog metadata | Not Allowed | Not Allowed |
dataset | Output all dataset IDs | Create new dataset metadata | Not Allowed | Not Allowed |
distribution | Output all distribution IDs | Create new distribution metadata | Not Allowed | Not Allowed |
catalog/<catalogID> | Output <catalogID> metadata | Not Allowed | Update <catalogID> metadata | Remove <catalogID> metadata |
dataset/<datasetID> | Output <datasetID> metadata | Not Allowed | Update <datasetID> metadata | Remove <datasetID> metadata |
distribution/<distributionID> | Output <distributionID> metadata | Not Allowed | Update <distributionID> metadata | Remove <distributionID> metadata |
访问端点以编程方式请求元数据
FDP:curl -iH 'Accept: text/turtle' [BASE URL]/fdp
目录:curl -iH 'Accept: text/turtle' [BASE URL]/catalog/catalog01
数据集:curl -iH 'Accept: text/turtle' [BASE URL]/dataset/dataset01
分布:curl -iH 'Accept: text/turtle' [BASE URL]/distribution/dist01
FDP支持以下RDF序列化(MIME类型):
- 乌龟:
text/turtle
- N-三元组:
application/n-triples
- N3:
text/n3
- RDF/XML:
application/rdf+xml
- JSON-LD:
application/ld+json
贡献
如果您想为FAIR Data Point的开发做出贡献, 看看contribution guidelines。在
许可证
版权所有(c)2019
根据Apache许可证2.0版(“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意 根据许可证分发的是“按原样”分发的, 没有任何明示或暗示的保证或条件。 有关管理权限和的特定语言,请参阅许可证 许可证下的限制。在
学分
这个包是用Cookiecutter和NLeSC/python-template创建的。在
- 项目
标签: