sdgco:hasRule

sdgco:hasRule links a type to a coherence rule it declares. It is the edge the engine follows to discover which rules apply to a document: the subject is the class a TypeDefinition defines, the object is a sdgco:Rule minted <TypeIRI>#<slug> from a @rule block.

The rules a document must satisfy are the union of sdgco:hasRule across its full type closure — every asserted rdf:type, plus each of their rdfs:subClassOf ancestors. So a base type can carry universal rules that every subtype inherits, and resolving the applicable rules is a graph walk keyed on the type IRI (?type sdgco:hasRule ?rule).

Usage

  • Domain: a type IRI (an rdfs:Class defined by a Type Definition).
  • Range: a sdgco:Rule.
  • Emitted automatically by each @rule block; authors do not write it by hand.
  • Repeatable — a type commonly declares several rules.