問題タブ [shacl]

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.

0 投票する
1 に答える
295 参照

rdf - オブジェクトのリストを含む JSON-LD を SHACL で検証できますか?

SHACL を使用して次の JSON-LD を検証しようとしています。

上記の例では、 は少なくともmyList1 つの要素を含む必要があるオブジェクトのリストであり、各要素には、、およびの 3 つのフィールドがすべて含まれている必要があります。次の TTL を使用して検証しています。yearmonthday

JSON-LD を検証しようとすると、次のスニペットを含む応答が返され、データが適合しない理由が示されます。

test:myListを指定していないのに、プロパティの値が 1 つだけでなければならないのはなぜsh:maxCountですか?


また、次のように変更myListしてみました。@context

ただし、これも適合せ、次のスニペットを含む応答を返します。


私が遭遇した別の解決策はmyList、の別のノードに保存すること@graphですが、これは私のユースケースには理想的ではありません:

したがって、SHACL を使用して、この代替ソリューションを使用せずに、オブジェクトのリストを含む JSON-LD を検証することは可能ですか?

0 投票する
0 に答える
328 参照

jena - イエナ・フセキとSHACL

SHACL エンドポイントを公開する新しい Jena Fuseki データセットの作成に問題があります。

ドキュメント(以下を参照)に基づいてアセンブラー ファイルを作成しました。これを /fuseki/configuration フォルダーに配置して Jena Fuseki を再起動すると、正常に動作します。しかし、HTTP POST リクエストを に送信して新しいデータセットを作成しようとすると、 HTTP 管理プロトコルのドキュメント/$/datasetsで説明されているように、. サービスと各エンドポイントには があり、これが問題のようです (そうあるべきではありませんが)。Error 400: Multiple names given in description of Fuseki servicefuseki:name

それが理にかなっていることを願っています。誰かが回避策を知っていますか?

Jena Fuseki の最新バージョン (3.13.1) を使用しました。

0 投票する
1 に答える
77 参照

python - pySHACL: 検証エラーの報告に失敗しました

関連するすべてのファイルの要旨がhttps://gist.github.com/James-Hudson3010/2588d9b17dd33e15922122b8b5cf1bd7にあります。

私が実行した場合:

次の正しい検証レポートが表示されます...

ただし、employees.ttl をスキーマ、形状、およびインスタンス データを含む 3 つのファイルに分割して実行すると、次のようになります。

結果は次のとおりです。

pyshacl を正しく呼び出していると思います。

0 投票する
1 に答える
180 参照

rdf - sh:object の式による SHACL ルールの推論の実装

maps:mapstoclass現在、以下のトリプルに基づいて新しいプロパティを推測しようとしています。アイデアは、推論された結果を (data:classes のアライメントを含む rdf ファイルと一緒に) 使用して、 で指定されたdata0:object100からの とそのオーバーラップ オブジェクトとの間の類似性を判断できるというものです。data1:maps:hasOverlap

最初に、オブジェクトのプロパティがmaps:hasOverlap満たされているかどうかを確認しましたqualifiedValueShape(shacl 形状/ルールは最後に示されています)。この場合、maps:secfeature data1:object1 を持つ「hasOverlap」オブジェクトのみが条件を満たします。したがって、「maps:mapsto」のオブジェクトは data1:object1 である必要があります。私が期待する結果は次のとおりです。

ただし、現在取得しています:

私は何を間違っていますか?ルールの sh:condition は、sh:object 内で明示的に適用する必要がありますか? 私はノード式を見てきましたが、それを使用することに成功しませんでした - ドキュメントに適用可能な例を見つけることができませんでした.

使用される形状: