Stardog を使用して、さまざまなソースからの一連のトリプルを保存しています。Jena を使用してデータを収集し、単一の Jena グラフにマージします。これらのトリプルはすべて ABoxes の一部です。
Stardog が TBox も ABox グラフとマージする必要があるかどうかはわかりません。そうしないと、Stardog がデータに対してどのように推論を行うかがわからないためです。他のトリプル ストアのように、TBox を別々に保存して使用するオプションは見たことがありません。TBox を Jena グラフに含める必要がありますか、それとも TBox を別の Stardog データベースに格納する方法があるので、ABoxes のデータベースを照会するときにそれも考慮されますか?
Jena グラフ (100 万から 700 万のトリプルの間で変化します) を Stardog にロードするオプションを検討しています。
- 私があまり好きではないオプションの 1 つは、グラフをファイルに書き込み、クライアントを実行してそれを Stardog にロードすることです。データが Jena グラフにある場合は、直接的な解決策をお勧めします。
- もう 1 つのオプションは、トリプルを 1 つずつロードすることです ( java での stardog sparql insert query の例)。
Jena からグラフ全体をロードするエレガントな方法はありますか?
編集
ディストリビューションの例に基づくコードの試み:
Server aServer = Stardog.buildServer()
.bind(new InetSocketAddress("10.0.0.1", 5820))
.start();
AdminConnection aAdminConnection = AdminConnectionConfiguration.toServer("...").credentials("admin", "admin").connect();
if (aAdminConnection.list().contains("test")) {
aAdminConnection.drop("test");
}
Connection aConn = aAdminConnection.memory("test").create(file).connect();
Model aModel = SDJenaFactory.createModel(aConn);
編集 2:コードの一部を修正しました。
Stardog ドキュメントの追加情報