【问题标题】:How to run a Java Sesame Application From Eclipse如何从 Eclipse 运行 Java Sesame 应用程序
【发布时间】:2013-12-27 23:35:21
【问题描述】:

我对 Java Sesame 很陌生。我试图从一些非常简单的事情开始。以下是我到目前为止所做的步骤:

1- 部署了war 文件:Tomcat Manager 中的openrdf-sesameopenrdf-workbench。 2- 创建了一个名为 Sampleopenrdf-workbench 的存储库 3- 在 Eclipse 中,我有这个代码:

import org.openrdf.repository.Repository;
import org.openrdf.repository.RepositoryConnection;
import org.openrdf.repository.RepositoryException;
import org.openrdf.repository.config.RepositoryConfigException;
import org.openrdf.repository.manager.RemoteRepositoryManager;
import java.io.File;
import org.openrdf.rio.RDFFormat;
import java.net.URL;
import org.openrdf.OpenRDFException;
import java.io.IOException;

public class RDF{

public void create() throws RepositoryConfigException, RepositoryException
{


    String serverUrl = "http://localhost:8080/openrdf-sesame";
    RemoteRepositoryManager manager = new RemoteRepositoryManager(serverUrl);
    manager.initialize();
    Repository repository = manager.getRepository("Sample");
    File file = new File("Sample_Sesame.json");
    String baseURI = "file://Sample_Sesame.json";


    try {
       RepositoryConnection con = repository.getConnection();
       try {
          con.add(file, baseURI, RDFFormat.N3);
          URL url = new URL("/Users/Documents/newsample/folder/Sample_Sesame.json");
          con.add(url, url.toString(), RDFFormat.RDFXML);
           }
       finally { con.close(); }
      }
    catch (OpenRDFException e) { // handle exception }
    catch (IOException e) { // handle io exception }
}
}

作为Java Sesame的初学者,我有两个问题,因为我在openrdf-workbench创建了存储库,我该如何在Eclipse中执行上述代码?

我的第二个问题:这是将 RDF 语句添加到存储库中的正确方法吗?我拥有的文件是一个 JSON 文件,如下所示:Sample_Sesame.json

{
 "http://example.org/about" : 
{
   "http://purl.org/dc/elements/1.1/title": [ { "type" : "literal" , "value" : "Rich's Homepage" } ]
}
}

您的帮助将不胜感激。

【问题讨论】:

    标签: java eclipse sesame


    【解决方案1】:

    要执行您的代码,您只需创建一个 main 方法:

    public static void main(String[] args) {
        RDF rdf = new RDF();
        rdf.create();
    }
    

    您的 RDF 似乎采用了 Sesame 2.7 似乎支持的 RDF/JSON 格式,因此您必须指定 RDFFormat.RDFJSON

    或者,您可以将文件转换为其他一些普遍接受的格式,例如 N-Triples。看看http://rdf-translator.appspot.com/ 并尝试将您的示例 json 复制粘贴到那里。对于输入,选择 RDF/JSON,对于输出 N-Triples。

    【讨论】:

    • 感谢您的回复。请再问一个问题。是否可以通过选择在服务器上运行来运行应用程序,或者是否有另一种有效的方式来运行它?运行应用程序后,语句是否会添加到存储库中?
    • 为什么要在服务器上运行应用程序?只需像在 Eclipse 中选择简单运行一样运行任何普通 Java 应用程序即可。是的,运行代码后,这些语句应该在存储库中。您可以通过工作台 UI 进行验证,方法是浏览存储库或发出 SPARQL 查询。
    • 好的。我将它作为应用程序运行。不幸的是,我有一个错误:线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/commons/httpclient/HttpMethod。我会尝试修复它并尽快通知您。非常感谢您的关心。
    • 你只需要包含一些芝麻依赖,看看这里:sesame-general.435816.n3.nabble.com/…
    • 好吧,您最好使用更新的 Java 版本。但如果问题确实是 Java 版本,那么错误消息可能会有所不同。如果您使用 Maven,您也不会遇到很多此类问题。设置起来并不难。
    猜你喜欢
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 2018-10-19
    • 1970-01-01
    • 2012-12-22
    • 2019-05-12
    相关资源
    最近更新 更多