I have 创建了 blazegraph RDF4J 存储库和连接 https://wiki.blazegraph.com/wiki/index.php/Sesame_API_Tutorial在斯卡拉中:
val props = new Properties()
props.put(Options.BUFFER_MODE, BufferMode.DiskRW)
props.put(Options.FILE, "embedded.jnl")
var sail = new BigdataSail(props)
var repo = new BigdataSailRepository(sail)
repo.initialize()
var cxn = repo.getConnection()
我可以添加语句、检索 SPARQL 结果等。
现在我想将存储库的内容转储到 RDF 文件中,像这样 http://docs.rdf4j.org/rdf-tutorial/#_reading_and_writing_rdf:
Rio.write(model, System.out, RDFFormat.RDFXML);
但如果我尝试替代我的cxn
or repo
对于预期的模型参数,Eclipse 抱怨:
重载方法值写入与替代方案:(x$1:
可迭代[org.openrdf.model.Statement],x$2: java.io.Writer,x$3:
org.openrdf.rio.RDFFormat)单位 (x$1:
可迭代[org.openrdf.model.Statement],x$2: java.io.OutputStream,x$3:
org.openrdf.rio.RDFFormat)Unit 不能应用于
(com.bigdata.rdf.sail.BigdataSailRepository,java.io.FileOutputStream,
org.openrdf.rio.RDFFormat)。
如何从我拥有的存储库和连接中获得预期的模型Rio.write()
?或者我可以用其他方式转储三元组吗?
这里描述得很好http://docs.rdf4j.org/programming/ http://docs.rdf4j.org/programming/第 3.2.8 点。使用 RDFHandler
import org.eclipse.rdf4j.rio.Rio;
import org.eclipse.rdf4j.rio.RDFFormat;
import org.eclipse.rdf4j.rio.RDFWriter;
try (RepositoryConnection conn = repo.getConnection()) {
RDFWriter writer = Rio.createWriter(RDFFormat.TURTLE, System.out);
conn.prepareGraphQuery(QueryLanguage.SPARQL,
"CONSTRUCT {?s ?p ?o } WHERE {?s ?p ?o } ").evaluate(writer);
}
而不是 System.out 写入文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)