Blazegraph通过REST API创建命名空间

时间:2016-12-23 11:16:23

标签: rest api namespaces blazegraph

我从命令行运行Blazegraph 2.1.1。 Web界面工作正常,许多GET操作也是如此。我想通过REST API创建一个新的命名空间。我用这个命令运行Blazegraph:

java -server -Xmx4g -Dbigdata.propertyFile=RWStore.properties -jar blazegraph.jar

这是POST:

http://localhost:9999/bigdata/namespace

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="com.bigdata.rdf.sail.namespace">MY_NAMESPACE</entry>
<entry key="com.bigdata.rdf.store.AbstractTripleStore.quads">false</entry>
<entry key="com.bigdata.rdf.store.AbstractTripleStore.axiomsClass">com.bigdata.rdf.axioms.OwlAxioms</entry>
<entry key="com.bigdata.rdf.sail.truthMaintenance">true</entry>
</properties>

每当我运行它时,我得到现有命名空间列表的响应(与GET相同),Postman将响应头显示为:

Content-Type →application/rdf+xml
Server →Jetty(9.2.z-SNAPSHOT)
Transfer-Encoding →chunked

当我针对部署在Tomcat上的Blazegraph实例运行相同的POST时,它按预期工作并创建命名空间。

我是否需要在命令行版本中启用允许创建命名空间的内容?我使用与Tomcat实例相同的属性文件(尽管不同的日志)。我也尝试重写web.xml,但这也没有什么区别。

这是我的属性文件:

com.bigdata.journal.AbstractJournal.file=C:/Development/Ontology/BlazegraphServer/bigdata.jnl
com.bigdata.journal.AbstractJournal.bufferMode=DiskRW
com.bigdata.service.AbstractTransactionService.minReleaseAge=1
com.bigdata.btree.writeRetentionQueue.capacity=4000
com.bigdata.btree.BTree.branchingFactor=128
com.bigdata.journal.AbstractJournal.initialExtent=209715200
com.bigdata.journal.AbstractJournal.maximumExtent=209715200
com.bigdata.rwstore.RWStore.readBlobsAsync=false
com.bigdata.rdf.store.DataLoader.closure=None
com.bigdata.rdf.sail.truthMaintenance=true
com.bigdata.rdf.store.AbstractTripleStore.quads=false
com.bigdata.rdf.store.AbstractTripleStore.statementIdentifiers=true
com.bigdata.rdf.store.AbstractTripleStore.textIndex=true
com.bigdata.rdf.store.AbstractTripleStore.axiomsClass=com.bigdata.rdf.axioms.OwlAxioms
com.bigdata.namespace.kb.lex.com.bigdata.btree.BTree.branchingFactor=400
com.bigdata.namespace.kb.spo.com.bigdata.btree.BTree.branchingFactor=1024

1 个答案:

答案 0 :(得分:2)

我认为问题可能是POST命令中使用的命名空间。可执行jar的默认URL是 / blazegraph

您可以尝试下面的命令吗?

curl -X POST -H 'Content-type: application/xml' --data @ns.xml http://localhost:9999/blazegraph/namespace