| A01 |
*Functional Properties |
A03++: multiple properties together |
X |
V |
X |
X |
V |
X |
|
*V |
min+max=1 |
25/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A1_Functional_Properties |
| A02 |
*Inverse-Functional Properties |
|
X |
V |
X |
X |
V |
X |
|
X |
NO: needs unique, count over sparql |
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A2_Inverse-Functional_Properties |
| A03 |
*Primary Key Properties |
|
X |
V |
X |
X |
V |
X |
|
X |
NO: needs unique |
14/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A3_Primary_Key_Properties |
| A04 |
*Subsumption |
All of class X are also of class Y |
X |
V |
V |
~ |
V |
V |
|
V |
sh:targetClass + sh:class |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A4_Subsumption |
| A05 |
*Sub-Properties |
|
X |
V |
V |
X |
V |
X |
|
X |
|
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A5_Sub-Properties |
| A06 |
*Object Property Paths |
|
X |
V |
X |
X |
V |
X |
|
X |
|
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A6_Object_Property_Paths |
| A07 |
Allowed Values |
values in list |
V |
V |
X |
V |
V |
V |
|
V |
sh:in |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A7_Allowed_Values |
| A08 |
Not Allowed Values |
values not in list |
X |
V |
X |
X |
V |
V |
|
~ |
sh:not + sh:in |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A8_Not_Allowed_Values |
| A09 |
*Class Equivalence |
|
X |
V |
V |
X |
V |
X |
|
X |
|
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A9_Class_Equivalence |
| A10 |
*Equivalent Properties |
owl:sameAs for property |
X |
V |
V |
X |
V |
X |
|
V |
sh:equals + sh:node |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A10_Equivalent_Properties |
| A11 |
Literal Value Comparison |
|
X |
X |
X |
X |
V |
V |
|
V |
sh:equals,sh:lessThan,sh:lessThanOrEquals |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A11_Literal_Value_Comparison |
| A12 |
Value is Valid for Datatype |
|
X |
X |
X |
X |
V |
X |
|
V |
sh:datatype,sh:nodeKind |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A12_Value_is_Valid_for_Datatype |
| A13 |
*Property Domains |
|
X |
V |
V |
X |
V |
X |
|
*V |
sh:targetSubjectsOf + sh:property + sh:class |
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A13_Property_Domains |
| A14 |
*Property Ranges |
|
X |
V |
V |
X |
V |
X |
|
V |
sh:targetSubjectsOf + sh:property/sh:class |
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A14_Property_Ranges |
| A15 |
*Class-Specific Property Range |
|
V |
V |
X |
V |
V |
V |
|
V |
sh:targetClass + sh:property + sh:class |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A15_Class-Specific_Property_Range |
| A16 |
Data Property Facets |
string validations |
X |
V |
V |
X |
V |
X |
|
V |
sh:pattern, sh:minLength, sh:maxLength |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A16_Data_Property_Facets |
| A17 |
Literal Ranges |
|
X |
V |
X |
X |
V |
X |
|
V |
sh:min/maxEx/Inclusive |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A17_Literal_Ranges |
| A18 |
Negative Literal Ranges |
|
X |
V |
X |
X |
V |
X |
|
~ |
sh:not + sh:min/maxEx/Inclusive |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A18_Negative_Literal_Ranges |
| A19 |
IRI Pattern Matching |
|
X |
X |
X |
X |
V |
V |
|
*V |
sh:pattern |
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A19_IRI_Pattern_Matching |
| A20 |
Literal Pattern Matching |
|
X |
V |
X |
X |
V |
X |
|
V |
sh:pattern |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A20_Literal_Pattern_Matching |
| A21 |
Negative Literal Pattern Matching |
|
X |
V |
X |
X |
V |
X |
|
~ |
sh:not + sh:pattern |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A21_Negative_Literal_Pattern_Matching |
| A22 |
*Existential Quantifications |
there is at least one p where x p y |
X |
V |
X |
~ |
V |
~ |
|
V |
sh:targetClass + sh:class + sh:minCount 1 |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A22_Existential_Quantifications |
| A23 |
*Universal Quantifications |
for every p, x p y |
X |
V |
X |
X |
V |
X |
|
V |
sh:class + sh:minCount + sh:closed |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A23_Universal_Quantifications |
| A24 |
*Value Restrictions |
|
V |
V |
X |
V |
V |
V |
|
V |
sh:in |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A24_Value_Restrictions |
| A25 |
Use Sub-Super Relations in Validation |
if general p1 is mentioned, use specific p2 |
X |
X |
X |
X |
V |
X |
|
X |
NO: needs equals across targets |
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A25_Use_Sub-Super_Relations_in_Validation |
| A26 |
Negative Property Constraints |
not use p |
X |
V |
X |
X |
V |
V |
|
~ |
sh:not sh:property |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A26_Negative_Property_Constraints |
| A27 |
Language Tag Matching |
|
X |
X |
X |
X |
V |
X |
|
*V |
sh:languageIn |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A27_Language_Tag_Matching |
| A28 |
Language Tag Cardinality |
|
X |
X |
X |
X |
V |
X |
|
~ |
sh:uniqueLang |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A28_Language_Tag_Cardinality |
| A29 |
Whitespace Handling |
|
X |
X |
X |
X |
V |
X |
|
X |
|
|
X |
NO: AF |
| A30 |
HTML Handling |
|
X |
X |
X |
X |
V |
X |
|
X |
|
|
X |
NO: AF |
| A31 |
Structure |
|
X |
X |
X |
X |
V |
X |
|
*V |
sh:sparql |
12/02/2019 |
X |
NO: needs SPARQL |
| A32 |
*Minimum Unqualified Cardinality |
|
V |
V |
X |
~ |
V |
V |
|
V |
sh:class + sh:minCount |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A32_Minimum_Unqualified_Cardinality_Restrictions |
| A33 |
*Minimum Qualified Cardinality |
|
V |
V |
X |
~ |
V |
V |
|
V |
sh:targetClass + sh:class + sh:minCount |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A33_Minimum_Qualified_Cardinality_Restrictions |
| A34 |
*Maximum Unqualified Cardinality |
|
V |
V |
X |
~ |
V |
V |
|
V |
sh:class + sh:maxCount |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A34_Maximum_Unqualified_Cardinality_Restrictions |
| A35 |
*Maximum Qualified Cardinality |
|
V |
V |
X |
~ |
V |
V |
|
V |
sh:targetClass + sh:class + sh:maxCount |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A35_Maximum_Qualified_Cardinality_Restrictions |
| A36 |
*Exact Unqualified Cardinality |
|
V |
V |
X |
~ |
V |
V |
|
V |
sh:targetClass + sh:class + sh:minCount + sh:maxCount n |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A36_Exact_Unqualified_Cardinality_Restrictions |
| A37 |
*Exact Qualified Cardinality |
|
V |
V |
X |
~ |
V |
V |
|
V |
sh:class + sh:minCount + sh:maxCount n |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A37_Exact_Qualified_Cardinality_Restrictions |
| A38 |
*Cardinality Shortcuts |
|
X |
V |
X |
V |
V |
V |
|
*~ |
no shortcuts, but supported |
12/02/2019 |
should |
math builtins |
| A39 |
Vocabulary |
|
X |
X |
X |
X |
V |
X |
|
*V |
owl:imports vocabulary shape + sh:target* |
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/B2_Triple_Pattern |
| A40 |
Provenance |
|
X |
X |
X |
X |
V |
X |
|
*V |
owl:imports provenance shape + sh:target* |
|
should |
existence of structure |
| A41 |
Required Properties |
|
V |
V |
X |
V |
V |
V |
|
~ |
sh:property |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A41_Required_Properties |
| A42 |
Optional Properties |
|
V |
V |
X |
V |
V |
V |
|
~ |
sh:minCount 0 |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A42_Optional_Properties |
| A43 |
Repeatable Properties |
x uses p1 at least once |
V |
V |
X |
V |
V |
V |
|
~ |
sh:property + sh:mincount 1 |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A43_Repeatable_Properties |
| A44 |
Conditional Properties |
if x has p1, it also should have p2 |
X |
X |
X |
X |
V |
X |
|
V |
sh:subjectsOfproperty,sh:property |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A44_Conditional_Properties |
| A45 |
Recommended Properties |
|
X |
X |
X |
X |
V |
X |
|
*V |
sh:severity + minCount 1 |
12/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A45_Recommended_Properties |
| A46 |
Severity Levels |
|
X |
X |
X |
X |
V |
X |
|
V |
sh:severity |
|
should |
~constraint language |
| A47 |
Labeling and Documentation |
|
X |
X |
X |
X |
V |
X |
|
V |
sh:name, sh:description |
|
should |
existence of structure |
| A48 |
Context-Sp. Property Groups |
|
X |
~ |
~ |
V |
V |
V |
|
V |
sh:targetClass + sh:property,sh:property |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/B1_PVT_Pattern |
| A49 |
Context-Sp. Exclusive OR of P. |
|
X |
V |
X |
X |
V |
V |
|
*V |
sh:targetClass + sh:xone + sh:property |
|
should |
intersection and disjunction supported, so xOR as well |
| A50 |
Context-Sp. Exclusive OR of P. Groups |
|
X |
~ |
X |
V |
V |
V |
|
*V |
sh:targetClass + sh:qualifiedValueShape + sh:qualifiedValueShapesDisjoint +… |
|
should |
intersection and disjunction supported, so xOR as well |
| A51 |
Context-Sp. Inclusive OR of P. |
|
X |
~ |
~ |
X |
V |
X |
|
V |
sh:targetClass + sh:or + sh:property |
|
should |
intersection and disjunction supported, so xOR as well |
| A52 |
Context-Sp. Inclusive OR of P. Groups |
|
X |
~ |
~ |
X |
V |
X |
|
V |
sh:targetClass + sh:qualifiedValueShape + … |
|
should |
intersection and disjunction supported, so xOR as well |
| A53 |
Mathematical Operations |
|
X |
X |
X |
X |
V |
X |
|
*~ |
AF: sh:rule + function? |
12/02/2019 |
should |
math builtins |
| A54 |
Ordering |
|
X |
X |
X |
X |
V |
X |
|
*V |
shsh:ListShape |
13/02/2019 |
should |
list builtin |
| A55 |
*Inverse Object Properties |
|
X |
V |
V |
~ |
V |
X |
|
V |
2 shapes? |
|
should |
existence of structure |
| A56 |
*Symmetric Object Properties |
|
X |
V |
V |
X |
V |
X |
|
*V |
AF: sh:this |
13/02/2019 |
should |
existence of structure |
| A57 |
*Asymmetric Object Properties |
|
X |
V |
V |
X |
V |
X |
|
*V |
AF: sh:not sh:this |
13/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A57_Asymmetric_Object_Properties |
| A58 |
*Transitive Object Properties |
|
X |
V |
X |
X |
V |
X |
|
X |
NO: needs equals across targets |
13/02/2019 |
should |
existence of structure |
| A59 |
*Self Restrictions |
|
X |
V |
X |
X |
V |
X |
|
*V |
AF: sh:this |
|
should |
existence of structure |
| A60 |
Valid Identifiers |
|
X |
X |
X |
X |
V |
X |
|
X |
NO: needs HTML get |
|
X |
NO: needs HTML get |
| A61 |
Recursive Queries |
|
V |
V |
V |
V |
~ |
V |
|
V |
sh:node, sh:property |
|
should |
existence of structure |
| A62 |
*Reflexive Object Properties |
|
X |
V |
V |
X |
V |
X |
|
*V |
AF: sh:this |
13/02/2019 |
should |
existence of structure |
| A63 |
*Class-Sp. Reflexive Object P. |
|
X |
V |
X |
X |
V |
X |
|
*V |
AF: sh:this |
13/02/2019 |
should |
existence of structure |
| A64 |
*Irreflexive Object Properties |
|
X |
V |
V |
X |
V |
X |
|
*V |
AF: sh:path/sh:not/sh:this |
13/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A64_Irreflexive_Object_Properties |
| A65 |
*Class-Specific Irreflexive Object Properties |
|
X |
V |
X |
X |
V |
X |
|
*V |
AF: sh:targetClass sh:path/sh:not/sh:this |
13/02/2019 |
should |
existence of structure |
| A66 |
Data Model Consistency |
|
X |
X |
X |
X |
V |
X |
|
*V |
sh:sparql |
13/02/2019 |
X |
NO: needs SPARQL |
| A67 |
Handle RDF Collections |
|
X |
X |
X |
X |
V |
X |
|
*V |
AF: sh:rule + function? |
13/02/2019 |
should |
list:builtin |
| A68 |
Membership in Controlled Vocabularies |
|
V |
X |
X |
X |
V |
X |
|
V |
sh:in |
|
should |
list:builtin |
| A69 |
Disjoint Properties |
|
X |
V |
V |
X |
V |
X |
|
X |
NO: needs disjoint on class |
13/02/2019 |
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A69_Disjoint_Properties |
| A70 |
Disjoint Classes |
|
X |
V |
V |
X |
V |
X |
|
~ |
sh:disjoint |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A70_Disjoint_Classes |
| A71 |
String Operations |
|
X |
X |
X |
X |
V |
X |
|
~ |
sh:pattern |
|
should |
string builtin |
| A72 |
Aggregations |
|
X |
X |
X |
X |
V |
X |
|
*V |
AF: sh:rule + sh:function? |
13/02/2019 |
should |
math builtins |
| A73 |
*Individual Equality |
|
X |
V |
X |
X |
V |
X |
|
*V |
AF: sh:rule or sh:this |
13/02/2019 |
should |
equality builtin |
| A74 |
Individual Inequality |
|
X |
V |
V |
X |
V |
X |
|
*V |
AF: sh:rule or sh:not/sh:this |
13/02/2019 |
should |
equality builtin |
| A75 |
Context-Specific Valid Classes |
|
X |
X |
X |
X |
V |
X |
|
X |
NO: target ALL |
13/02/2019 |
should |
existence of structure |
| A76 |
Context-Specific Valid Properties |
use only p1-n for X |
X |
X |
X |
X |
V |
X |
|
V |
sh:property+ + sh:closed (+sh:ignoredProperties?) |
|
should |
existence of structure |
| A77 |
Property Assertions |
|
X |
V |
~ |
X |
V |
X |
|
~ |
sh:hasValue |
|
should |
existence of structure |
| A78 |
*Intersection |
|
X |
V |
X |
V |
V |
V |
|
V |
sh:and |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A78_Conjunction |
| A79 |
*Disjunction |
|
X |
V |
X |
X |
V |
X |
|
V |
sh:or |
|
should |
disjunction |
| A80 |
*Negation |
|
X |
V |
X |
X |
V |
X |
|
V |
sh:not |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A80_Negation |
| A81 |
*Default Values |
|
X |
X |
X |
V |
V |
X |
|
V |
sh:defaultValue |
|
V |
https://github.com/IDLabResearch/validatrr/tree/master/resources/rules/A81_Default_Values |