0

私は現在、TRIG 構文を使用して、一部のデータを抽出し、それらを Linked Data として書き込む Java コードを作成しています。現在、Jena と Fuseki を使用して SPARQL エンドポイントを作成し、このデータのクエリと視覚化を行っています。

データは、ソース データセットごとに、1 つの名前付きグラフを含む .trig ファイルを提供するように書き込まれます。それらのファイルを Fuseki にロードしたいのです。Trig構文を理解していないように見えることを除いて...

名前付きグラフを削除し、ファイルの名前を .ttl に変更すると、すべてがデフォルトのグラフに完全に読み込まれます。しかし、trig ファイルをインポートしようとすると:

  • Fuseki の webapp アップローダを使用すると、クラッシュする (「新しいグラフを作成できません」) か、既定のもの以外のグラフを追加できなかったかのように、プレフィックス以外は何も追加しません (ログには、エラー コードと説明以外は何も役に立ちません)。 )。

  • Java コードを使用すると、プロセスが遅すぎます。「 .trig ファイルを TDB にロードしていますか? 」という手法を使用しましたが、trig ファイルはかなり大きいため、この解決策はあまり適していません。

  • そこで、コンソール コマンド 'tdbloader' であるバルク ローダーを使用してみました。今回は問題ないように見えますが、webapp にはまだデータがありません。

ここでプロセスがうまくいっているのを見ることができます: Quads are added just fine

ただし、結果はデフォルトのグラフとその元のデータのみを保持します: 何も追加されません

だから、私は何をすべきかわかりません。Jena と Fuseki の背後にいる連中は、(コマンド ライン ツールではなく) Java コードでバルク ローダーを使用しないことを提案したので、それは避けたいと思う 1 つの解決策です。

TRIG ファイルを Fuseki にロードする方法について、明らかなことを見逃していませんか? ありがとう。

更新: 私の構成に問題があるように見えたので(構成ファイルへのリンクについては、この投稿のコメントを参照してください。2つ以上のリンクを投稿することはできません)、いくつかの名前付きグラフに何らかの仕様を追加しようとしましたFuseki のデータセットに追加されるのを見てみたい。

tdbloader で追加した外部グラフを (ja:namedgraph で) リンクするコードを追加しました。これはうまくいくようです。すごい!

ここで別の問題:構成ファイルで推論モデルが指定されている場合でも、推論はありません...デフォルトのグラフとしてマージされた名前付きグラフでクエリを適用するように設定しましたが、これはOWL推論ルールを実行していないようです...したがって、単純なクエリは機能しますが、1/クエリするグラフを指定する必要があり(「FROM」を使用)、2/データに推論はありません。

4

1 に答える 1

0

2 つの方法は、tdb バルクローダーをオフラインで使用する方法と、データをデータセットに直接 POST する方法です。(つまり、http://localhost:3030/dsへの HTTP POST 操作)。

次のようなクエリを使用して、グラフがどこにあるかをテストできます

SELECT (count(*) AS ?C) { GRAPH ?g { ?s ?p ?o } }

SPARQL サービスの構成で 1 つのグラフのみをエクスポートしない限り、Fuseki サーバーの起動時に名前付きグラフが表示されます。

于 2016-06-28T10:13:41.770 に答える