![](/img/trans.png)
[英]How to read a JSON file from Assests folder instead of URL in Volley
[英]virtuoso-opensource: using jenaprovider, how to read data from file instead of from URL?
使用virtuoso
jena provider
從URL加載數據非常簡單。 以下代碼可以完成這項工作:
VirtGraph graph = new VirtGraph ("foaf", "jdbc:virtuoso://localhost:1111", "dba", "dba");
/* Load data to Virtuoso */
System.out.print ("Begin read from 'http://xmlns.com/foaf/0.1/index.rdf' ");
graph.read("http://xmlns.com/foaf/0.1/index.rdf", "RDF/XML");
但是,當您要從本地文件加載它們時,情況有所不同。 我嘗試了這個:
VirtGraph graph = new VirtGraph ("foaf", "jdbc:virtuoso://localhost:1111", "dba", "dba");
graph.read("/tmp/index.rdf", "RDF/XML");
graph.close();
但是我最終遇到以下異常:
com.hp.hpl.jena.shared.JenaException: virtuoso.jdbc4.VirtuosoException: HC001: Connection Error in HTTP Client
有人對如何使用jenaprovider從文件加載rdf有任何線索嗎?
配置設置 virt_jena2.jar virtjdbc4.jar
不僅提供文件名,還使用文件URI 。 例如:
graph.read("file:///tmp/index.rdf", "RDF/XML");
關於第一個示例:
VirtGraph graph = new VirtGraph ("foaf", "jdbc:virtuoso://localhost:1111", "dba", "dba");
graph.read("http://xmlns.com/foaf/0.1/index.rdf", "RDF/XML");
它被轉換為下一個命令SPARQL(即在服務器端執行- 來源 ):
load "http://xmlns.com/foaf/0.1/index.rdf" into graph <foaf>
而且此命令不允許將本地文件加載到DBMS。 您可以使用Jena Model方法加載本地文件。 像下一個( Jena模型參考 ):
Model model = VirtModel.openDatabaseModel("load:test", "jdbc:virtuoso://localhost:1111", "dba", "dba");
InputStream in = FileManager.get().open( nfile );
if (in == null) {
throw new IllegalArgumentException( "File: " + nfile + " not found");
}
model.read(new InputStreamReader(in), null, "N-TRIPLE");
model.close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.