context.predicates reports two distinct findings but cites one rule, and the second finding has no rule behind it.
What it reports
| Finding |
Message |
Matches the cited rule? |
| suspicious |
a term expands to a syntactically absolute IRI whose prefix is undefined |
yes |
| dropped |
property with no @context term: <name> |
no |
The check cites OOLD-EXT-2b61, whose specification text is:
Compact form specifically - a "pattern" such as "^[A-Za-z_][\w.-]:(?!//)\S$", which accepts ex:alice and schema:Person while rejecting http://...; the prefix MUST be defined in the @context.
That is a rule about compact-IRI prefixes. It does not require every property to carry a term.
Why it matters
Severity is read from the cited rule's level. OOLD-EXT-2b61 is a MUST, so the dropped-property finding is reported as a failure on the authority of a rule that does not state it.
Searching the 66-rule catalogue in src/oold/validation/meta/1.0.0-rc.2/oold-rules.json finds no rule requiring complete context coverage. Raised in review as "complete context coverage is not mandatory".
For contrast
roundtrip.generated reports the same situation as "property lost through RDF" and cites no rule (rule=None). That is defensible on its own terms: round-trip fidelity is this package's own promise rather than a specification requirement, and it is reported without borrowing normative authority.
Work
- Split the two findings so the prefix half keeps citing
OOLD-EXT-2b61 and the coverage half does not
- Decide what the coverage half is: a package-level lint like
roundtrip.generated, a warning, or something that needs a rule upstream in oold-schema
- If it stays, it must not claim MUST severity from an unrelated rule
Raised from review of #114 (#114 (comment)).
context.predicatesreports two distinct findings but cites one rule, and the second finding has no rule behind it.What it reports
property with no @context term: <name>The check cites
OOLD-EXT-2b61, whose specification text is:That is a rule about compact-IRI prefixes. It does not require every property to carry a term.
Why it matters
Severity is read from the cited rule's
level.OOLD-EXT-2b61is a MUST, so the dropped-property finding is reported as a failure on the authority of a rule that does not state it.Searching the 66-rule catalogue in
src/oold/validation/meta/1.0.0-rc.2/oold-rules.jsonfinds no rule requiring complete context coverage. Raised in review as "complete context coverage is not mandatory".For contrast
roundtrip.generatedreports the same situation as "property lost through RDF" and cites no rule (rule=None). That is defensible on its own terms: round-trip fidelity is this package's own promise rather than a specification requirement, and it is reported without borrowing normative authority.Work
OOLD-EXT-2b61and the coverage half does notroundtrip.generated, a warning, or something that needs a rule upstream in oold-schemaRaised from review of #114 (#114 (comment)).