问题描述
我有许多海龟文件,每个文件都需要使用每个文件的命名图上传到三元组存储中。
我正在研究 Blazegraph 和 GraphDB。对于两者,我都可以上传海龟文件:
File file = new File("path-to-file.ttl");
//Blazegraph
RDFConnection myconnection = RDFConnectionFactory.connect("http://localhost:9999/blazegraph/namespace/kb/update");
Model model = ModelFactory.createDefaultModel();
model = model.read(new FileInputStream(file.getAbsolutePath()),null,"TTL");
myconnection.load(model);
myconnection.close();
// GraphDB
Repository repository = new SPARQLRepository("http://localhost:7200/repositories/myrepo/statements");
RepositoryConnection connection = repository.getConnection();
connection.add(file);
connection.close();
三元组被加载到默认图中,但我希望它们被加载到每个文件的命名图中。
我尝试将命名空间添加到端点 URL,但这不起作用。
Blazegraph:用我自己的命名空间替换默认命名空间“kb”,但它抱怨命名空间不存在。当我在 WebUI 中创建命名空间时它起作用,这在以后是不可行的。
RDFConnection myconnection = RDFConnectionFactory.connect("http://localhost:9999/blazegraph/namespace/MYNAMESPACE/update");
ERROR: BigdataRDFServlet.java:216: cause=java.util.concurrent.ExecutionException: org.openrdf.repository.RepositoryException: org.openrdf.sail.SailException: com.bigdata.rdf.sail.webapp.DatasetNotFoundException: namespace=MYNAMESPACE,query=INSERT-WITH-BODY: baseURI=http://localhost:9999/blazegraph/namespace/MYNAMESPACE/update/data,Content-Type=application/n-triples,context-uri=[]
java.util.concurrent.ExecutionException: org.openrdf.repository.RepositoryException: org.openrdf.sail.SailException: com.bigdata.rdf.sail.webapp.DatasetNotFoundException: namespace=MYNAMESPACE
GraphDB:将命名图添加到端点 url,导致 HTTP 405。
Repository repository = new SPARQLRepository("http://localhost:7200/repositories/myrepo/rdf-graph/MYGRAPH/statements");
Exception in thread "main" org.eclipse.rdf4j.repository.RepositoryException: error executing transaction
at org.eclipse.rdf4j.repository.sparql.SPARQLConnection.commit(SPARQLConnection.java:421)
at org.eclipse.rdf4j.repository.base.AbstractRepositoryConnection.conditionalCommit(AbstractRepositoryConnection.java:323)
at org.eclipse.rdf4j.repository.sparql.SPARQLConnection.add(SPARQLConnection.java:478)
at org.eclipse.rdf4j.repository.RepositoryConnection.add(RepositoryConnection.java:907)
Caused by: org.eclipse.rdf4j.query.UpdateExecutionException: Request method 'POST' not supported (HTTP status 405)
at org.eclipse.rdf4j.repository.sparql.query.SPARQLUpdate.execute(SPARQLUpdate.java:47)
at org.eclipse.rdf4j.repository.sparql.SPARQLConnection.commit(SPARQLConnection.java:419)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)