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

标签 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

最佳答案

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/

相关文章:

java - SHACL与Jena,如何从形状中得到SPARQL CONSTRUCT后的模型?

java - jena 键入的文字和语言注释 - 导出时如何省略它?

python - 通过流解析 N-Triples

model - 如何使用 jena API 和 SPARQL 更新模型,例如。更新节点值

java - Protégé OWL API 编程

java - Neo4j SPARQL 查询停止工作

string - 如何编码 RDF N-Triples 字符串文字?

rdf - sparql 查询中三元组的顺序会影响结果吗?

java - 将年龄(整数文字)添加到 Jena RDF 三元组,并使用 SPARQL 对其进行查询

java - Jena 模型中 RDF 资源的 URI