我使用Jena FileManager从本地rdf文件加载模型。 java代码在Eclipse中正确运行。但是当我从matlab调用这个java类时。
部分源代码如下:
public static Set<String> getSubjectsRelatedToProperty(String filePath) throws IllegalArgumentException, URISyntaxException {
// read the resourceMap
FileManager fm = FileManager.get();
model = fm.loadModel(filePath);
return result_set;
}
我收到的错误如下。
--------------
Error Details:
--------------
Error using org.mycom/view (line 961)
Java exception occurred:
com.hp.hpl.jena.shared.NotFoundException: Not found: /Users/runs/1/abc.rdf
at com.hp.hpl.jena.util.FileManager.readModelWorker(FileManager.java:378)
at com.hp.hpl.jena.util.FileManager.loadModelWorker(FileManager.java:297)
at com.hp.hpl.jena.util.FileManager.loadModel(FileManager.java:248)
at org.mycom.QueryResourceMap.getSubjectsRelatedToProperty(QueryResourceMap.java:32)
答案 0 :(得分:0)
eclipse项目的根目录与matlab项目位于不同的位置。这是我能想到的唯一问题。您提供的文件路径/Users/runs/1/abc.rdf
包含一个前导斜杠,这意味着文件搜索从应用程序的根目录开始。我可能会给出一个绝对的文件路径,比如C:/example/example/abc.rdf
。这样,无论你给文件路径指定什么程序,都可以找到该文件。
或者,只需在Matlab目录中手动创建文件路径即可。所以转到你的matlab项目根目录并创建一个Users
文件夹,然后创建一个runs
文件夹等......