我对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。查看javadoc的model# read(InputStream in, String base)和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") ;
有各种相关的操作。查看javadoc中Model和RDFDataMgr