ホーム | セットアップ | 使い方 | 設定ファイル | 検証ルール | 開発者向け
rdflintが提供する各検証ルールを紹介します。
検証される具体的なケースは、以下のテストデータが参考になるかも知れません。 https://github.com/imas/rdflint/tree/master/src/test/resources/testValidatorsImpl
rdfやturtleファイルの文法が正しいかを検証します。
未定義の主語が、述語・目的語として使用されていないかを検証します。
以下の主語がチェックの対象になります。
- 設定ファイル
baseUri
で指定された階層以下の主語 - 以下で定義されている主語
ー 設定ファイルで指定したデータセットの主語
SPARQLを利用したカスタムクエリによるデータ整合を検証します。
検証ルールは、設定ファイルrule
で指定します。
検証は以下の流れで実行されます。
target
の指定から、対象ファイルであることを確認する
対象外であれば終了するquery
で指定されたSPARQLクエリを実行する- 2の実行結果を、変数
rs
に設定する
valid
で指定されたgroovyスクリプトを実行する
groovyスクリプトのlog
のwarnメソッドで、検証NG時のエラーを出力できる
削除された、SubjectやTripleが無いかを確認して情報を出力します。
比較対象(変更前)の対象ディレクトリを、設定ファイルoriginDir
で指定します。
述語に対するリテラルのデータ型の妥当性を検証します。
検証は以下の流れで実行されます。
- 同じ述語のリテラルの値全てが、文字列、有理数、整数、自然数のいずれかを判定する
データの95%以上が含まれる型を、その述語に対する妥当なデータ型とする - 各トリプルに対して、1で求めたデータ型に含まれるかを判定する
含まれない場合は、検証NGとする
同じ述語に対して、20件以上リテラルが存在しない場合は検証対象になりません。
数値型データに対して、他のデータと値が離れているデータが無いかを検証します。
検証は以下の流れで実行されます。
- 各データ間の距離を測る
- 距離が最も近いデータ対から順にデータを結合してクラスタとして扱う
- 2を繰り返し、最後に残ったクラスタにデータが1件しか含まれていない場合に、検証NGとする
最後に結合したクラスタ間距離が、その一つ前に結合したクラスタ間距離の3倍以内の場合は検証OKとします。
Shapes Constraint Language (SHACL)によって指定された制約に違反していないかを検証します。
Shapes Constraint Language (SHACL) | W3C
https://www.w3.org/TR/shacl/
リテラルの先頭・末尾に半角スペースが存在するデータを検証NGとします。
ファイルが、設定ファイルで指定した文字コード・改行コードで記載されているかを検証します。指定外の文字コード・改行コードで記載されている場合に検証NGとします。
{{site.cookie_consent}}