- List of current rules: ValidationRules
- Currently, libSBGN rules are written in Schematron. See SchematronHowto
Syntax for @see Entries
Validation rules in libSBGN should be tagged with a "see" attribute that refers to an SBGN specification that points to a validation rule.
- SBGN_LANG_ABBREV - pd, er, af
- LEVEL_NUM - Digit
- VERSION_NUM - Digit or number with decimal
- SPEC_ENTRY - Digits separated by periods indicating the section where the rule is described.
- BULLET_NUM - Digit indicating the bulleted item describing a rule.
Rule Categories (Roles)
Rules are tagged using the following categories to denote severity and status.
- error - Failure to pass this rule type results in invalidation
- warning - Point to recommendations; failure to meet these recommendations does not result in invalidation.
- unimplemented - Represent "stubs" for rules that remain to be implemented.
- untestable - Rules that are that are untestable. Such rules may result from the need to have expert knowledge of a biological system to carry out the validation.
- Example: If more than one set of stoichiometries can be applied to the flux arcs of the process then the stoichiometry of the flux arcs must be displayed. (sbgn-pd-L1V1.3-126.96.36.199#8)
Error Test Files
Creators of error test files should create both the correct and incorrect cases.
Test files containing errors are named using the following components:
- Error code for rule
- If multiple assertions are made then which one is being tested (in the order they appear in the ruleset).
- pass/fail, whether the file passes or fail the rule followed by an error count of any existing errors.
- Use testCount if multiple files test the same rule.
- If multiple rules are broken, the name should take the ruleId of the first rule broken.
The file failed rule pd10102 assertion 3 with 1 error. If more than one file tested this rule, then the final 1 would uniquely identify this file.