1.0.0
A collection of SKOS constraints expressed in SPARQL using the SPIN framework.
SKOS constraint S36 is defined for class skos:OrderedCollection and the others are defined for class skos:Concept.
SKOS Constraints
predicate
predicate1
predicate2
lang
lang
nr
label
subject
nr
1
object1
object2
Constraint S27: skos:related is disjoint with the property skos:broaderTransitive.
A concept can't have the same value in both a related property and a broader transitive property.
Each CONSTRUCT constraint uses language from the SKOS spec in its rdfs:comment and more user-friendly language in the rdfs:label.
S13 based on http://www.proxml.be/users/paul/weblog/55d41/Integrity_constraints_in_SKOS_part_2.html.
S14 originally based on http://www.proxml.be/users/paul/weblog/aaad2/Integrity_constraints_in_SKOS_part_1_.html but revised since then.
S27 based on http://www.proxml.be/users/paul/weblog/bfa21/Integrity_Constraints_in_SKOS_part_3.html.
message
label1
label2
).
Constraint S14: a resource has no more than one value of skos:prefLabel per language tag (@
exactMatch
broadMatch
Constraint S46a: skos:exactMatch is disjoint with each of the properties skos:broadMatch and skos:relatedMatch.
A concept can't have the same value in both a broader match property and an exact match property.
exactMatch
relatedMatch
Constraint S46b: skos:exactMatch is disjoint with each of the properties skos:broadMatch and skos:relatedMatch.
A concept can't have the same value in both a related match property and an exact match property.
A helper function for constraint 36 on skos:OrderedCollection. For a given collection (?arg1) and a specific list node (?arg2), this checks whether the rdf:first of that list node is also a value of the collection's skos:member property. If successful, then it moves to the next list item (rdf:rest) and calls itself recursively until the rdf:nil is reached.
check members
member
rest
The collection to check.
list
S36 For any resource, every item in the list given as the value of the skos:memberList property is also a value of the skos:member property.
The current rdf:List node in the traversal.
message
predicate1
label
predicate2
message
Constraint S13: A concept can't have the same value in the same language in both
and
- duplicate value:
S13: Values of {?predicate1} and {?predicate2} must be pairwise disjoint.
The first property to compare (e.g. skos:prefLabel).
The second predicate to compare (e.g. skos:altLabel).
Constraint S13
Generalization of Constraint S13: skos:prefLabel, skos:altLabel and skos:hiddenLabel are pairwise disjoint properties. To ensure that
Constraint S12: values of
predicate
must be RDF plain (untyped) literals, but found
label
The property to check, e.g. skos:prefLabel.
S12: Values of {?predicate} must be plain (untyped) RDF literals
Constraint S12
A SPIN template that generalizes the various variations of S12 so that only the property needs to be specified.