【问题标题】:How do I interact with Apache Jena locally? - MacOS如何在本地与 Apache Jena 交互? - 苹果系统
【发布时间】:2018-04-20 21:16:47
【问题描述】:

我可能只是搞错了,但我不确定如何在我的计算机上与 Apache Jena 交互。我认为我的主要问题围绕着我将文件存储在哪里以及如何运行它们。

我使用 Atom 编辑器并正常使用 Python 和 Javascript。我的目标是了解 Jena 和 Fuseki 如何工作,然后可能将 Fuseki 用于 Web 应用程序的后端。

教程An Introduction to RDF and the Jena RDF API 链接到Java files。我在桌面上的什么位置存储此文件以及如何运行它?

虽然我的问题是关于设置我的工作空间/环境,但我希望能得到有关更合适技术的反馈。


基于这个tutorial,我已经设置好了我的工作区。我有removed the package identifier from my code

现在我收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: 
org/apache/jena/rdf/model/ModelFactory at 
Tutorial01.main(Tutorial01.java:34)
Caused by: java.lang.ClassNotFoundException: 
org.apache.jena.rdf.model.ModelFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

我认为这是 JENAROOT 问题。我想我是setting it and adding it 正确的路径。也提到了here,但是我还没能解决它。

谁能指出我正确的方向?

【问题讨论】:

  • 为什么不使用 Fuseki 作为 SPARQL 端点:localhost:3030 等?关于一些常见的陷阱:stackoverflow.com/a/43475640/7879193
  • 我可能最终会使用 Fuseki,但现在我只想弄清楚如何让 Jena 启动并运行。基于answer,我从代码中删除了包标识符。现在我发现 JENAROOT 或 CLASSPATH 存在问题。一切都编译了,但是我得到了一个错误。
  • 我有一个完整的例子here github中的示例代码可能对你有帮助。

标签: macos jena semantic-web fuseki


【解决方案1】:

我通过Apache Jena support email 得到了帮助。我想我一定是在第一次使用时更改了 Jena 的环境变量造成了问题。

根据我从社区成员那里收到的脚本,我在终端中运行了一个名为 jenaJarsScript.sh 的脚本:

unset JARS
for f in $JENA_HOME/lib/*.jar
do
  JARS=$JARS:$f
  export JARS
done

然后我将 $JARS 添加到我的类路径中 - 现在我可以毫无问题地编译和运行代码。

注意:我不确定这是否是最好的设置方式,但它适合我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多