【问题标题】:Insert SPARQL query with Java jena to upload triples in fuseki使用 Java jena 插入 SPARQL 查询以在 fuseki 中上传三元组
【发布时间】:2017-04-23 07:29:13
【问题描述】:

我正在尝试使用 jena 框架在我的 Java Web 应用程序中创建一个 INSERT 查询。我想将一些三元组插入到我的 Fuseki 三元组存储中的特定命名图。 我试过使用下面的代码

UpdateRequest update = UpdateFactory.create("INSERT DATA { graph <http://graph/my> { "+ string_triples + "}}");
UpdateProcessor processor = UpdateExecutionFactory.createRemote(update, "http://fusekidomain/ds/sparql");
processor.execute();

但它不起作用,我收到“java.lang.ClassNotFoundException: org.apache.http.protocol.HttpContext”错误。

我猜我的代码中遗漏了一些东西,但我不确定它是什么。

【问题讨论】:

  • java.lang.ClassNotFoundException 与您的代码无关,而是与 Java 类路径有关,即您在那里拥有哪些库。如果您使用 Jena,则必须将 Jena 发行版中的 所有库 添加到类路径或 使用 Maven(分别为 Gradle)

标签: java sparql jena fuseki


【解决方案1】:

java.lang.ClassNotFoundException : 程序的类路径中至少缺少一个 jar。

要么使用 maven 或其他构建工具来管理依赖项,要么将 Jena 分发 lib 目录中的所有 jars 放在类路径中。

【讨论】:

    【解决方案2】:

    检查项目中可能存在的依赖冲突。有时,当另一个依赖项未使用由另一个依赖项导入的相同版本的库时会发生此错误(请参阅post)。

    如果你的项目是maven项目,可以用命令列出所有依赖:
    mvn dependency:tree -Dverbose

    希望对你有帮助;)

    【讨论】:

      【解决方案3】:

      感谢两位的回答。事实证明我确实错过了一些罐子,而且我有一个重复的罐子,因此没有找到类异常。当我添加它们时,它工作正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多