我正在使用Jena进行一个带有Python环境的项目 . 为了执行单元测试,我们开发了一种为每个单元测试自动创建数据集的方法(有点蛮力,但暂时对我们来说足够了) . 为此,我们使用Fuseki服务器协议:https://jena.apache.org/documentation/fuseki2/fuseki-server-protocol.html,并通过HTTP操作管理我们的数据集 .
对于数据集的基本配置,它可以完美地工作 . 现在,随着项目的进展,我们创建了自己的推理器,我们希望我们的数据集能够使用特定“规则”文件中描述的规则 . 我可以轻松地(或几乎 - >因为我们正在使用stain / fuseki Docker容器)手动完成,但我不知道如何使用Fuseki Server Protocol .
显然,可以通过POST操作发送数据集的Turtle或RDF描述,这对我们来说是完美的!但我没有找到该怎么做(在源代码中:https://github.com/apache/jena/blob/cc038809fb622779933831011909714e22ef494c/jena-fuseki2/jena-fuseki-core/src/main/webapp/js/app/templates/dataset-simple-create.tpl,似乎这种可能性已被评论/禁用) .
有人能告诉我他们是否能够将数据集的RDF或Turtle描述发送到Jena服务器,如果可能的话,可以使用curl命令吗?
1 回答
直接API使用应该有效(将汇编程序文件POST到
/datasets
,包括在正文中设置RDF synatx的Content-type
,例如text/turtle
) . 模板尚未实施 .代码在ActionDatasets.java .
Fuseki的嵌入式版本可用于测试,如果基于JVM,则在与测试套件相同的过程中运行服务器 . 它还可以在外部进程快速启动和停止,并且没有必需的磁盘状态 - 只需使用所需服务的配置文件启动它 .
https://jena.apache.org/documentation/javadoc/fuseki2-embedded/index.html
它可以在测试套件中配置,然后根据需要启动/停止 .
用法示例:https://github.com/apache/jena/blob/master/jena-integration-tests/src/test/java/org/apache/jena/test/rdfconnection/TestRDFConnectionRemote.java