1

我正在尝试使用 Apache Jena TDB 创建 rdf 模型,所以这里是代码:

(def model (com.hp.hpl.jena.tdb.TDBFactory/createModel "/rdfrepo"))

这给了我以下错误:

Exception in thread "main" com.hp.hpl.jena.tdb.base.file.FileException: Failed to open: /rdfrepo/node2id.idn (mode=rw)

我试过添加

:resource-paths ["shared" "resources"]

projects.clj但没有做任何改变。

我对 Clojure 中的文件系统管理不是很熟悉,所以我真的需要帮助。

4

2 回答 2

2

您可以通过以下方式获取资源文件clojure.java.io/resource

(clojure.java.io/resource "css/default.css")
=>  #<URL file:/Users/yyy/xx/resources/css/default.css>

您不需要/在资源路径之前添加。

然后,您可以使用以下命令打开文件io/file

(require '[clojure.java.io :as io])
(-> "file.png" io/resource io/file) 

在您的情况下,您可以尝试传递(io/resource "rdfrepo")createModel

于 2013-10-23T18:10:50.510 回答
2

以 开头的路径/始终位于文件系统的根目录,这是您不应该尝试写入的位置。/如果没有路径上的引导,代码会工作吗?

于 2013-10-23T20:34:58.543 回答