Open nichtich opened 4 years ago
[x] type field
[ ] A list MUST NOT contain the empty string except if part of a language map
[ ] All set members MUST be JSKOS resources (except the last optionally being null
)
[ ] All set members MUST have distinct values in field uri, if this field is given
[ ] Regexp for Language range (this could better be part of the JSON Schema)
[ ] Disallow empty string in language maps
[ ] If both fields broader and ancestors are given, the set broader MUST include the same concept as the first element of ancestors.
[ ] A concept MUST NOT include more than one of concept bundle fields. A concept SHOULD NOT reference itself as part of its concept bundle.
[ ] The value of field uriPattern MUST conform to the regular expression syntax used by XML Schema (Appendix F) and be anchored with ^ as first character (this could better be part of the JSON Schema)
[ ] ConceptScheme: If concepts is a set, all its member concepts SHOULD contain a field inScheme and all MUST contain the same concept scheme in field inScheme if this field is given.
[ ] Concept Occurrence: If both count and frequency are given, the total size of the database can derived by multiplication. In this case either both or none of the two fields MUST be zero.
[ ] concordance: If mappings is a set then
[ ] mapping: The field type MAY contain additional values but MUST NOT contain multiple of these values.
[ ] concept bundle: Keys of a memberRoles object MUST be URIs and their values MUST be of type set (this could better be part of the JSON Schema).
Checking for empty strings could be made optional, as these can easily be filtered out and may be useful for input fields.
The current validation only uses JSON Schema. Some additional constraints are listed in the JSKOS specification, so they should also be checked, e.g #4. Requires to re-read the specification carefully. Could be disabled with an option.