我正在尝试在我的机器上创建一个 Fuseki SPARQL 服务器。Jena 网站上的文档描述了如何从命令行创建这样的服务器,这里是:http: //jena.apache.org/documentation/serving_data/。我正在寻找一种仅使用 Jena Java API 创建和初始化此类服务器的方法。我已经查看了 Jena API,但在确定如何进行方面没有取得任何进展。有没有人这样做过?
问问题
3514 次
2 回答
3
如果你使用
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
<type>pom</type>
<version>2.11.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-fuseki</artifactId>
<version>1.0.2-SNAPSHOT</version>
</dependency>
您可以启动嵌入式服务器。
Dataset dataset = TDBFactory.createDataset(MagicStrings.TDBLocation);
dataset.begin(ReadWrite.WRITE);
Model tdb = dataset.getDefaultModel();
EmbeddedFusekiServer server = EmbeddedFusekiServer.
create(3030,getDataset().asDatasetGraph(), "comp");
于 2014-04-02T08:10:44.197 回答
2
是的,这是可能的,但这不是 Fuseki 的设计方式,因此您需要自担风险。
您需要通过 maven 将 Fuseki 作为依赖项引入,如下所示:
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-fuseki</artifactId>
<version>0.2.7</version>
</dependency>
然后,您可以使用SPARQLServer
该类来创建服务器并调用start()
以实际运行服务器以及stop()
完成时。(位于org.apache.jena.fuseki.server
包装内)
重要的是要注意,如果您这样做,服务器将嵌入在您启动它的 JVM 中,当该 JVM 关闭时,服务器也会关闭。这可能是您的意图,但可能不是。
顺便说一句,您的问题不清楚您为什么要这样做?如果您进一步解释您的目标,可能有其他方法可以在不嵌入 Fuseki 的情况下实现您的目标
于 2013-08-28T16:20:38.377 回答