問題タブ [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.
jena - Stardog-examples の実行、ビルドの問題
私は非常にイライラしています。私は週末の間ずっとセマンティック Web プログラミングを学ぼうとしてきましたが、どこにも行き着きませんでした。何もビルドまたは動作していないようです。
私はmavenとgradleを初めて使用しますが、すべての手順に従いました。
stardog-example コードをビルドしようとしています
https://github.com/clarkparsia/stardog-examples
しかし、gradleコマンドを実行すると、
「Stardog リポジトリへの URL が定義されていません。gradle.properties でプロパティ「stardogRepo」を設定してください。
gradle.properties すら見つかりません。どこでも見た=/ gradleフォルダーにもありません。
どんな助けでも大歓迎です
maven - stardog と sesame の依存関係に関する Maven アーティファクトの問題
データを取り込み、Jena API を使用してタートル形式の RDF を生成し、Sesame API を使用して送信されたデータを必要とするトリプルストアにロードする ETL サービスを提供する、Eclipse を介した Maven プロジェクトで開発されたプログラムがあります。そのため、ETL サービスによって作成されたステートメントを Jena から Sesame に変換する必要があります。
Stardog の次のクラスを使用したいと思います。これは、私が必要とすることを正確に実行するためです。問題を解決するために、次の依存関係を pom.xml に追加しようとしました。
しかし、次のエラーが発生します。
欠落しているアーティファクト com.complexible.stardog:shared:jar 2.2.2
欠落しているアーティファクト org.openrdf.sesame:sesame:jar:2.7.12
欠落しているアーティファクト com.complexible.stardog:api:jar.2.2.2
また、上記の依存関係の開始依存タグで、その中に含まれる依存関係も欠落しているというエラーが表示されます。
注: stardog.version = 2.2.2 および sesame.version = 2.7.12。
何か案は?
java - プログラムで Stardog にカスタム ルールを追加する
次の CLI コマンドを使用して、Stardog の名前付きグラフにカスタム ルールを追加できます。
クラスなど、Java API を介してこれを行う可能性はありますAdminConnection
か?
java - Stardog ルールをトリガーする SPARQL クエリ
カスタム Stardog ルールを試しています。カスタム ルールは基本的に次のようになります。
次の Java コードを含むこの ttl ファイルをアップロードしました。
ルールを別のグラフに保持したいので、ルールのトリプルをhttp://url/rules
グラフにロードしました。tag:stardog:api:context:default
Stardog で表されるデフォルトのグラフには、オントロジーの公理が含まれています。次の SPARQL クエリを使用すると、Stardog ルールが期待どおりに機能します。
おそらく、今では何が問題なのか疑問に思っているでしょう。FROM 句と FROM NAMED 句の理解が間違っていると思います。クエリをFROM <http://url/rules>
除外すると、クエリからの結果は期待できません。それでも、元のクエリと同じように結果が得られます。これはどのように可能ですか?これらの条項について、私は次のように考えています。
FROM <tag:stardog:api:context:default>
: デフォルトのグラフのオントロジー公理を使用しますFROM <http://url/rules>
: この特定のクエリでルールを使用しますFROM NAMED <http://url/datasource>
: クエリが必要な実際のデータ
SPARQL クエリから 2 番目の FROM 句を除外すると、正しい結果が得られるのはなぜですか? 参考までに、私はいつも推理系SLを使っています。
@ user1538695の回答後に編集
スキーマ (TBox) にルールを永続化する場合でもFROM <tag:stardog:api:context:default>
、クエリを追加する必要があります。名前付きグラフを 1 つだけクエリし、推論のためにスキーマを使用したい。これは、デフォルトのグラフ (スキーマ) を明示的に言及しなくても可能ではないでしょうか? これは私の現在のクエリがどのように見えるかです:
sparql - Stardog ルールがトリガーされない
正しい Stardog ルールを書くのに苦労しています。ルールの構文を検証する方法が見つからなかったので、それが構文エラーなのか論理エラーなのかはわかりません。reasoning=SL
いずれにせよ、推論が有効になっている場合 (バージョン 2 ではreasoning=true
バージョン 3) 、ルールはトリガーされないようです。
次の SPARQL クエリでルールをトリガーしようとしています。
sparql - SPARQL クエリの「または」
SPARQL で基本的な論理演算子が実装されていない理由がよくわかりません。ただし、ほとんどの場合、さまざまな方法で同じ結果を得ることができます。
この質問の目的は、「または」ステートメントを置き換えることができる可能な方法の谷のクイック リファレンスを用意することです。
これが私が考えることができるものです:
1)UNION
例えば:
-非常に冗長になる可能性があるため、多くの場合適切ではありません
として機能しません
(少なくともStardogではありません)
2)FILTER
例えば:
他のアイデアはありますか?
rdf - リテラルの推論とデータ型
^^xsd:string
Turtle-RDF では、文字列リテラルのデータ型拡張を省略すると便利です。しかし、StarDog http://www.stardog.com/:YYY
で推論しようとすると、拡張子を持つ個体だけ"green"^^xsd:string
が:GreenButton
推論結果:
それに対処する最善の方法は何ですか?