1

RDF4J Workbench 2.1.2 を使用しています。

System Information
Application Information
Application Name    RDF4J Workbench
Version 2.1.2
Runtime Information
Operating System    Windows 10 10.0 (amd64)
Java Runtime    Oracle Corporation Java HotSpot(TM) 64-Bit Server VM (1.8.0_111)
Process User    gwcox
Memory
Used    315 MB
Maximum 889 MB

私が取り組んでいるオントロジーを含む一連の RDF ファイルがあります。一部の RDF ファイルは他のファイルをインポートします。たとえば、インスタンス化オントロジー/RDF ファイルは、クラスと関係を定義するいくつかのオントロジーをインポートします。

RDF ファイルは、それらを識別するために使用される URI ではなく、ローカルに保存されます。開発とデバッグの過程で、リポジトリをクリアし、オントロジーを再ロードする必要があることがよくあります。現在、完全な機能を得るには、6 つのオントロジーをロードする必要があります。

ローカルファイルとして保存されている複数のオントロジーを RDF4J ワークベンチのアクティブなリポジトリにロードするにはどうすればよいですか? RDF4J ワークベンチ自体またはコマンド ライン スクリプトを使用してロードを行うことができます。ワークベンチから [変更/追加] コマンドを手動で複数回使用できることはわかっていますが、時間を節約してエラーを回避するために、コマンドを 1 つに減らしたいと考えています。

ありがとう。

4

2 に答える 2

1

Jeen Broekstra の回答を詳しく説明するために、コンソール スクリプトを使用します。これが私の特定のスクリプトです(loadMyOntologies.txt):

connect "http://localhost:8088/rdf4j-server"
open TakeRDF4J4SPIN
clear
load "C:\Users\Greg\TBCFreeWorkspace\NSC_2025_Sharing\soo.rdf"
load "C:\Users\Greg\TBCFreeWorkspace\NSC_2025_Sharing\Instantiations.rdf"
exit

Apache Tomcat サーバーが実行されるポートを 8088 に変更したことに注意してください。

もちろん、他のバージョンでは、リポジトリの名前 (open コマンド引数) とオントロジーへのパスが異なります。

load使用しているオントロジーの数が増えるにつれて、さらにコマンドを追加します。また、デフォルトのコンテキスト/グラフで作業しているためurn:context、Jeen に含まれているオプションを省略しました。

loadMyOntologies.batWindows 8 で作業しているため、単純なバッチ ( ) ファイルを介して上記にアクセスします。

.\console.bat < loadMyOntologies.txt

バッチ ファイルとテキスト ファイルは、RDF4J の bin ディレクトリ (パスは以下に省略) にあります (その Jeenconsole.batの Windows バージョン):console.sh

c:\Users\Greg\...\eclipse-rdf4j-2.0.1\bin

RDF4J ワークベンチで、このスクリプトをワークベンチでの作業と組み合わせることができることを確認しました。特に、より多くのオントロジーを組み合わせてより大きな問題を解決する場合、スクリプトによってかなりの時間を節約できます。

注意深く見ていると、この例のRDF4Jのバージョン (2.0.1) が、最初に投稿したバージョン (2.1.2) よりも古いことに気付くかもしれませんまだ更新していない別のマシンで仕上げていますが、動作します! この解決策は、他のマシンの新しいバージョンにも適用されると確信しています。

于 2016-11-30T02:00:55.207 に答える
1

RDF4J Workbench 自体には、一度に複数のファイルを追加する機能はありません。

ただし、これを繰り返し実行する必要がある場合は、コンソールを使用して短いバッチ スクリプトを作成するのが簡単な方法です。スクリプトは、一連のコンソール コマンド (1 行に 1 つ) を含む単純なテキスト ファイルです。例えば:

open myRepository
clear
load /path/to/file1.rdf into urn:context1
load /path/to/file2.rdf into urn:context2

次に、(コマンドラインから)次のように実行するだけでこれを実行できます。

cat script.txt | ./console.sh 

目的を達成するもう 1 つの方法は、curl を使用し、そのREST APIを介して RDF4J サーバーに直接アクセスすることです。たとえば、curl を使用して Turtle ファイルをリポジトリにアップロードするには、次のようにします。

curl -X POST -H "Content-type: text/turtle" --data-binary @file.ttl http://localhost:8080/rdf4j-server/repositories/myRepo/statements

最後に、もちろん、 RDF4J リポジトリ APIを使用してサーバーと通信する短い Java プログラムを作成することもできます。

于 2016-11-29T04:57:29.940 に答える