PM-STR-0040

A State Restriction is a subclass cardinality restriction, positive or negative

A State Restriction MUST be expressible as a subclass restriction over the Thing's own properties, built from minimum-cardinality-1 clauses, cardinality-0 clauses, or both. An implementation MUST support the cardinality-0 form, and MUST NOT treat a State Restriction as property accretion only.

Non-normative, and it narrows PM-STR-0030 without closing it.

The negative form is first-class. cardinality 0 says the property has no value, which is exactly the blog's first worked example — "any Artist that does not have createdDate defined is a New Artist" — and it is what makes PM-STR-0020's closed-world reading necessary rather than merely convenient: under an open-world reading cardinality 0 means provably no value, which no absent triple ever establishes. The description confirms the implementation is SPIN, and SPIN is SPARQL, and SPARQL is closed-world.

So mutual exclusivity is expressible. A modeller can write "Created Artist" as createdDate min 1 and activatedDate cardinality 0 and get disjoint States. What the description never says is that a modeller must, or what the engine does when several Restrictions hold at once. That is still Q-G-0001, and PM-STR-0030 still stands.

The defect is therefore smaller and better shaped than MID-0001 assumed. It is not "the notation cannot express exclusive States", which is what the monotone-accretion framing implied. It is "the notation does not require exclusive States and specifies no tie-break". That is a repair a conformance rule can make, not a hole in the metamodel.

SRC-PATENT MUST · draft · area STR · since 0.1.1

Verbatim quote

becomes a SubClass restriction using min cardinality 1 and/or cardinality 0

Source

frozen 2026-09-08T095618Z · sha256 2d6b61ee55a4688d… · live