【发布时间】:2017-05-11 16:24:45
【问题描述】:
我在 Scala 中有 created a blazegraph RDF4J repository and connection:
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 文件 like this:
Rio.write(model, System.out, RDFFormat.RDFXML);
但如果我尝试用 cxn 或 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)单位不能应用于 (com.bigdata.rdf.sail.BigdataSailRepository, java.io.FileOutputStream, org.openrdf.rio.RDFFormat)。
如何从我所拥有的 repo 和连接中获得Rio.write() 期望的模型?或者我可以用其他方式转储三元组吗?
【问题讨论】:
-
cxn只是一个连接,不是吗?你认为这应该如何被丢弃?有关所有写入方法,请参阅docs.rdf4j.org/javadoc/latest/org/eclipse/rdf4j/rio/Rio.html 我看不到任何将整个存储库转储到文件的内容。至少在 RIO 类中没有。 -
是的,我猜想转储连接是一个远景。不过,我希望存储库有一些东西。感谢您的检查。我还从 com.bigdata 导入了一些 Blazegraph 的方法。我想我接下来会去那里看看。
-
也许有一些 CLI 工具,例如对于 MySQL?您绝对应该在邮件列表中询问 Blazegraph 支持。我很确定他们可以帮助你
标签: scala sparql rdf blazegraph rdf4j