如何在apache jena中加载N-TRIPLE文件?

时间:2014-06-01 08:50:52

标签: jena n-triples

我是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

1 个答案:

答案 0 :(得分:7)

read(inputStream, string)使用字符串参数作为基URI,而不是语法语言。它正在尝试默认,即RDF / XML。检查Model#read(InputStream in, String base)Model#read(InputStream in, String base, String lang)的javadoc以获取更多信息。

model.read(inputStream, null, "N-TRIPLES") ;

RDFDataMgr.read(model, inputStream, LANG.NTRIPLES) ;

如果您只是从文件(或URL)打开流,那么Apache Jena将整理细节。如,

RDFDataMgr.read(model, "file:///myfile.nt") ;

有各种相关的操作。请参阅ModelRDFDataMgr的javadoc。