我对 RDF 和 Jena 很陌生。我想将一个 .nt (N-TRIPLE)
文件加载到模型中。我试过 read(inputStream, "N-TRIPLE")
但没有帮助。
它抛出
org.apache.jena.riot.RiotException: Element or attribute do not match QName production: QName::=(NCName':')?NCName.
谁能指出我哪里出了问题?
这是我尝试加载的 N-TRiple
文件的链接:http://dbpedia.org/data/Berlin.ntriples
最佳答案
read(inputStream, string)
使用字符串参数作为基本 URI,而不是语法语言。它正在尝试默认设置,即 RDF/XML。检查 Model#read(InputStream in, String base) 的 javadoc和 Model#read(InputStream in, String base, String lang)获取更多信息。
model.read(inputStream, null, "N-TRIPLES") ;
或
RDFDataMgr.read(model, inputStream, LANG.NTRIPLES) ;
如果您只是从文件(或 URL)打开流,Apache Jena 将整理出详细信息。例如,
RDFDataMgr.read(model, "file:///myfile.nt") ;
还有各种相关的操作。请参阅 Model 的 javadoc和 RDFDataMgr .
关于jena - 如何在 apache jena 中加载 N-TRIPLE 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23978172/