2016-12-23 4 views
1

Ich habe Blazegraph 2.1.1 über die Befehlszeile ausgeführt. Die Webschnittstelle funktioniert gut, ebenso viele GET-Operationen. Ich möchte einen neuen Namespace über die REST-API erstellen. Ich betreiben Blazegraph mit diesem Befehl:Blazegraph erstellt Namespace über REST API

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

Dies ist der 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> 

Immer, wenn ich dies laufe ich als Antwort bekommen, die Liste der vorhandenen Namensräume (wie bei GET), mit Postman die Antwort zeigt Header wie:

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

Wenn ich die gleiche POST gegen eine Blazegraph Instanz auf Tomcat bereitgestellt laufen, es funktioniert wie erwartet und der Namespace erstellt wird.

Muss ich etwas in der Befehlszeilenversion aktivieren, die die Erstellung von Namespaces ermöglicht? Ich benutze die gleiche Eigenschaftendatei wie die Tomcat-Instanz (allerdings ein anderes Journal). Ich habe auch versucht, die web.xml zu überschreiben, aber das hat auch keinen Unterschied gemacht.

Dies ist mein Properties-Datei:

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 

Antwort

2

Ich glaube, dass das Problem der Namensraum in dem POST-Befehl verwendet werden. Die Standard-URL für das ausführbare jar ist /blazegraph.

Können Sie das Äquivalent des folgenden Befehls versuchen?

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

Vielen Dank @Brad! Es sind die kleinen Dinge. Er hat mir eine Menge Frust erspart. – Wolfgang