問題タブ [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 に答える
75 参照

shacl - How to validate instances of a class, based on their usage with shacl?

In my case there are SingleChoice (SC) and MultipleChoice (MC) questions. SC have a set of answers (as blank nodes) that must contain exectly one "points" and one "text" property. MC have a set of answers that must contain exectly one "points", one "text" and one "pointsNegative" property. Example as turtle:

クラス ex:Answer のすべてのインスタンスを検証する shacl ルールを書くことができました。しかし、これらのインスタンスが属するもの (SC または MC) を、次のルールで検証することによって区別することはできません。

たとえば、ex:pointsNegative に別の PropertyShape を追加すると、SC の質問のすべての回答で形状が失敗します (これらには ex:pointsNegative がないため)。minCount 制限を省略できますが、MC の質問に対する回答に ex:pointsNegative プロパティがない可能性があります。リンク (SC または MC に属する) に応じて、Class ex:Answer のインスタンスに対して異なるルールを実行するにはどうすればよいですか? これはシャクルでも可能ですか?

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

shacl - 同じプロパティによってリンクされた異なるオブジェクト タイプの数を検証する方法はありますか?

ラベル付けドキュメントからのデータを検証しようとしています。rdf:type各ラベル (またはコード) は、特定の(および可能性のある他の属性 ( 、 、 など:isPresent)rdfs:labelを持つ匿名ノードです:comment)。は、同じプロパティ ( ):Codesを介してリンクされています。:Documentsschema:isTargetOf

「有効なドキュメントには、タイプ x、y、z のコードが少なくとも 1 つと、タイプ k のコードが 1 つだけ含まれている必要があります」などと言えるようになりたいと考えています。

したがって、この例では、有効なドキュメントは、少なくとも 1 つの HasImage コードと 1 つの HasAuthor コードのターゲットである必要があります。

schema:isTargetOf を schema:has_author または schema:has_image に変更するなど、プロパティが異なる場合の方法を理解しています。

それから私はすることができます:

本質的に、単一のプロパティによってリンクされたもののコレクションを検証したいと思います。

現在、コードの種類ごとに特定のプロパティの種類を生成するために shacl ルールを試していますが、それは少し複雑に感じます。もっと直接的な方法があるのではないかと思います。

関連する場合は、pyshacl を使用しています。