【问题标题】:virtuoso-opensource: using jenaprovider, how to read data from file instead of from URL?virtuoso-opensource:使用 jenaprovider,如何从文件而不是 URL 中读取数据?
【发布时间】:2015-02-25 11:19:04
【问题描述】:

使用jena provider 为virtuoso 从 URL 加载数据非常简单。以下代码完成了这项工作:

    VirtGraph graph = new VirtGraph ("foaf", "jdbc:virtuoso://localhost:1111", "dba", "dba");

/*      Load data to Virtuoso       */

    System.out.print ("Begin read from 'http://xmlns.com/foaf/0.1/index.rdf'  ");
    graph.read("http://xmlns.com/foaf/0.1/index.rdf", "RDF/XML");

但是,当您想从本地文件加载它们时,情况就不同了。我试过这个:

    VirtGraph graph = new VirtGraph ("foaf", "jdbc:virtuoso://localhost:1111", "dba", "dba");

    graph.read("/tmp/index.rdf", "RDF/XML");
    graph.close();

但我最终得到以下异常:

com.hp.hpl.jena.shared.JenaException: virtuoso.jdbc4.VirtuosoException: HC001: Connection Error in HTTP Client

有人知道如何使用 jenaprovider 从文件中加载 rdf 吗?

配置设置 virt_jena2.jar virtjdbc4.jar

【问题讨论】:

    标签: java rdf virtuoso


    【解决方案1】:

    不要只提供文件名,而是使用file URI。例如:

    graph.read("file:///tmp/index.rdf", "RDF/XML");
    

    【讨论】:

      【解决方案2】:

      关于你的第一个例子:

      VirtGraph graph = new VirtGraph ("foaf", "jdbc:virtuoso://localhost:1111", "dba", "dba");
      graph.read("http://xmlns.com/foaf/0.1/index.rdf", "RDF/XML");
      

      它被转换为下一个 SPARQL 命令(在服务器端执行 - Sources):

      load "http://xmlns.com/foaf/0.1/index.rdf" into graph <foaf>
      

      而且此命令不允许将本地文件加载到 DBMS。 您可以使用 Jena 模型方法来加载本地文件。喜欢下一个(Jena Model reference):

        Model model = VirtModel.openDatabaseModel("load:test", "jdbc:virtuoso://localhost:1111", "dba", "dba");
        InputStream in = FileManager.get().open( nfile );
        if (in == null) {
            throw new IllegalArgumentException( "File: " + nfile + " not found");
        }
        model.read(new InputStreamReader(in), null, "N-TRIPLE");
        model.close();
      

      【讨论】:

      • 您可以在答案中添加一些链接作为参考吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-20
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      • 2021-09-26
      相关资源
      最近更新 更多