2016-04-14 5 views
2

私は次の行を含むファイルdata.nq有する:同じディレクトリにバルクローダーを使ってクワッドをロードするには?

<http://example.org/a> <http://example.org/b> <http://example.org/c> . 
<http://example.org/d> <http://example.org/e> <http://example.org/f> <http://example.org/g> . 

は、blazegraph.jarは(バージョン2.1.0を使用して)があり、次の内容のファイルp.properties

com.bigdata.btree.BTree.branchingFactor=512 
com.bigdata.btree.writeRetentionQueue.capacity=4000 
com.bigdata.journal.AbstractJournal.bufferMode=DiskRW 
com.bigdata.journal.AbstractJournal.file=blazegraph.jnl 
com.bigdata.journal.AbstractJournal.initialExtent=209715200 
com.bigdata.journal.AbstractJournal.maximumExtent=209715200 
com.bigdata.namespace.kb.spo.com.bigdata.btree.BTree.branchingFactor=1024 
com.bigdata.rdf.sail.truthMaintenance=false 
com.bigdata.rdf.store.AbstractTripleStore.axiomsClass=com.bigdata.rdf.axioms.NoAxioms 
com.bigdata.rdf.store.AbstractTripleStore.justify=false 
com.bigdata.rdf.store.AbstractTripleStore.quads=true 
com.bigdata.rdf.store.AbstractTripleStore.statementIdentifiers=false 
com.bigdata.rdf.store.AbstractTripleStore.textIndex=false 
com.bigdata.rdf.store.DataLoader.commit=Incremental 
com.bigdata.service.AbstractTransactionService.minReleaseAge=1 

次に、私はbulk loaderを次のコマンドで実行します:

java -cp blazegraph.jar com.bigdata.rdf.store.DataLoader p.properties data.nq 

Ho私は次のエラーが発生します:

Reading properties: p.properties 
Will load from: data.nq 
Journal file: blazegraph.jnl 
ERROR: SPORelation.java:2303: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: context not bound: < TermId(1U), TermId(2U), TermId(3U) : Expli 
cit > 
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: context not bound: < TermId(1U), TermId(2U), TermId(3U) : Explicit > 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:188) 
    at com.bigdata.rdf.spo.SPORelation.logFuture(SPORelation.java:2298) 
    at com.bigdata.rdf.spo.SPORelation.insert(SPORelation.java:2253) 
    at com.bigdata.rdf.store.AbstractTripleStore.addStatements(AbstractTripleStore.java:4392) 
    at com.bigdata.rdf.rio.StatementBuffer$Batch.writeSPOs(StatementBuffer.java:2126) 
    at com.bigdata.rdf.rio.StatementBuffer$Batch.addStatements(StatementBuffer.java:1975) 
    at com.bigdata.rdf.rio.StatementBuffer$Batch.writeNow(StatementBuffer.java:1860) 
    at com.bigdata.rdf.rio.StatementBuffer$Batch.access$1000(StatementBuffer.java:1654) 
    at com.bigdata.rdf.rio.StatementBuffer$DrainQueueCallable.call(StatementBuffer.java:818) 
    at com.bigdata.rdf.rio.StatementBuffer$DrainQueueCallable.call(StatementBuffer.java:794) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at com.bigdata.util.concurrent.LatchedExecutor$1.run(LatchedExecutor.java:121) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.IllegalArgumentException: context not bound: < TermId(1U), TermId(2U), TermId(3U) : Explicit > 
    at com.bigdata.rdf.spo.SPOIndexWriter.call(SPOIndexWriter.java:266) 
    at com.bigdata.rdf.spo.SPOIndexWriter.call(SPOIndexWriter.java:68) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    ... 3 more 
ERROR: Banner.java:160: Uncaught exception in thread 
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: context not bound: < TermId(1U), TermId(2U), TermId(3U) : Explicit > 
    at com.bigdata.rdf.rio.StatementBuffer.flush(StatementBuffer.java:954) 
    at com.bigdata.rdf.rio.PresortRioLoader.success(PresortRioLoader.java:108) 
    at com.bigdata.rdf.rio.BasicRioLoader.loadRdf2(BasicRioLoader.java:251) 
    at com.bigdata.rdf.rio.BasicRioLoader.loadRdf(BasicRioLoader.java:176) 
    at com.bigdata.rdf.store.DataLoader.loadData4_ParserErrors_Not_Trapped(DataLoader.java:1595) 
    at com.bigdata.rdf.store.DataLoader.loadFiles(DataLoader.java:1359) 
    at com.bigdata.rdf.store.DataLoader.main(DataLoader.java:2085) 
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: context not bound: < TermId(1U), TermId(2U), TermId(3U) : Explicit > 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:188) 
    at com.bigdata.rdf.rio.StatementBuffer.flush(StatementBuffer.java:940) 
    ... 6 more 
Caused by: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: context not bound: < TermId(1U), TermId(2U), TermId(3U) : Explicit > 
    at com.bigdata.rdf.spo.SPORelation.insert(SPORelation.java:2272) 
    at com.bigdata.rdf.store.AbstractTripleStore.addStatements(AbstractTripleStore.java:4392) 
    at com.bigdata.rdf.rio.StatementBuffer$Batch.writeSPOs(StatementBuffer.java:2126) 
    at com.bigdata.rdf.rio.StatementBuffer$Batch.addStatements(StatementBuffer.java:1975) 
    at com.bigdata.rdf.rio.StatementBuffer$Batch.writeNow(StatementBuffer.java:1860) 
    at com.bigdata.rdf.rio.StatementBuffer$Batch.access$1000(StatementBuffer.java:1654) 
    at com.bigdata.rdf.rio.StatementBuffer$DrainQueueCallable.call(StatementBuffer.java:818) 
    at com.bigdata.rdf.rio.StatementBuffer$DrainQueueCallable.call(StatementBuffer.java:794) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at com.bigdata.util.concurrent.LatchedExecutor$1.run(LatchedExecutor.java:121) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: context not bound: < TermId(1U), TermId(2U), TermId(3U) : Explicit > 
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) 
    at java.util.concurrent.FutureTask.get(FutureTask.java:188) 
    at com.bigdata.rdf.spo.SPORelation.logFuture(SPORelation.java:2298) 
    at com.bigdata.rdf.spo.SPORelation.insert(SPORelation.java:2253) 
    ... 12 more 
Caused by: java.lang.IllegalArgumentException: context not bound: < TermId(1U), TermId(2U), TermId(3U) : Explicit > 
    at com.bigdata.rdf.spo.SPOIndexWriter.call(SPOIndexWriter.java:266) 
    at com.bigdata.rdf.spo.SPOIndexWriter.call(SPOIndexWriter.java:68) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    ... 3 more 

私は同じことをしますが、クワッドモードをオフに設定します。また、データセットには名前付きグラフを私はエラーを取得していないこの場合

com.bigdata.rdf.store.AbstractTripleStore.quads=false 

を、しかし:それは、p.propertiesで次のプロパティを設定されていません。

バルクローダーを使用してクワッドをロードするにはどうすればよいですか?

更新:Blazegraph documentationにこのエラーの説明があります。プロパティーファイルにプロパティーdefaultGraphを設定する必要があると言われています。したがって、プロパティファイルに次の行を追加しました。

defaultGraph=http://example.org 

同じエラーが発生しました。

答えて

2

コマンドラインには、プロパティファイルではなく、defaultGraphをオプションとして追加する必要があります。

$ java -cp blazegraph.jar com.bigdata.rdf.store.DataLoader -defaultGraph http://example.org p.properties data.nq 

(Blazegraphメーリングリストでこの質問にお答えしてくれた人に感謝します)。

+0

私はセマンティックデータに慣れていません。「defaultGraph」とはどういう意味ですか、インポートされたN-Quadデータとはどのような関係がありますか? –

+0

また、インポート後にトリプルストア内でN-Quadの4列を消費/構造化する方法は、4列のデータをすべて使用できますか?そうであれば、SPOトリプルからどのようにクエリ/構造化/再構築されますか? –

+0

@BigRich、SPARQLキーワード 'GRAPH?g {...}'を使用してクワッドデータセットのグラフ列にアクセスできます。 –

関連する問題