1

皆様、2015年明けましておめでとうございます!

私は Jena の初心者であり、RDF 処理ツールを使用して最初に行うことは、いくつかのデータをいくつかの別個のグラフにロードして、後で SPARQL アクセスをテストすることです。

My env is YOSEMITE with Java 1.8 (JDK 1.8)

次のコマンド ラインを使用して、RDF データ セットをロードしたいと思います。ここでは、「pp_project_semweb.rdf」という名前のファイルをhttp://semweb.ch/SEMWEBという名前のグラフにロードします。

tdbloader --tdb=jenatest.ttl --verbose

そして、次のアセンブラー ファイル:

@prefix dc:      <http://purl.org/dc/elements/1.1/> .
@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .

[] ja:loadClass "com.hp.hpl.jena.tdb.TDB" .
tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
tdb:GraphTDB    rdfs:subClassOf  ja:Model      .

<#dataset> rdf:type tdb:DatasetTDB ;
    tdb:location "DB" ;
    ja:namedGraph
        [ ja:graphName      <http://semweb.ch/SEMWEB> ;
          ja:graph          <#graph_semweb> ] ;
  .
<#graph_semweb> a ja:MemoryModel ;
      ja:content [ja:externalContent <file:/Users/fabio/Documents/workspace/JenaPrototype/Assembling/JenaRDFData/thesauri/pp_project_semweb.rdf>] ;
    .

ローダーが言うことは次のとおりです。

Java maximum memory: 954728448
symbol:http://jena.hpl.hp.com/ARQ#constantBNodeLabels = true
symbol:http://jena.hpl.hp.com/ARQ#regexImpl = symbol:http://jena.hpl.hp.com/ARQ#javaRegex
symbol:http://jena.hpl.hp.com/ARQ#stageGenerator = com.hp.hpl.jena.tdb.solver.StageGeneratorDirectTDB@313ac989
symbol:http://jena.hpl.hp.com/ARQ#strictSPARQL = false
symbol:http://jena.hpl.hp.com/ARQ#enablePropertyFunctions = true
13:41:53 INFO  loader               :: -- Start triples data phase
13:41:53 INFO  loader               :: ** Load empty triples table
13:41:53 INFO  loader               :: -- Start quads data phase
13:41:53 INFO  loader               :: ** Load empty quads table
13:41:53 INFO  loader               :: Load: - -- 2015/01/02 13:41:53 CET

次に、tdbloader がブロックされます...CPU を消費せず、永遠に待つことができます...

ここで何が間違っているのか誰か知っていますか?

その上でいくつかのログファイルをデバッグまたは確認できるかどうか教えてください。

事前にどうもありがとうございました!!!

敬具

4

1 に答える 1

2

ロードするものを明示的に提供していないだけです。この状況では、 から に到達するまでtdbloaderトリプルがかかります。終了する送信の終了を通知するものを入力してみてください。<STDIN>EOFctrl-d

あなたがやろうとしていることを考えると、必要なのは次のとおりです。

$ tdbloader2 --loc DB /Users/fabio/Documents/workspace/JenaPrototype/Assembling/JenaRDFData/thesauri/pp_project_semweb.rdf

(tdbloader2 は同じツールのより高速なバリアントでありDB、rdf データベースを保持するディレクトリです)

次に、次を使用してクエリを実行できます。

$ tdbquery --loc DB --query my_query_file.rq
于 2015-01-02T18:01:46.990 に答える