通过HTTP

时间:2018-03-22 13:22:36

标签: http dataset jena fuseki

我正在使用Jena进行一个带有Python环境的项目。为了执行单元测试,我们开发了一种为每个单元测试自动创建数据集的方法(有点蛮力,但暂时对我们来说足够了)。为此,我们使用Fuseki服务器协议:https://jena.apache.org/documentation/fuseki2/fuseki-server-protocol.html,并通过HTTP操作管理我们的数据集。

对于数据集的基本配置,它可以很好地工作。 现在,随着项目的进展,我们创建了自己的推理器,我们希望我们的数据集能够使用特定规则中描述的规则"文件。 我可以轻松地(或几乎 - >因为我们手动使用stain / fuseki Docker容器),但我不知道如何使用Fuseki服务器协议。

显然,可以通过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 个答案:

答案 0 :(得分:2)

直接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