Digital Compass Ontology v2: Integrating Theory and Practice
Digital Compass Ontology v2: Integrating Theory and Practice
This document represents the Version 2.0 evolution of the Digital Compass Ontology. It expands the initial operational model (Navigators & Populations) to include the theoretical foundations (Sen, Appadurai, Dweck) and the causal mechanisms required for the Bayesian Intelligence Network.
Core Evolution
- v1: Who is doing what? (Navigators -> Services -> Populations)
- v2: WHY does it work? (Interventions -> Theoretical Mechanisms -> Outcomes)
This ontology allows the system to reason: “The Navigator provides training (Action) which builds Navigation Capacity (Appadurai) and converts Infrastructure (Resource) into Capability (Sen), leading to increased Adoption (Outcome).”
Ontology Code (Python/Owlready2)
from owlready2 import *
# Create a new ontology
onto = get_ontology("http://digitalcompass.org/ontology/v2/compass.owl")
with onto:
# ==========================================
# 1. CORE ENTITIES (The "Who" and "What")
# ==========================================
class Person(Thing): pass
class Population(Thing): pass
class Location(Thing): pass
class Resource(Thing): pass
# ==========================================
# 2. THEORETICAL DIMENSIONS (The "Why")
# ==========================================
class TheoreticalConstruct(Thing): pass
# Sen's Capabilities Approach
class Capability(TheoreticalConstruct): pass
class ConversionFactor(TheoreticalConstruct): pass
class Functioning(TheoreticalConstruct): pass
# Appadurai's Capacity to Aspire
class Aspiration(TheoreticalConstruct): pass
class NavigationMap(TheoreticalConstruct): pass
# Dweck's Mindset
class Mindset(TheoreticalConstruct): pass
# ==========================================
# 3. OPERATIONAL ENTITIES (The "How")
# ==========================================
class Intervention(Thing): pass
class DigitalNavigator(Person): pass
class Outcome(Thing): pass
# ==========================================
# 4. PROPERTIES (The Relationships)
# ==========================================
# Causal Relationships (Crucial for Bayesian Network)
class influences(ObjectProperty):
domain = [Thing]
range = [Thing]
class enables(ObjectProperty):
subproperty_of = influences
class converts_to(ObjectProperty):
"""Sen: Resources + Conversion Factors -> Capability"""
domain = [Resource, ConversionFactor]
range = [Capability]
class thickens_map(ObjectProperty):
"""Appadurai: Interventions thicken the navigational map"""
domain = [Intervention]
range = [NavigationMap]
class fosters_mindset(ObjectProperty):
"""Dweck: Interventions foster growth mindset"""
domain = [Intervention]
range = [Mindset]
# Operational Relationships
class targets_population(ObjectProperty):
domain = [Intervention]
range = [Population]
class located_in(ObjectProperty):
domain = [Person, Resource]
range = [Location]
# ==========================================
# 5. INSTANTIATION (The "Vertical Slice")
# ==========================================
# --- The Context (Location & Population) ---
baraga_county = Location("BaragaCounty")
rural_seniors = Population("RuralSeniors")
# --- The Resources (Infrastructure) ---
broadband_infra = Resource("FiberBroadband")
broadband_infra.located_in.append(baraga_county)
# --- The Theory (The "Hidden" Variables) ---
# Sen: The ability to actually USE the internet
digital_capability = Capability("DigitalCapability")
# Appadurai: The ability to imagine digital futures
nav_capacity = NavigationMap("DigitalNavigationMap")
# Dweck: The belief in learning
growth_mindset = Mindset("GrowthMindset")
# --- The Intervention (The Navigator's Work) ---
# A Navigator Program isn't just "Tech Support"
# It is a multi-faceted theoretical intervention
navigator_program = Intervention("BaragaNavigatorProgram")
navigator_program.targets_population.append(rural_seniors)
# The "Why" it works (The Edges):
# 1. It acts as a Conversion Factor (Sen)
navigator_program.is_a.append(ConversionFactor)
navigator_program.converts_to.append(digital_capability)
# 2. It thickens the map (Appadurai)
navigator_program.thickens_map.append(nav_capacity)
# 3. It fosters mindset (Dweck)
navigator_program.fosters_mindset.append(growth_mindset)
# --- The Outcome ---
sustainable_adoption = Outcome("SustainableAdoption")
# The Causal Chain for the Bayesian Network:
# Capability + Aspiration + Mindset -> Outcome
digital_capability.influences.append(sustainable_adoption)
nav_capacity.influences.append(sustainable_adoption)
growth_mindset.influences.append(sustainable_adoption)
# Save the ontology
onto.save(file="digital_compass_v2.owl")
Detailed Explanation of New Theoretical Classes
1. Sen’s Capabilities (Capability, ConversionFactor)
- Why it’s here: To distinguish between having a connection (Resource) and being able to use it (Capability).
- Role in AI: The AI can now understand that giving a laptop (Resource) to a senior without training (Conversion Factor) will result in Zero Capability.
- Bayesian Node:
P(Capability | Resource, ConversionFactor)
2. Appadurai’s Navigation (NavigationMap)
- Why it’s here: To model the “Demand Side” gap. Why don’t people sign up even when it’s free?
- Role in AI: The AI can diagnose “Thin Maps.” If infrastructure is high but adoption is low, the system infers a lack of
NavigationMapand recommends interventions that “show the way” (e.g., success stories, peer modeling). - Bayesian Node:
P(Adoption | Capability, NavigationMap)
3. Dweck’s Mindset (Mindset)
- Why it’s here: To model resilience. What happens when the user hits a snag?
- Role in AI: The AI tracks
GrowthMindsetas a predictor of long-term retention. High mindset = low churn. - Bayesian Node:
P(Retention | Adoption, Mindset)
How This Connects to the “Intelligence” Layer
This ontology provides the Structure for the Bayesian Network.
- Nodes: Every instance of a Class (e.g.,
BaragaNavigatorProgram) becomes a node in the Bayesian graph. - Edges: Every Property (e.g.,
thickens_map) becomes a causal link. - Probabilities: The “Intelligence” layer learns the strength of these edges from data.
-
Example: How strongly does BaragaNavigatorPrograminfluenceGrowthMindset? The data (surveys) will tell us, and the Bayesian network will update the probability $P(MindsetProgram)$.
-
This v2 Ontology transforms the system from a Directory of Services into a Causal Engine for Equity.