【问题标题】:How to start Fuseki server using Java code and upload OWL file to it using java code?如何使用 Java 代码启动 Fuseki 服务器并使用 Java 代码将 OWL 文件上传到它?
【发布时间】:2014-07-26 16:48:16
【问题描述】:

我想使用 Java 代码启动 Fuseki 服务器。然后我想将 OWL 文件上传到其中。现在我开始使用以下 CMD 代码并手动上传文件。有没有可能使用 Java 代码来做到这一点? 使用 CMD 的服务器启动代码。

    D:
    cd Fuseki
    cd jena-fuseki-1.0.1
    fuseki-server --update --mem /ds

是否有任何可能的方法可以在 JAVA 代码中运行上述代码并将 OWL 文件上传到 Fuseki 服务器?

【问题讨论】:

  • 是否有任何可能的方式在 JAVA 代码中运行上述代码并将 OWL 文件上传到 Fuseki 服务器? 另一个问题的答案是“是的,但这不是真的支持的。”你没有表现出任何特别的尝试或提到任何技术困难,所以除此之外,我们真的无法提供更多帮助。
  • 另见How do I start a Fuseki server from Jena API Eclipse project?,其中 AndyS 指出您可以直接调用 fuseki 的 main 方法(就像任何其他 Java 应用程序一样)。
  • @JoshuaTaylor 谢谢。我会看到的。由于对 Maven 和其他东西一无所知,我不得不看那些东西。实际上,如果可以提供在 java 类中运行上述代码的可能方式。目前,每次我想启动服务器时,我都会将这些内容复制到 CMD 并运行。

标签: java cmd jena owl fuseki


【解决方案1】:

解决方案的核心思想是使用 Jena ARQ API。 您需要使用类com.hp.hpl.jena.query.DatasetAccessor.putModel() 方法。

此博客https://pinesong.ghost.io/how-to-upload-rdf-file-to-jena-fuseki-server-using-java-code 提供了详细信息。

【讨论】:

【解决方案2】:

这可以使用 fuseki 作为嵌入式服务器来完成。您可以选择使用 Jena 附带的三重存储 TDB 的持久性,也可以创建内存模型。我将展示前者的情况,但后者的想法保持不变。

//Creating a persistent triple store (Jena TDB)
String dir = "C:\\..."; // triplestore directory
Dataset dataset = TDBFactory.createDataset(dir);

//Loading an ontology stored on the disk
String ontDir = "C:\\...ontology.owl"; //Directory of your OWL file
Model graph = RDFDataMgr.loadModel(ontDir);

dataset.addNamedModel("graph", graph);

// Starting the fuseki server
FusekiServer fusekiServer = FusekiServer.create()
            .port(3001)
            .add("/ds", dataset, true)
            .build();

fusekiServer.start();

【讨论】:

    猜你喜欢
    • 2017-08-23
    • 2016-06-19
    • 2015-07-23
    • 2016-11-03
    • 1970-01-01
    • 2023-03-05
    • 2014-11-16
    • 1970-01-01
    • 2016-12-28
    相关资源
    最近更新 更多