問題タブ [stardog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
owl - アインシュタインのなぞなぞをスタードッグ推理器で解けますか?
アインシュタインのなぞなぞ(別名ゼブラ パズル) をStardog推理器で解くことは可能ですか? つまり、次のクエリでは期待した結果が得られませんeinsteins_riddle_en:Old_Gold
bash - && で区切られた複数のコマンドの PID トラップを作成する方法
Ubuntu 15.04 コンテナーで Stardog 4.0 を実行しており、正常に動作する jdk8 が開いています。トラップを使用して stardog を正常にシャットダウンしたいと考えています。
コンテナー内で stardog を実行して実行し続けるには、次のようにうまく動作します。
以下がないと、コンテナは数秒間実行されて停止します
ただし、これにより、コンテナー内に複数の PID が発生します。
また、コンテナのシャットダウン時に stardog をシャットダウンするための次のトラップは機能しません。
したがって、私の質問は、コンテナがシャットダウンしたときにスタードッグが正常に終了するように、 $SBIN/bin/stardog-admin サーバーの起動を適切にトラップするにはどうすればよいかということです。
よろしくコンテ
java - Complexible Pinto を使用して、特定の POJO プロパティが RDF にマップされないようにするにはどうすればよいですか?
Java POJO と RDF 間のマッピングにComplexible Pintoを試しています。私の評価テストの 1 つで、出力トリプルに表示されるべきではない派生プロパティがありますが、すべての JavaBean ゲッターが、生成されたプロパティ リソースとともに出力に自動的に含まれているようです。メソッド名をマングルせずにこれを抑制するにはどうすればよいですか? 同様のフレームワークには通常、何らかの @Ignore アノテーションまたは無視アノテーション パラメーターがありますが、Pinto には見当たりません。
メソッド名をマングリングすることでこれを抑制することができます (例: xgetNameLength()
)。
コード:
マップされるべきではない派生プロパティを持つ Java POJO を作成し、Pinto を使用してトリプルに変換します。
出力:
派生した値は、生成されたプロパティにマップされます。除外したいので、トリプルは 2 つだけ作成されます。
sparql - 検索用のフラット データを生成するための SPARQL の最良のアプローチ
私たちは薬物などの情報を 3 重に保管していますが、この情報を抽出して利用できるようにし、検索エンジン Elasticsearch でインデックス化できるようにする方法がわかりません。私は、SPARQL クエリを実行して次の情報を抽出することを想定していました。
- 題名
- 体
- フレフ
トリプルストアには上記の構造が含まれていないことに注意してください。それよりもはるかに複雑です。
要件の 1 つは、トリプル ストアからの異なるトリプルを使用してタイトルをフォーマットできるようにすることです。たとえば、薬物の場合、次のようなものが必要になります。
パラセタモール | はじめに | 薬
(プラセタモールは薬剤名、イントロダクションはサブセクション、薬剤は種類)
body については、ドラッグに関連するすべてのトリプルからすべてのテキスト値を抽出することを考えていました。
また、href の場合は、リソース (ドラッグ) の uri を使用するだけです。
次に、この情報を JSON-LD に変換して、Elasticsearch でインデックスを作成できるようにします。最終的に、JSON-LD には、タイトル、本文、および href のみが含まれます。
私の質問は、SPARQL を使用して、私がやりたいことに対して正しいアプローチを使用するか、上記の要件に基づいて必要なデータを抽出する別のアプローチを検討する必要があるかということです。
java - Jena で利用できない Stardog カスタム集計関数
標準偏差を計算するカスタム集計関数を Stardog で作成しました。これは、SPARQL クエリをエンドポイントにポストするとき、または管理コンソールのクエリ パネルを介してうまく機能します。
ここまでは順調ですが、いくつかの問題に直面しています。まず、次のようなクエリを実行すると、Stardog 経由では完全に実行されますが、SPARQL バリデータ(および Jena API でも) では失敗します。
Stardog は標準偏差と平均年齢の正しい結果を返しますが、SPARQL バリデーターは例外をスローします。
SELECT の非グループ キー変数: 式の ?age (?age)
Stardog は仕様を別の方法で解釈しますか? それとも、これは私が知らない機能ですか?
別の問題として、CONSTRUCT クエリでカスタム集計関数 (stdev) を使用していますが、これも Stardog API を介して正常に機能しているようです。ただし、コードのほとんどは Jena に基づいており、カスタム stdev 機能を認識していないようです。この拡張機能は Stardog 関連のみであり、Jena では使用できないためでしょうか? 例を示しましょう。ATM、次の Jena コードを介して CONSTRUCT クエリを実行しています。
集計関数を使用していない限り、これは魅力的に機能します。複数の名前付きグラフでトリプルを構築しているため、(名前付きグラフを表す) モデルも利用できると非常に便利です。
Stardog Java API で同様のことをしたいと思います。私は次の範囲までしか取得していません:
問題は、CONSTRUCT クエリで操作する名前付きグラフを明示的に指定する必要があることです。データベースの一部を表す Jena モデルのようなものはないため、クエリで指定する必要はありません。ここで良いアプローチは何でしょうか?
私の質問は 2 つあります。Stardog でクエリが異なる方法で解析されるのはなぜですか。また、Jena にカスタムの Stardog 集計関数を検出させることは可能ですか? ありがとう!
アップデート
最後に、私たちが達成しようとしているのは、指定された名前付きグラフに対して構成クエリを実行することですが、新しく構築されたトリプルを別のグラフに書き込みます。私の Jena の例では、これを実現するために 2 つの Jena モデルを使用していることがわかります。SNARL API でこれを行うにはどうすればよいでしょうか? 次のコード スニペットを取得しましたが、これは、トリプルが書き込まれる場所ではなく、このクエリが実行されるデータセットのみを定義します。これに関するヘルプはまだ大歓迎です!
semantic-web - メイン クラスが見つかりませんでした: com.complexible.stardog.cli.admin.CLI。プログラムは終了します
Stardog をインストールしようとしていますが、次のエラーが表示されます。
スレッド「メイン」での例外 java.lang.UnsupportedClassVersionError: JVMCFRE003 メジャー バージョンが正しくありません。class=com/complexible/stardog/cli/admin/CLI、offset=6 at java.lang.ClassLoader.defineClassImpl(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:275) at java.security.SecureClassLoader .defineClass(SecureClassLoader.java:69) で java.net.URLClassLoader.defineClass(URLClassLoader.java:540) で java.net.URLClassLoader.defineClass(URLClassLoader.java:451) で java.net.URLClassLoader.access$300(URLClassLoader) .java:79) で java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1038) で java.security.AccessController.doPrivileged(AccessController.java:284) で java.net.URLClassLoader.findClass(URLClassLoader.java: 429) java.lang.ClassLoader.loadClass(ClassLoader.java: 660) で sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:358) で java.lang.ClassLoader.loadClass(ClassLoader.java:626) でメイン クラスが見つかりませんでした: com.complexible.stardog.cli.admin .CLI. プログラムは終了します。
誰もそれを解決する方法を知っていますか?