我对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.
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我有什么不对吗?
这是N-TRiple我试图加载的文件的链接:http://dbpedia.org/data/Berlin.ntriples
read(inputStream, string)使用字符串参数作为基本URI,而不是语法语言.它正在尝试默认,即RDF/XML.有关更多信息,请检查javadoc for Model#read(InputStream in,String base)和Model#read(InputStream in,String base,String lang).
model.read(inputStream, null, "N-TRIPLES") ;
Run Code Online (Sandbox Code Playgroud)
要么
RDFDataMgr.read(model, inputStream, LANG.NTRIPLES) ;
Run Code Online (Sandbox Code Playgroud)
如果您只是从文件(或URL)打开流,那么Apache Jena将整理细节.例如,
RDFDataMgr.read(model, "file:///myfile.nt") ;
Run Code Online (Sandbox Code Playgroud)
有各种相关的操作.请参阅Model和RDFDataMgr的javadoc .