【发布时间】:2023-04-09 22:29:02
【问题描述】:
我正在尝试制作一个 foaf 文件:
import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;
public class Testbed {
public static void main(String[] args) {
Model model = ModelFactory.createDefaultModel();
try {
model.read("http://www.csail.mit.edu/~lkagal/foaf", "RDF/XML");
}
catch(Exception ex) {
System.out.println(ex.toString());
}
}
}
我收到以下异常:
org.apache.jena.riot.RiotException: [line: 1, col: 50] 空格 publicId 和 systemId 之间是必需的。
我不明白这个异常是什么意思。我该如何解决。我是否使用了错误的格式(看起来不像“TURTLE”或任何其他格式)?
我的环境(Windows 10 x64,apache-jena-3.1.1):
java 版本 "1.8.0_112" Java(TM) SE Runtime Environment (build 1.8.0_112-b15) Java HotSpot(TM) 64 位服务器虚拟机(内部版本 25.112-b15,混合模式
【问题讨论】:
-
您的代码在我的机器上运行良好。你确定你的错误,因为给定 URL 的文件没有 1:50 字符。
-
在两台不同的电脑上测试过同样的错误。
-
这可能是引用文件的错误吗?
-
我可以用 jena 3.1.1 重现您的问题,但它适用于 jena 3.1.0。因此,直接的解决方法可能是降级 Apache Jena(如果可能的话)。
标签: java rdf apache-jena foaf