FLOW ALGEBRA
TITLE: Public Policy Domain Ontology
VERSION: 1.0
DOMAIN: Legal and Government Domains / Public Policy
SOURCE_URL: https://kirethresearch.org/booksai-core/ontologies/domain-ontologies/legal-government-domains/public-policy-domain-ontology.html
AUTHORS: Mark Higgins — Sky (Recursive AI)
STATUS: Domain-based draft; source page not independently verified
FLOW "PublicPolicyDomainOntology" v1.0
# 1. PURPOSE
purpose:
represent: [public_policy, policy_cycle, stakeholders, institutions, interventions, outcomes, evaluation]
enable: [semantic_retrieval, traceable_reasoning, policy_comparison, evidence_mapping]
constraint: "Descriptive analysis; no automatic normative ranking or political endorsement"
# 2. TYPED ENTITIES
entity Policy: {id: str, title: str, objective: str, status: str, jurisdiction_id: str, effective_date: date?, expiry_date: date?}
entity PolicyProposal: {id: str, title: str, proposed_by: str, consultation_status: str}
entity PublicInstitution: {id: str, name: str, authority_type: str, jurisdiction_id: str}
entity Jurisdiction: {id: str, name: str, level: enum[local,regional,national,supranational]}
entity Stakeholder: {id: str, category: str, role: str}
entity PopulationGroup: {id: str, description: str, geography_id: str?}
entity PolicyInstrument: {id: str, kind: enum[regulation,tax,subsidy,service,information,other], description: str}
entity Programme: {id: str, name: str, budget: decimal?, currency: str?}
entity PolicyObjective: {id: str, statement: str, target_date: date?}
entity Indicator: {id: str, name: str, unit: str, measurement_method: str}
entity Observation: {id: str, indicator_id: str, value: decimal, observed_at: date, source_id: str}
entity EvidenceSource: {id: str, title: str, publisher: str, published_at: date?, uri: str?}
entity Evaluation: {id: str, policy_id: str, method: str, period: str, limitations: str}
entity Outcome: {id: str, description: str, observed: bool, population_id: str?}
entity ImpactAssessment: {id: str, policy_id: str, dimensions: list[str], assumptions: list[str]}
entity Consultation: {id: str, proposal_id: str, opens: date?, closes: date?}
entity Decision: {id: str, institution_id: str, decision_date: date, rationale: str?}
# 3. RELATIONSHIP TYPES
relationship PROPOSED_BY: PolicyProposal -> PublicInstitution
relationship APPLIES_IN: Policy -> Jurisdiction
relationship ADOPTED_BY: Policy -> PublicInstitution
relationship ADDRESSES: Policy -> PolicyObjective
relationship IMPLEMENTED_THROUGH: Policy -> PolicyInstrument
relationship FUNDS: Programme -> PolicyInstrument
relationship AFFECTS: Policy -> PopulationGroup
relationship CONSULTS: Consultation -> Stakeholder
relationship MEASURES: Indicator -> PolicyObjective
relationship OBSERVES: Observation -> Indicator
relationship SUPPORTED_BY: Evaluation -> EvidenceSource
relationship EVALUATES: Evaluation -> Policy
relationship REPORTS: Evaluation -> Outcome
relationship ASSESSES: ImpactAssessment -> Policy
relationship AUTHORISES: Decision -> Policy
relationship DEPENDS_ON: Policy -> Policy
relationship CONFLICTS_WITH: Policy -> Policy
relationship SUPERSEDES: Policy -> Policy
# 4. POLICY LIFECYCLE
states: [agenda_setting, formulation, consultation, adoption, implementation, monitoring, evaluation, revision, retirement]
transitions:
- agenda_setting -> formulation
- formulation -> consultation
- consultation -> adoption
- adoption -> implementation
- implementation -> monitoring
- monitoring -> evaluation
- evaluation -> revision
- revision -> implementation
- evaluation -> retirement
note: "Transitions are possible paths, not universally mandatory steps."
# 5. INFERENCE RULES
rule jurisdiction_scope:
when: "Policy APPLIES_IN Jurisdiction"
infer: "Policy scope is constrained to that jurisdiction, subject to legal exceptions"
rule measurable_objective:
when: "Policy ADDRESSES Objective AND Indicator MEASURES Objective"
infer: "Objective has an associated measurement definition"
rule evidence_traceability:
when: "Evaluation EVALUATES Policy AND Evaluation SUPPORTED_BY EvidenceSource"
infer: "Policy evaluation has a traceable evidence source"
rule policy_dependency:
when: "PolicyA DEPENDS_ON PolicyB AND PolicyB is retired"
infer: "Review PolicyA for dependency impacts"
rule observation_not_causation:
when: "Outcome temporally follows Policy"
infer: "Temporal association only; causal attribution requires a justified design"
rule outdated_evidence:
when: "EvidenceSource has newer relevant version"
infer: "Flag older evidence for review, not automatic rejection"
# 6. CONFIDENCE
CONFIDENCE:
range: [0.0, 1.0]
applies_to: [assertions, entity_resolution, extracted_relationships, inferences]
factors: [source_reliability, recency, methodological_quality, corroboration, uncertainty]
requirement: "Confidence is calibrated evidence strength, not policy desirability."
# 7. SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE:
exact: ["public policy", "government policy (where context supports equivalence)"]
related_not_equivalent: ["law", "regulation", "political manifesto", "public programme", "administrative decision"]
disambiguation: [jurisdiction, effective_period, instrument_type, institutional_context]
rule: "Do not merge proposals with enacted policies or outputs with outcomes."
# 8. TEMPORAL AND JURISDICTIONAL VALIDITY
validity:
record: [effective_date, repeal_date, version, jurisdiction, authority]
temporal_queries: "Resolve claims against their relevant date and policy version."
conflicts: "Preserve competing sources and explain differing scope or interpretations."
# 9. PROVENANCE
PROVENANCE:
required: [source_id, source_uri, retrieved_at, extracted_at, claim_id, method]
optional: [author, publication_date, licence, review_status]
constraint: "Keep empirical findings distinct from assumptions, forecasts, and opinions."
# 10. FLOW HASH
FLOW_HASH:
algorithm: SHA-256
input: "Canonical UTF-8 serialisation of ontology version, entity schemas, relationship schemas and rules"
purpose: [integrity, change_detection, reproducibility]
note: "Compute digest during deployment; no fabricated hash value."
# 11. UPDATE MODEL
UPDATE_MODEL:
triggers: [new_legislation, amended_policy, new_evidence, changed_indicator, revised_evaluation]
steps: [ingest, validate, deduplicate, version, compare, re-evaluate_inferences, publish]
retain: [historical_versions, source_attribution, audit_trail]
prohibit: "Silent overwriting of historical policy states"
# 12. AI CONSUMPTION
AI_CONSUMPTION:
formats: [plain_text, JSON-LD, RDF, knowledge_graph]
retrieval_keys: [policy_id, jurisdiction_id, objective_id, indicator_id, effective_date]
outputs: [typed_entities, typed_relationships, supporting_sources, uncertainty, temporal_scope]
guardrails: [avoid_unsupported_causality, distinguish_fact_from_value_judgement, avoid_partisan_endorsement, cite_evidence]
END FLOW
Download Code
Copy to Clipboard