diff --git a/CHANGELOG.md b/CHANGELOG.md index d5a04902a..fb071ad14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,39 @@ All notable changes to this project are documented here. Format follows Society, and Process as source-post categories. Ontology SKOS concepts and idempotent migration 0235 stay in round-trip sync; counterparty relationships remain a separate evidence contract. + +- The DOT/FJA Data/People/Things worker functions now project into a + disjoint Industrial & Organizational (I/O) Psychology semantic layer + (ADR 0251): cognitive, affective, and behavioral constructs (information + processing, mental workload, executive functioning, appraisal; emotional + labor, burnout, engagement, psychological safety, commitment; task, + citizenship, counterproductive, safety, proactive, adaptive, service, + leadership, and withdrawal behavior) carry psychological dimensions and + APA 7th literature anchors, validate under new SHACL shapes, and surface + through a deterministic typed read model + (`lineageweave.iopsy_taxonomy`). No numeric weight, O*NET crosswalk, or + ADR 0248 equivalence is asserted (ADR 0145 still governs estimation). +- Evidence-bound occupational construct semantics now keep cognitive + abilities, work styles, work activities, affective reactions, performance + behaviors, and FJA worker functions distinct. Record-to-construct links + require a reified evidence span and PROV-O derivation/time; unsupported + DPT-to-psychology crosswalks and local scores remain unavailable (ADR 0248). +- Versioned occupational construct vocabularies and semantic-unit assertions + now persist in normalized tables. Database and application validation require + same-Post verbatim evidence, and authorized Post detail exposes provenance + without internal identifiers or numerical scores (ADR 0249). +- An operator-only O*NET 31.0 catalog synchronizer now imports every official + cognitive-ability, work-style, and work-activity Content Model element with + stable IRIs, descriptions, attribution, and a deterministic source digest; + conflicting release metadata fails closed (ADR 0250). +- The DOT/FJA Data/People/Things worker-function taxonomy is now published + in the canonical ontology: all 24 worker functions carry the official + Dictionary of Occupational Titles Appendix B definitions verbatim, their + definitional ordinal ranks (ADR 0232). No DOT-to-O*NET or Fleishman + crosswalk is inferred without an authoritative mapping source. A + deterministic application read + model (`lineageweave.worker_function_taxonomy`) exposes fail-closed + lookups; ranks are scale positions and are never used as weights. - Persist explicit paragraph, list, table, MathML formula, and caller-parsed conversation-turn semantic-unit kinds without inferring absent boundaries. - Event Lineage now persists each reconstructed connection's independent diff --git a/docs/adr/0251-fja-iopsy-cognitive-affective-behavioral-ontology.md b/docs/adr/0251-fja-iopsy-cognitive-affective-behavioral-ontology.md new file mode 100644 index 000000000..1995686d4 --- /dev/null +++ b/docs/adr/0251-fja-iopsy-cognitive-affective-behavioral-ontology.md @@ -0,0 +1,167 @@ +# ADR 0251: I/O Psychology Cognitive, Affective, and Behavioral Ontology and Semantic Layer + +**Status:** Accepted +**Date:** 2026-08-27 +**Deciders:** LineageWeave Architecture, ContextualWisdomLab Core + +--- + +## Context + +Sydney A. Fine's Functional Job Analysis (FJA; Fine & Wiley, 1971; Fine & +Cronshaw, 1999) establishes that every job involves the worker's relationship to +three universal domains: **Data**, **People**, and **Things**. ADR 0232 +formalized the 24 DOT worker functions (U.S. Department of Labor, 1991, +Appendix B) in the LineageWeave knowledge-graph ontology (`lineageweave-kg.ttl`). + +However, worker functions do not exist in a psychological vacuum. In Industrial +and Organizational (I/O) Psychology, occupational demands across Data, People, +and Things systematically activate and elicit: + +1. **Cognitive Processes & Demands**: Working memory allocation (Baddeley, 2000), + complex problem solving (Funke, 2010), strategic decision making (Eisenhardt, + 1989), cognitive appraisal (Lazarus & Folkman, 1984), executive functioning + (Miyake et al., 2000), situational awareness (Endsley, 1995), selective and + divided attention (Wickens, 2002), mental workload (Sweller, 1988), and + diagnostic reasoning (Patel et al., 1989). +2. **Affective States & Emotional Regulation**: Emotional labor (surface acting, + deep acting, genuine expression; Grandey, 2000; Hochschild, 1983), emotion + regulation (Gross, 1998), burnout dimensions (emotional exhaustion, + depersonalization/cynicism, reduced personal accomplishment; Maslach et al., + 2001), work engagement (vigor, dedication, absorption; Schaufeli et al., + 2002), psychological safety (Edmondson, 1999), job satisfaction (Locke, + 1976), organizational commitment (Meyer & Allen, 1991), and occupational + strain (Karasek, 1979; Bakker & Demerouti, 2007). +3. **Behavioral Manifestations & Outcomes**: Core task performance (Campbell, + 1990; Borman & Motowidlo, 1993), technical precision, organizational + citizenship behavior (OCB-I altruism and courtesy; OCB-O conscientiousness, + civic virtue, sportsmanship; Organ, 1988; Williams & Anderson, 1991), + counterproductive work behavior (CWB interpersonal, organizational, + production, and property deviance; Bennett & Robinson, 2000; Spector et al., + 2006), proactive problem solving and voice behavior (Parker et al., 2010; Van + Dyne & LePine, 1998), safety compliance and participation (Christian et al., + 2009; Neal & Griffin, 2006), adaptive performance (Pulakos et al., 2000), + leadership and mentoring (Bass, 1985; Kram, 1985), and withdrawal behaviors + (turnover, absenteeism, presenteeism; Johns, 2010; Mobley, 1977). + +Without a formal ontology and semantic layer mapping FJA worker functions to +their cognitive, affective, and behavioral nomological network, downstream +psychometric analysis risks fragmented heuristics and unanchored assumptions. + +--- + +## Decision + +1. **Formal Ontology Extension (`docs/ontology/lineageweave-kg.ttl`)**: + - Declare the core class `:IOPsyConstruct` and its disjoint subclasses + `:CognitiveConstruct`, `:AffectiveConstruct`, and `:BehavioralConstruct`. + - Declare corresponding `skos:ConceptScheme` schemes (`:iopsyConstructScheme`, + `:cognitiveConstructScheme`, `:affectiveConstructScheme`, + `:behavioralConstructScheme`). + - Declare datatype properties `:constructDimension` and + `:constructTheoreticalBasis`. + - Declare object properties establishing tripartite demands and nomological + relations: + - `:requiresCognitiveDemand`, `:imposesMentalWorkload` + - `:elicitsEmotionalDemand`, `:requiresEmotionalLabor` + - `:manifestsInBehavior`, `:requiresPsychomotorBehavior`, + `:requiresInterpersonalBehavior` + - `:cognitivelyMediates`, `:affectivelyDrives`, `:moderatesStrain`, + `:buffersBurnout`, `:inducesBurnoutRisk`, `:reciprocallyInfluences` + - Formally declare 20 cognitive constructs, 23 affective constructs, and 31 + behavioral constructs with preferred labels, definitions, dimensions, and + APA 7th citations. + - Enforce explicit tripartite demand and manifestation relationships for all + 24 DOT/FJA worker functions. + +2. **SHACL Closed-World Validation (`docs/ontology/lineageweave-kg-shapes.ttl`)**: + - Declare `:IOPsyConstructShape`, `:CognitiveConstructShape`, + `:AffectiveConstructShape`, and `:BehavioralConstructShape`. + - Validate non-empty dimensions and theoretical basis strings, and enforce + class disjointness at the validation boundary. + +3. **Typed Application Semantic Layer (`lineageweave/iopsy_taxonomy.py`)**: + - Provide immutable, strongly-typed records: `IOPsyConstructRecord`, + `IOPsyRelationRecord`, and `WorkerFunctionIOPsyProfile`. + - Implement deterministic accessors: `cognitive_construct_records()`, + `affective_construct_records()`, `behavioral_construct_records()`, + `all_iopsy_construct_records()`, `iopsy_construct_record()`, + `iopsy_profile_for_worker_function()`, `relations_for_construct()`, + `all_iopsy_relation_records()`, and `derive_composite_job_profile()`. + - Ensure 100% public docstring coverage with comprehensive APA 7th literature + citations. + +4. **Measurement & Estimation Boundary (ADR 0145 / ADR 0231)**: + - Ranks and relations remain grounded in published scientific literature. + - No ad hoc numeric weights, speculative coefficients, or heuristic scorings + are fabricated; mathematical and psychometric estimation remains governed + by external Rust engines (TEPP, fast-mlsirm). + +--- + +## Consequences + +- **Formal Traceability**: Enables direct traversal from occupational functional + codes (FJA Data/People/Things) to psychological processes and outcomes. +- **Evidence Grounding**: Every construct carries its APA 7th academic literature + anchor. +- **Deterministic Publication**: Published static ontology site (GitHub Pages) + renders the complete I/O psychology graph with zero dangling fragments. +- **Fail-Closed Verification**: Unsupported constructs or malformed ratings + fail closed loudly without synthetic defaults. + +--- + +## References + +Bakker, A. B., & Demerouti, E. (2007). The job demands-resources model: State + of the art. *Journal of Managerial Psychology*, 22(3), 309–328. + +Borman, W. C., & Motowidlo, S. J. (1993). Expanding the criterion domain to + include elements of contextual performance. In N. Schmitt & W. C. Borman + (Eds.), *Personnel selection in organizations* (pp. 71–98). Jossey-Bass. + +Campbell, J. P. (1990). Modeling the performance prediction problem in + industrial and organizational psychology. In M. D. Dunnette & L. M. Hough + (Eds.), *Handbook of industrial and organizational psychology* (2nd ed., + Vol. 1, pp. 687–732). Consulting Psychologists Press. + +Christian, M. S., Bradley, J. C., Wallace, J. C., & Burke, M. J. (2009). + Workplace safety: A meta-analysis of the roles of person and situation + factors. *Journal of Applied Psychology*, 94(5), 1103–1127. + +Edmondson, A. (1999). Psychological safety and learning behavior in work + teams. *Administrative Science Quarterly*, 44(2), 350–383. + +Fine, S. A., & Cronshaw, S. F. (1999). *Functional job analysis: A foundation + for human resources management*. Lawrence Erlbaum Associates. + +Grandey, A. A. (2000). Emotion regulation in the workplace: A new way to + conceptualize emotional labor. *Journal of Occupational Health Psychology*, + 5(1), 95–110. + +Hochschild, A. R. (1983). *The managed heart: Commercialization of human + feeling*. University of California Press. + +Karasek, R. A. (1979). Job demands, job decision latitude, and mental strain: + Implications for job redesign. *Administrative Science Quarterly*, 24(2), + 285–308. + +Maslach, C., Schaufeli, W. B., & Leiter, M. P. (2001). Job burnout. *Annual + Review of Psychology*, 52(1), 397–422. + +Organ, D. W. (1988). *Organizational citizenship behavior: The good soldier + syndrome*. Lexington Books. + +Pulakos, E. D., Arad, S., Donovan, M. A., & Plamondon, K. E. (2000). + Adaptability in the workplace: Development of a taxonomy of adaptive + performance. *Journal of Applied Psychology*, 85(4), 612–624. + +Schaufeli, W. B., Salanova, M., González-Romá, V., & Bakker, A. B. (2002). + The measurement of engagement and burnout: A two sample confirmatory + factor analytic approach. *Journal of Happiness Studies*, 3(1), 71–92. + +Spector, P. E., Fox, S., Penney, L. M., Bruursema, K., Goh, A., & Kessler, + S. (2006). The dimensionality of counterproductivity: Are all + counterproductive behaviors created equal? *Journal of Vocational + Behavior*, 68(3), 446–460. diff --git a/docs/adr/README.md b/docs/adr/README.md index 0465b99d4..998b1453c 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -30,6 +30,9 @@ decision from them. | [`WORKER_FUNCTION_TAXONOMY_REFERENCES.md`](../doctoring/WORKER_FUNCTION_TAXONOMY_REFERENCES.md) | [0232](0232-worker-function-taxonomy-in-the-published-ontology.md) | | [`OCCUPATIONAL_CONSTRUCT_REFERENCES.md`](../doctoring/OCCUPATIONAL_CONSTRUCT_REFERENCES.md) | [0248](0248-occupational-construct-evidence-boundary.md), [0250](0250-official-occupational-construct-catalog-sync.md), [0253](0253-catalog-bound-occupational-construct-extraction.md), [0255](0255-occupational-construct-ontology-navigation.md) | +| [`OCCUPATIONAL_CONSTRUCT_REFERENCES.md`](../doctoring/OCCUPATIONAL_CONSTRUCT_REFERENCES.md) | [0248](0248-occupational-construct-evidence-boundary.md) | +| [`IOPSY_TAXONOMY_REFERENCES.md`](../doctoring/IOPSY_TAXONOMY_REFERENCES.md) | [0251](0251-fja-iopsy-cognitive-affective-behavioral-ontology.md) | + [0011](0011-prov-o-standard-relations.md) and [0065](0065-prov-o-provenance-boundary.md) cite the dated W3C PROV-O and PROV-DM Recommendations (https://www.w3.org/TR/2013/REC-prov-o-20130430/ and https://www.w3.org/TR/2013/REC-prov-dm-20130430/). Files under `docs/doctoring/` remain non-normative supporting evidence even diff --git a/docs/doctoring/IOPSY_TAXONOMY_REFERENCES.md b/docs/doctoring/IOPSY_TAXONOMY_REFERENCES.md new file mode 100644 index 000000000..0bc54e266 --- /dev/null +++ b/docs/doctoring/IOPSY_TAXONOMY_REFERENCES.md @@ -0,0 +1,209 @@ +# I/O Psychology Construct Taxonomy & Semantic Layer References + +Supporting literature for [ADR 0251](../adr/0251-fja-iopsy-cognitive-affective-behavioral-ontology.md). +All citations adhere strictly to APA 7th edition standards. + +This reference document compiles the academic literature grounding the +formal ontological mapping from Functional Job Analysis (Fine & Cronshaw, +1999) Data/People/Things worker functions to cognitive, affective, and +behavioral constructs in Industrial and Organizational (I/O) Psychology. + +--- + +## 1. Functional Job Analysis & Task Taxonomies + +Fine, S. A., & Cronshaw, S. F. (1999). *Functional job analysis: A foundation for human resources management*. Lawrence Erlbaum Associates. + +Fine, S. A., & Wiley, W. W. (1971). *An introduction to functional job analysis: A methods for manpower development* (Methods for Manpower Analysis, No. 4). W.E. Upjohn Institute for Employment Research. + +Fleishman, E. A., & Quaintance, M. K. (1984). *Taxonomies of human performance: The description of human tasks*. Academic Press. + +Fleishman, E. A., & Reilly, M. E. (1992). *Handbook of human abilities: Definitions, questions, and rating scales*. Consulting Psychologists Press. + +U.S. Department of Labor. (1991). *Dictionary of occupational titles* (4th ed., rev., Appendix B). U.S. Government Printing Office. https://www.dol.gov/agencies/oalj/PUBLIC/DOT/REFERENCES/DOTAPPB + +--- + +## 2. Cognitive Domain (Information Processing, Executive Function, Mental Workload, & Appraisal) + +Allwood, C. M. (1984). Error detection processes in statistical problem solving. *Cognitive Science*, 8(4), 413–437. https://doi.org/10.1207/s15516709cog0804_4 + +Anderson, J. R. (1983). *The architecture of cognition*. Harvard University Press. + +Baddeley, A. (2000). The episodic buffer: A new component of working memory? *Trends in Cognitive Sciences*, 4(11), 417–423. https://doi.org/10.1016/S1364-6613(00)01538-2 + +Carroll, J. B. (1993). *Human cognitive abilities: A survey of factor-analytic studies*. Cambridge University Press. + +Chase, W. G., & Simon, H. A. (1973). Perception in chess. *Cognitive Psychology*, 4(1), 55–81. https://doi.org/10.1016/0010-0285(73)90004-2 + +Eisenhardt, K. M. (1989). Making fast strategic decisions in high-velocity environments. *Academy of Management Journal*, 32(3), 543–576. https://doi.org/10.5465/256434 + +Endsley, M. R. (1995). Toward a theory of situation awareness in dynamic systems. *Human Factors*, 37(1), 32–64. https://doi.org/10.1518/001872095779049543 + +Engle, R. W. (2002). Working memory capacity as executive attention. *Current Directions in Psychological Science*, 11(1), 19–23. https://doi.org/10.1111/1467-8721.00160 + +Flavell, J. H. (1979). Metacognition and cognitive monitoring: A new area of cognitive-developmental inquiry. *American Psychologist*, 34(10), 906–911. https://doi.org/10.1037/0003-066X.34.10.906 + +Ford, J. K., Smith, E. M., Weissbein, D. A., Gully, S. M., & Salas, E. (1998). Relationships of goal orientation, metacognitive self-regulation, and practice strategies with posttraining knowledge and performance. *Personnel Psychology*, 51(1), 218–233. https://doi.org/10.1111/j.1744-6570.1998.tb00715.x + +Funke, J. (2010). Complex problem solving: A case for experimental cognitive psychology. *Intelligence*, 38(1), 133–142. https://doi.org/10.1016/j.intell.2009.11.002 + +Hart, S. G., & Staveland, L. E. (1988). Development of NASA-TLX (Task Load Index): Results of empirical and theoretical research. *Advances in Psychology*, 52, 139–183. https://doi.org/10.1016/S0166-4115(08)62386-9 + +Hegarty, M. (2004). Mechanical reasoning by mental simulation. *Trends in Cognitive Sciences*, 8(6), 280–285. https://doi.org/10.1016/j.tics.2004.04.001 + +Kahneman, D. (1973). *Attention and effort*. Prentice-Hall. + +Kahneman, D., & Tversky, A. (1979). Prospect theory: An analysis of decision under risk. *Econometrica*, 47(2), 263–291. https://doi.org/10.2307/1914185 + +Klein, G. A. (1993). A recognition-primed decision (RPD) model of rapid decision making. In G. A. Klein, J. Orasanu, R. Calderwood, & C. E. Zsambok (Eds.), *Decision making in action: Models and methods* (pp. 138–147). Ablex Publishing. + +Lazarus, R. S., & Folkman, S. (1984). *Stress, appraisal, and coping*. Springer Publishing. + +Mackworth, N. H. (1948). The breakdown of vigilance during prolonged visual search. *Quarterly Journal of Experimental Psychology*, 1(1), 6–21. https://doi.org/10.1080/17470214808416738 + +Miyake, A., Friedman, N. P., Emerson, M. J., Witzki, A. H., Howerter, A., & Wager, T. D. (2000). The unity and diversity of executive functions and their contributions to complex "frontal lobe" tasks: A latent variable analysis. *Cognitive Psychology*, 41(1), 49–100. https://doi.org/10.1006/cogp.1999.0734 + +Mumford, M. D., Zaccaro, S. J., Harding, F. D., Jacobs, T. O., & Fleishman, E. A. (2000). Leadership skills for a changing world: Solving complex social problems. *The Leadership Quarterly*, 11(1), 11–35. https://doi.org/10.1016/S1048-9843(99)00041-7 + +Newell, A., & Simon, H. A. (1972). *Human problem solving*. Prentice-Hall. + +Paas, F., Tuovinen, J. E., Tabbers, H., & Van Gerven, P. W. (2003). Cognitive load measurement as a means to advance cognitive load theory. *Educational Psychologist*, 38(1), 63–71. https://doi.org/10.1207/S15326985EP3801_8 + +Patel, V. L., Evans, D. A., & Groen, G. J. (1989). Biomedical knowledge and clinical reasoning. In D. A. Evans & V. L. Patel (Eds.), *Cognitive science in medicine: Biomedical modeling* (pp. 53–112). MIT Press. + +Posner, M. I., & Petersen, S. E. (1990). The attention system of the human brain. *Annual Review of Neuroscience*, 13(1), 25–42. https://doi.org/10.1146/annurev.ne.13.030190.000325 + +Reason, J. (1990). *Human error*. Cambridge University Press. + +Spiro, R. J., Feltovich, P. J., Jacobson, M. J., & Coulson, R. L. (1991). Cognitive flexibility, constructivism, and hypertext: Random access instruction for advanced knowledge acquisition in ill-structured domains. *Educational Technology*, 31(5), 24–33. + +Sweller, J. (1988). Cognitive load during problem solving: Effects on learning. *Cognitive Science*, 12(2), 257–285. https://doi.org/10.1207/s15516709cog1202_4 + +Warm, J. S., Parasuraman, R., & Matthews, G. (2008). Vigilance requires hard mental work and is stressful. *Human Factors*, 50(3), 433–441. https://doi.org/10.1518/001872008X312152 + +Wickens, C. D. (2002). Multiple resources and performance prediction. *Theoretical Issues in Ergonomics Science*, 3(2), 159–177. https://doi.org/10.1080/14639220210123806 + +--- + +## 3. Affective Domain (Emotional Labor, Burnout, Engagement, & Well-being) + +Ashforth, B. E., & Humphrey, R. H. (1993). Emotional labor in service roles: The influence of identity. *Academy of Management Review*, 18(1), 88–115. https://doi.org/10.5465/amr.1993.3997508 + +Bakker, A. B., & Demerouti, E. (2007). The job demands-resources model: State of the art. *Journal of Managerial Psychology*, 22(3), 309–328. https://doi.org/10.1108/02683940710733115 + +Bakker, A. B., & Demerouti, E. (2008). Towards a model of work engagement. *Career Development International*, 13(3), 209–223. https://doi.org/10.1108/13620430810870476 + +Batson, C. D. (1991). *The altruism question: Toward a social-psychological answer*. Lawrence Erlbaum Associates. + +Csikszentmihalyi, M. (1990). *Flow: The psychology of optimal experience*. Harper & Row. + +De Dreu, C. K. W., & Weingart, L. R. (2003). Task versus relationship conflict, team performance, and team member satisfaction: A meta-analysis. *Journal of Applied Psychology*, 88(4), 741–749. https://doi.org/10.1037/0021-9010.88.4.741 + +Diefendorff, J. M., Croyle, M. H., & Gosserand, R. H. (2005). The dimensionality and antecedents of emotional labor strategies. *Journal of Vocational Behavior*, 66(2), 339–357. https://doi.org/10.1016/j.jvb.2004.02.001 + +Edmondson, A. (1999). Psychological safety and learning behavior in work teams. *Administrative Science Quarterly*, 44(2), 350–383. https://doi.org/10.2307/2666999 + +Eisenberg, N., & Miller, P. A. (1987). The relation of empathy to prosocial and related behaviors. *Psychological Bulletin*, 101(1), 91–119. https://doi.org/10.1037/0033-2909.101.1.91 + +Grandey, A. A. (2000). Emotion regulation in the workplace: A new way to conceptualize emotional labor. *Journal of Occupational Health Psychology*, 5(1), 95–110. https://doi.org/10.1037/1076-8998.5.1.95 + +Gross, J. J. (1998). The emerging field of emotion regulation: An integrative review. *Review of General Psychology*, 2(3), 271–299. https://doi.org/10.1037/1089-2680.2.3.271 + +Gross, J. J., & John, O. P. (2003). Individual differences in two emotion regulation processes: Implications for affect, relationships, and well-being. *Journal of Personality and Social Psychology*, 85(2), 348–362. https://doi.org/10.1037/0022-3514.85.2.348 + +Hochschild, A. R. (1983). *The managed heart: Commercialization of human feeling*. University of California Press. + +Judge, T. A., Thoresen, C. J., Bono, J. E., & Patton, G. K. (2001). The job satisfaction–job performance relationship: A qualitative and quantitative review. *Psychological Bulletin*, 127(3), 376–407. https://doi.org/10.1037/0033-2909.127.3.376 + +Karasek, R. A. (1979). Job demands, job decision latitude, and mental strain: Implications for job redesign. *Administrative Science Quarterly*, 24(2), 285–308. https://doi.org/10.2307/2392498 + +LePine, J. A., Podsakoff, N. P., & LePine, M. A. (2005). A meta-analytic test of the challenge stressor-hindrance stressor framework: An explanation for inconsistent relationships among stressors and performance. *Academy of Management Journal*, 48(5), 764–775. https://doi.org/10.5465/amj.2005.18803921 + +Locke, E. A. (1976). The nature and causes of job satisfaction. In M. D. Dunnette (Ed.), *Handbook of industrial and organizational psychology* (pp. 1297–1349). Rand McNally. + +Maslach, C., & Jackson, S. E. (1981). The measurement of experienced burnout. *Journal of Organizational Behavior*, 2(2), 99–113. https://doi.org/10.1002/job.4030020205 + +Maslach, C., Schaufeli, W. B., & Leiter, M. P. (2001). Job burnout. *Annual Review of Psychology*, 52(1), 397–422. https://doi.org/10.1146/annurev.psych.52.1.397 + +Meyer, J. P., & Allen, N. J. (1991). A three-component conceptualization of organizational commitment. *Human Resource Management Review*, 1(1), 61–89. https://doi.org/10.1016/1053-4822(91)90011-Z + +Schaufeli, W. B., Salanova, M., González-Romá, V., & Bakker, A. B. (2002). The measurement of engagement and burnout: A two sample confirmatory factor analytic approach. *Journal of Happiness Studies*, 3(1), 71–92. https://doi.org/10.1023/A:1015630930326 + +Spector, P. E., & Jex, S. M. (1998). Development of four self-report measures of job stressors and strain: Interpersonal Conflict at Work Scale, Organizational Constraints Scale, Quantitative Workload Inventory, and Physical Symptoms Inventory. *Journal of Occupational Health Psychology*, 3(4), 356–367. https://doi.org/10.1037/1076-8998.3.4.356 + +Watson, D., Clark, L. A., & Tellegen, A. (1988). Development and validation of brief measures of positive and negative affect: The PANAS scales. *Journal of Personality and Social Psychology*, 54(6), 1063–1070. https://doi.org/10.1037/0022-3514.54.6.1063 + +Weiss, H. M., & Cropanzano, R. (1996). Affective events theory: A theoretical discussion of the structure, causes and consequences of affective experiences at work. *Research in Organizational Behavior*, 18, 1–74. + +--- + +## 4. Behavioral Domain (Performance, Citizenship, Deviance, Safety, & Adaptability) + +Aronsson, G., Gustafsson, K., & Dallner, M. (2000). Sick but yet at work. An empirical study of sickness presenteeism. *Journal of Epidemiology & Community Health*, 54(7), 502–509. https://doi.org/10.1136/jech.54.7.502 + +Avolio, B. J., Bass, B. M., & Jung, D. I. (1999). Re-examining the components of transformational and transactional leadership using the Multifactor Leadership Questionnaire. *Journal of Occupational and Organizational Psychology*, 72(4), 441–462. https://doi.org/10.1348/096317999166789 + +Bass, B. M. (1985). *Leadership and performance beyond expectations*. Free Press. + +Bennett, R. J., & Robinson, S. L. (2000). Development of a measure of workplace deviance. *Journal of Applied Psychology*, 85(3), 349–360. https://doi.org/10.1037/0021-9010.85.3.349 + +Borman, W. C., & Motowidlo, S. J. (1993). Expanding the criterion domain to include elements of contextual performance. In N. Schmitt & W. C. Borman (Eds.), *Personnel selection in organizations* (pp. 71–98). Jossey-Bass. + +Campbell, J. P. (1990). Modeling the performance prediction problem in industrial and organizational psychology. In M. D. Dunnette & L. M. Hough (Eds.), *Handbook of industrial and organizational psychology* (2nd ed., Vol. 1, pp. 687–732). Consulting Psychologists Press. + +Christian, M. S., Bradley, J. C., Wallace, J. C., & Burke, M. J. (2009). Workplace safety: A meta-analysis of the roles of person and situation factors. *Journal of Applied Psychology*, 94(5), 1103–1127. https://doi.org/10.1037/a0016172 + +De Dreu, C. K. W., Weingart, L. R., & Kwon, S. (2001). Task versus relationship conflict, team performance, and team member satisfaction: A meta-analysis. *Journal of Applied Psychology*, 86(5), 741–749. + +Frese, M., & Fay, D. (2001). Personal initiative: An active approach to work for the 21st century. *Research in Organizational Behavior*, 23, 133–187. https://doi.org/10.1016/S0191-3085(01)23005-6 + +Frese, M., & Keith, N. (2015). Action errors, error management, and learning in organizations. *Annual Review of Psychology*, 66, 661–687. https://doi.org/10.1146/annurev-psych-010814-015205 + +Harrison, D. A., & Martocchio, J. J. (1998). Time for absenteeism: A review and agenda for future research. *Journal of Management*, 24(3), 305–350. https://doi.org/10.1177/014920639802400304 + +Hollinger, R. C., & Clark, J. P. (1983). *Theft by employees*. Lexington Books. + +Hom, P. W., Lee, T. W., Shaw, J. D., & Hausknecht, J. P. (2017). One hundred years of employee turnover theory and research. *Journal of Applied Psychology*, 102(3), 530–545. https://doi.org/10.1037/apl0000103 + +Johns, G. (2008). Absenteeism and presenteeism. In C. L. Cooper & J. Barling (Eds.), *The SAGE handbook of organizational behavior* (pp. 160–177). SAGE Publications. + +Johns, G. (2010). Presenteeism in the workplace: A review and research agenda. *Journal of Organizational Behavior*, 31(4), 519–542. https://doi.org/10.1002/job.630 + +Kram, K. E. (1985). *Mentoring at work: Developmental relationships in organizational life*. Scott, Foresman and Company. + +Liao, H., & Chuang, A. (2004). A multilevel investigation of employee service performance: Employee surface and deep approaches and customer reactions. *Journal of Applied Psychology*, 89(1), 41–58. https://doi.org/10.1037/0021-9010.89.1.41 + +Mesmer-Magnus, J. R., & DeChurch, L. A. (2009). Information sharing and team performance: A meta-analysis. *Journal of Applied Psychology*, 94(2), 535–546. https://doi.org/10.1037/a0013773 + +Mobley, W. H. (1977). Intermediate linkages in the relationship between job satisfaction and employee turnover. *Journal of Applied Psychology*, 62(2), 237–240. https://doi.org/10.1037/0021-9010.62.2.237 + +Morrison, E. W. (2014). Employee voice and silence. *Annual Review of Organizational Psychology and Organizational Behavior*, 1(1), 173–197. https://doi.org/10.1146/annurev-orgpsych-031413-091232 + +Morrison, E. W., & Phelps, C. C. (1999). Taking charge at work: Extrarole efforts to initiate workplace change. *Academy of Management Journal*, 42(4), 403–419. https://doi.org/10.5465/257011 + +Neal, A., & Griffin, M. A. (2006). A study of the lagged relationships among safety climate, safety motivation, safety behavior, and accidents at the individual and group levels. *Journal of Applied Psychology*, 91(4), 946–953. https://doi.org/10.1037/0021-9010.91.4.946 + +Organ, D. W. (1988). *Organizational citizenship behavior: The good soldier syndrome*. Lexington Books. + +Parker, S. K., Bindl, U. K., & Strauss, K. (2010). Making things happen: A model of proactive motivation. *Journal of Management*, 36(4), 827–856. https://doi.org/10.1177/0149206310363732 + +Podsakoff, P. M., MacKenzie, S. B., Paine, J. B., & Bachrach, D. G. (2000). Organizational citizenship behaviors: A critical review of the theoretical and empirical literature and suggestions for future research. *Journal of Management*, 26(3), 513–563. https://doi.org/10.1177/014920630002600307 + +Podsakoff, P. M., Bommer, W. H., Podsakoff, N. P., & MacKenzie, S. B. (2006). Relationships between leader reward and punishment behavior and employee attitudes, perceptions, and behaviors: A meta-analytic review of existing and new findings. *Organizational Behavior and Human Decision Processes*, 99(2), 113–142. https://doi.org/10.1016/j.obhdp.2005.09.002 + +Pruitt, D. G., & Carnevale, P. J. (1993). *Negotiation in social conflict*. Open University Press. + +Pulakos, E. D., Arad, S., Donovan, M. A., & Plamondon, K. E. (2000). Adaptability in the workplace: Development of a taxonomy of adaptive performance. *Journal of Applied Psychology*, 85(4), 612–624. https://doi.org/10.1037/0021-9010.85.4.612 + +Ragins, B. R., & Kram, K. E. (Eds.). (2007). *The handbook of mentoring at work: Theory, research, and practice*. SAGE Publications. + +Schneider, B., & Bowen, D. E. (1995). *Winning the service game*. Harvard Business School Press. + +Spector, P. E., Fox, S., Penney, L. M., Bruursema, K., Goh, A., & Kessler, S. (2006). The dimensionality of counterproductivity: Are all counterproductive behaviors created equal? *Journal of Vocational Behavior*, 68(3), 446–460. https://doi.org/10.1016/j.jvb.2005.10.005 + +Van Dyne, L., & LePine, J. A. (1998). Helping and voice extra-role behaviors: Evidence of construct and predictive validity. *Academy of Management Journal*, 41(1), 108–119. https://doi.org/10.5465/256902 + +Wang, S., & Noe, R. A. (2010). Knowledge sharing: A review and directions for future research. *Human Resource Management Review*, 20(2), 115–131. https://doi.org/10.1016/j.hrmr.2009.10.001 + +Williams, L. J., & Anderson, S. E. (1991). Job satisfaction and organizational commitment as predictors of organizational citizenship and in-role behaviors. *Journal of Management*, 17(3), 601–617. https://doi.org/10.1177/014920639101700305 diff --git a/docs/ontology/lineageweave-kg-shapes.ttl b/docs/ontology/lineageweave-kg-shapes.ttl index 5d5b5c0f2..855b43b95 100644 --- a/docs/ontology/lineageweave-kg-shapes.ttl +++ b/docs/ontology/lineageweave-kg-shapes.ttl @@ -236,3 +236,47 @@ a sh:NodeShape ; sh:class :OurSidePerson ; ] . + +:IOPsyConstructShape a sh:NodeShape ; + rdfs:label "I/O psychology construct shape" ; + sh:comment "Every I/O psychology construct carries a dimension classification and an APA 7th theoretical basis citation (ADR 0251)." ; + sh:targetClass :IOPsyConstruct ; + sh:property [ + sh:path :constructDimension ; + sh:name "construct dimension" ; + sh:description "Every construct carries a valid dimension classification string." ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:datatype xsd:string ; + sh:minLength 1 ; + ] ; + sh:property [ + sh:path :constructTheoreticalBasis ; + sh:name "theoretical basis" ; + sh:description "Every construct carries its APA 7th literature anchor citation." ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:datatype xsd:string ; + sh:minLength 1 ; + ] . + +:CognitiveConstructShape a sh:NodeShape ; + rdfs:label "Cognitive construct shape" ; + sh:comment "Closed-world complement: a cognitive construct is never typed as affective or behavioral." ; + sh:targetClass :CognitiveConstruct ; + sh:not [ a sh:NodeShape ; sh:class :AffectiveConstruct ] ; + sh:not [ a sh:NodeShape ; sh:class :BehavioralConstruct ] . + +:AffectiveConstructShape a sh:NodeShape ; + rdfs:label "Affective construct shape" ; + sh:comment "Closed-world complement: an affective construct is never typed as cognitive or behavioral." ; + sh:targetClass :AffectiveConstruct ; + sh:not [ a sh:NodeShape ; sh:class :CognitiveConstruct ] ; + sh:not [ a sh:NodeShape ; sh:class :BehavioralConstruct ] . + +:BehavioralConstructShape a sh:NodeShape ; + rdfs:label "Behavioral construct shape" ; + sh:comment "Closed-world complement: a behavioral construct is never typed as cognitive or affective." ; + sh:targetClass :BehavioralConstruct ; + sh:not [ a sh:NodeShape ; sh:class :CognitiveConstruct ] ; + sh:not [ a sh:NodeShape ; sh:class :AffectiveConstruct ] . diff --git a/docs/ontology/lineageweave-kg.ttl b/docs/ontology/lineageweave-kg.ttl index 724298314..29cf1e25f 100644 --- a/docs/ontology/lineageweave-kg.ttl +++ b/docs/ontology/lineageweave-kg.ttl @@ -720,3 +720,810 @@ skos:prefLabel "Handling"@en ; :fjaDomain "things" ; :fjaRank 7 ; skos:definition "Using body members, handtools, and/or special devices to work, move, or carry objects or materials. Involves little or no latitude for judgment with regard to attainment of standards or in selecting appropriate tool, object, or materials."@en . + +################################################################# +# Industrial and Organizational (I/O) Psychology Cognitive, Affective & +# Behavioral Semantic Layer (ADR 0251). +# +# This systematic expansion projects Functional Job Analysis +# Data/People/Things worker functions (ADR 0232) into their grounded +# nomological network of Cognitive, Affective, and Behavioral constructs +# in I/O Psychology. Unlike ADR 0248's evidence-bound records (which +# benchmark occupations against an external O*NET-style catalog), these +# constructs express the FJA-derived psychological demands and +# manifestations of each worker function with literature anchors. No +# crosswalk to O*NET, Fleishman, or any fitted weight is asserted +# (ADR 0145 still governs quantitative estimation). +# +# Citations (APA 7th): +# Cognitive: Sweller (1988); Endsley (1995); Miyake et al. (2000); Lazarus +# & Folkman (1984); Baddeley (2000); Gross (1998); Karasek (1979); +# Wickens (2002). +# Affective: Hochschild (1983); Grandey (2000); Ashforth & Humphrey (1993); +# Maslach, Schaufeli, & Leiter (2001); Schaufeli et al. (2002); +# Edmondson (1999); Locke (1976); Meyer & Allen (1991); Watson, Clark, & +# Tellegen (1988). +# Behavioral: Borman & Motowidlo (1993); Organ (1988); Williams & +# Anderson (1991); Spector et al. (2006); Bennett & Robinson (2000); +# Van Dyne & LePine (1998); Christian et al. (2009); Pulakos et al. +# (2000); Bass (1985). +# +# Each construct is a skos:Concept that additionally subclasses one of the +# three top-level classes below, so machine reasoning and SPARQL queries +# can partition the layer by psychological domain. Concepts deliberately +# do NOT carry :lookupCode: they are not common_lookup_value rows, so the +# ontology-relation round trip in tests/test_ontology.py is untouched. +################################################################# + +:IOPsyConstruct a owl:Class ; + rdfs:label "I/O psychology construct"@en ; + rdfs:comment "A grounded psychological construct in Industrial and Organizational Psychology representing cognitive, affective, or behavioral worker processes, states, demands, and manifestations (ADR 0251)."@en . + +:CognitiveConstruct a owl:Class ; + rdfs:subClassOf :IOPsyConstruct , skos:Concept ; + rdfs:label "Cognitive construct"@en ; + rdfs:comment "A cognitive process, capacity, workload, or appraisal construct involved in task execution and worker functioning."@en . + +:AffectiveConstruct a owl:Class ; + rdfs:subClassOf :IOPsyConstruct , skos:Concept ; + rdfs:label "Affective construct"@en ; + rdfs:comment "An emotional, affective, or attitudinal state or process in organizational settings, including emotional labor, burnout, engagement, and job attitudes."@en . + +:BehavioralConstruct a owl:Class ; + rdfs:subClassOf :IOPsyConstruct , skos:Concept ; + rdfs:label "Behavioral construct"@en ; + rdfs:comment "An observable work behavior, contextual performance dimension, citizenship behavior, counterproductive deviance, or withdrawal manifestation."@en . + +:CognitiveConstruct owl:disjointWith :AffectiveConstruct , :BehavioralConstruct . +:AffectiveConstruct owl:disjointWith :BehavioralConstruct . + +:iopsyConstructScheme a skos:ConceptScheme ; + skos:prefLabel "I/O psychology construct scheme"@en ; + skos:definition "The unified SKOS concept scheme encompassing cognitive, affective, and behavioral constructs in industrial and organizational psychology."@en . + +:cognitiveConstructScheme a skos:ConceptScheme ; + skos:prefLabel "Cognitive constructs scheme"@en ; + skos:definition "Taxonomy of cognitive processes, mental workload, appraisal, and intellectual capacities derived from task demands."@en . + +:affectiveConstructScheme a skos:ConceptScheme ; + skos:prefLabel "Affective constructs scheme"@en ; + skos:definition "Taxonomy of emotional states, emotional labor, burnout, psychological safety, and organizational attitudes."@en . + +:behavioralConstructScheme a skos:ConceptScheme ; + skos:prefLabel "Behavioral constructs scheme"@en ; + skos:definition "Taxonomy of task performance, organizational citizenship, counterproductive work behavior, safety behavior, proactive behavior, and withdrawal."@en . + +:constructDimension a owl:DatatypeProperty ; + rdfs:domain :IOPsyConstruct ; + rdfs:range xsd:string ; + rdfs:label "construct dimension"@en ; + rdfs:comment "The operational psychological dimension or domain category of the construct."@en . + +:constructTheoreticalBasis a owl:DatatypeProperty ; + rdfs:domain :IOPsyConstruct ; + rdfs:range xsd:string ; + rdfs:label "theoretical basis"@en ; + rdfs:comment "The primary theoretical literature anchor in I/O Psychology (APA 7th citation)."@en . + +:requiresCognitiveDemand a owl:ObjectProperty ; + rdfs:domain :WorkerFunction ; + rdfs:range :CognitiveConstruct ; + rdfs:label "requires cognitive demand"@en ; + rdfs:comment "A worker function inherently imposes this cognitive demand or activates this information-processing capacity."@en . + +:imposesMentalWorkload a owl:ObjectProperty ; + rdfs:domain :WorkerFunction ; + rdfs:range :CognitiveConstruct ; + rdfs:label "imposes mental workload"@en ; + rdfs:comment "A worker function generates mental load and cognitive resource consumption on the worker."@en . + +:elicitsEmotionalDemand a owl:ObjectProperty ; + rdfs:domain :WorkerFunction ; + rdfs:range :AffectiveConstruct ; + rdfs:label "elicits emotional demand"@en ; + rdfs:comment "A worker function evokes this affective state or emotional regulation requirement."@en . + +:requiresEmotionalLabor a owl:ObjectProperty ; + rdfs:domain :WorkerFunction ; + rdfs:range :AffectiveConstruct ; + rdfs:label "requires emotional labor"@en ; + rdfs:comment "A worker function demands surface or deep acting to regulate emotion display according to organizational expectations."@en . + +:manifestsInBehavior a owl:ObjectProperty ; + rdfs:domain :WorkerFunction ; + rdfs:range :BehavioralConstruct ; + rdfs:label "manifests in behavior"@en ; + rdfs:comment "A worker function directly manifests in or requires this observable work behavior."@en . + +:requiresPsychomotorBehavior a owl:ObjectProperty ; + rdfs:domain :WorkerFunction ; + rdfs:range :BehavioralConstruct ; + rdfs:label "requires psychomotor behavior"@en ; + rdfs:comment "A worker function demands specific physical, psychomotor, or equipment-manipulation behavior."@en . + +:requiresInterpersonalBehavior a owl:ObjectProperty ; + rdfs:domain :WorkerFunction ; + rdfs:range :BehavioralConstruct ; + rdfs:label "requires interpersonal behavior"@en ; + rdfs:comment "A worker function demands specific social, negotiation, leadership, guidance, or service behavior."@en . + +:cognitivelyMediates a owl:ObjectProperty ; + rdfs:domain :CognitiveConstruct ; + rdfs:range :BehavioralConstruct ; + rdfs:label "cognitively mediates"@en ; + rdfs:comment "A cognitive process or capacity directly mediates the execution of this work behavior."@en . + +:affectivelyDrives a owl:ObjectProperty ; + rdfs:domain :AffectiveConstruct ; + rdfs:range :BehavioralConstruct ; + rdfs:label "affectively drives"@en ; + rdfs:comment "An affective state, attitude, or strain level influences or drives this behavioral outcome."@en . + +:moderatesStrain a owl:ObjectProperty ; + rdfs:domain :IOPsyConstruct ; + rdfs:range :AffectiveConstruct ; + rdfs:label "moderates strain"@en ; + rdfs:comment "A cognitive appraisal or psychological resource buffers or exacerbates occupational strain."@en . + +:buffersBurnout a owl:ObjectProperty ; + rdfs:domain :AffectiveConstruct ; + rdfs:range :AffectiveConstruct ; + rdfs:label "buffers burnout"@en ; + rdfs:comment "A psychological resource or positive state buffers against burnout dimensions."@en . + +:inducesBurnoutRisk a owl:ObjectProperty ; + rdfs:domain :IOPsyConstruct ; + rdfs:range :AffectiveConstruct ; + rdfs:label "induces burnout risk"@en ; + rdfs:comment "A job demand or emotional-regulation strategy elevates the risk of burnout."@en . + +:reciprocallyInfluences a owl:ObjectProperty ; + rdfs:domain :BehavioralConstruct ; + rdfs:range :IOPsyConstruct ; + rdfs:label "reciprocally influences"@en ; + rdfs:comment "A behavioral performance manifestation provides feedback into cognitive appraisals and affective states."@en . + +# ---- 1. Cognitive constructs ---- + +:cogInfoProcessing a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Information Processing"@en ; + :constructDimension "cognitive_architecture" ; + :constructTheoreticalBasis "Newell & Simon (1972); Wickens (2002)" ; + skos:definition "The systematic acquisition, encoding, transformation, retrieval, and synthesis of environmental cues into actionable mental representations."@en . + +:cogWorkingMemoryAllocation a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Working Memory Allocation"@en ; + :constructDimension "cognitive_capacity" ; + :constructTheoreticalBasis "Baddeley (2000); Engle (2002)" ; + skos:definition "The dynamic maintenance and manipulation of transient task-relevant information under concurrent processing demands."@en . + +:cogComplexProblemSolving a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Complex Problem Solving"@en ; + :constructDimension "higher_order_cognition" ; + :constructTheoreticalBasis "Funke (2010); Mumford et al. (2000)" ; + skos:definition "Goal-directed cognitive activity in dynamic, non-routine environments where solution pathways are ambiguous and require emergent schemas."@en . + +:cogStrategicDecisionMaking a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Strategic Decision Making"@en ; + :constructDimension "judgment_and_choice" ; + :constructTheoreticalBasis "Kahneman & Tversky (1979); Eisenhardt (1989)" ; + skos:definition "Evaluating multidimensional trade-offs, prospective risks, and probabilistic outcomes to commit organizational resources under uncertainty."@en . + +:cogCognitiveAppraisal a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Cognitive Appraisal"@en ; + :constructDimension "appraisal_and_coping" ; + :constructTheoreticalBasis "Lazarus & Folkman (1984)" ; + skos:definition "Primary appraisal of environmental demands as challenge versus threat, coupled with secondary evaluation of available personal and situational coping resources."@en . + +:cogMetacognitiveMonitoring a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Metacognitive Monitoring"@en ; + :constructDimension "metacognition" ; + :constructTheoreticalBasis "Flavell (1979); Ford et al. (1998)" ; + skos:definition "Conscious self-regulation, tracking of cognitive progress, error calibration, and strategic adjustment during task performance."@en . + +:cogExecutiveFunctioning a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Executive Functioning"@en ; + :constructDimension "cognitive_control" ; + :constructTheoreticalBasis "Miyake et al. (2000)" ; + skos:definition "Top-down cognitive control including cognitive inhibition, set-shifting across task contexts, and working-memory updating."@en . + +:cogSituationalAwareness a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Situational Awareness"@en ; + :constructDimension "perception_and_orientation" ; + :constructTheoreticalBasis "Endsley (1995)" ; + skos:definition "Perception of task elements in current space and time, comprehension of their functional meaning, and projection of their near-future operational status."@en . + +:cogSelectiveAttention a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Selective Attention"@en ; + :constructDimension "attentional_control" ; + :constructTheoreticalBasis "Posner & Petersen (1990)" ; + skos:definition "Focusing cognitive resources on goal-relevant sensory stimuli while filtering extraneous task noise."@en . + +:cogDividedAttention a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Divided Attention"@en ; + :constructDimension "attentional_control" ; + :constructTheoreticalBasis "Wickens (2002)" ; + skos:definition "Simultaneous allocation of attentional capacity across multiple concurrent information streams or sensory modalities."@en . + +:cogMentalWorkload a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Mental Workload"@en ; + :constructDimension "cognitive_load" ; + :constructTheoreticalBasis "Sweller (1988); Hart & Staveland (1988)" ; + skos:definition "The proportion of worker cognitive capacity demanded by the instantaneous difficulty, pace, and complexity of assigned functional tasks."@en . + +:cogTaskStructuring a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Task Structuring"@en ; + :constructDimension "schematization" ; + :constructTheoreticalBasis "Fine & Cronshaw (1999); Campbell (1990)" ; + skos:definition "Decomposing complex work objectives into discrete, sequence-dependent operational steps and workflow schema."@en . + +:cogErrorMonitoring a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Error Monitoring"@en ; + :constructDimension "quality_control_cognition" ; + :constructTheoreticalBasis "Reason (1990); Allwood (1984)" ; + skos:definition "Continuous verification of physical or informational outputs against defined tolerance thresholds, standards, or specifications."@en . + +:cogDiagnosticReasoning a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Diagnostic Reasoning"@en ; + :constructDimension "analytic_inference" ; + :constructTheoreticalBasis "Patel, Evans, & Groen (1989)" ; + skos:definition "Hypothesis-driven abductive and deductive inference to isolate root causes of malfunctions, variance, or discrepancy."@en . + +:cogCognitiveFlexibility a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Cognitive Flexibility"@en ; + :constructDimension "cognitive_adaptability" ; + :constructTheoreticalBasis "Pulakos et al. (2000); Spiro et al. (1991)" ; + skos:definition "The capacity to restructure knowledge representations and adjust mental models under unanticipated procedural or environmental shifts."@en . + +:cogInductiveDeductiveReasoning a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Inductive & Deductive Reasoning"@en ; + :constructDimension "logical_inference" ; + :constructTheoreticalBasis "Carroll (1993); Fleishman & Reilly (1992)" ; + skos:definition "Deriving general principles from empirical data observations and applying normative rules to specific operational cases."@en . + +:cogPatternRecognition a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Pattern Recognition"@en ; + :constructDimension "perceptual_cognition" ; + :constructTheoreticalBasis "Klein (1993); Chase & Simon (1973)" ; + skos:definition "Rapid, intuitive classification of complex situational configurations based on experiential schemas and domain knowledge."@en . + +:cogSpatialMechanicalCognition a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Spatial & Mechanical Cognition"@en ; + :constructDimension "spatial_ability" ; + :constructTheoreticalBasis "Hegarty (2004); Bennett et al. (1947)" ; + skos:definition "Mental visualization, rotation, and kinematic reasoning about physical structures, tools, linkages, and mechanical systems."@en . + +:cogVigilance a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Vigilance & Sustained Attention"@en ; + :constructDimension "sustained_attention" ; + :constructTheoreticalBasis "Mackworth (1948); Warm, Parasuraman, & Matthews (2008)" ; + skos:definition "The sustained maintenance of alertness to detect low-frequency, critical signal changes over prolonged operational durations."@en . + +:cogProceduralKnowledgeRetrieval a skos:Concept , :CognitiveConstruct ; + skos:inScheme :cognitiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Procedural Knowledge Retrieval"@en ; + :constructDimension "memory_retrieval" ; + :constructTheoreticalBasis "Anderson (1983)" ; + skos:definition "Automated activation of production rules (if-then execution chains) from long-term memory for application to standard job routines."@en . + +# ---- 2. Affective constructs ---- + +:affEmotionalLaborSurfaceActing a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Emotional Labor — Surface Acting"@en ; + :constructDimension "emotional_regulation_cost" ; + :constructTheoreticalBasis "Hochschild (1983); Grandey (2000)" ; + skos:definition "Simulating required organizational display emotions without altering inner affective feelings, producing dissonance and depleting regulatory energy."@en . + +:affEmotionalLaborDeepActing a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Emotional Labor — Deep Acting"@en ; + :constructDimension "emotional_regulation_adaptive" ; + :constructTheoreticalBasis "Hochschild (1983); Grandey (2000)" ; + skos:definition "Modifying internal feelings to align genuinely with organizational display rules through perspective-taking and empathy."@en . + +:affEmotionRegulationReappraisal a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Emotion Regulation — Cognitive Reappraisal"@en ; + :constructDimension "antecedent_regulation" ; + :constructTheoreticalBasis "Gross (1998)" ; + skos:definition "Reinterpreting emotion-eliciting workplace situations before emotional responses fully unfold to attenuate negative affective impact."@en . + +:affEmotionRegulationSuppression a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Emotion Regulation — Expressive Suppression"@en ; + :constructDimension "response_focused_regulation" ; + :constructTheoreticalBasis "Gross (1998)" ; + skos:definition "Inhibiting ongoing outward emotional expressive behavior in response to stressful or conflicting events."@en . + +:affBurnoutEmotionalExhaustion a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Burnout — Emotional Exhaustion"@en ; + :constructDimension "burnout_core" ; + :constructTheoreticalBasis "Maslach & Jackson (1981); Maslach et al. (2001)" ; + skos:definition "Chronic state of emotional and physical depletion resulting from excessive, prolonged psychological and interpersonal work demands."@en . + +:affBurnoutDepersonalization a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Burnout — Depersonalization & Cynicism"@en ; + :constructDimension "burnout_relational" ; + :constructTheoreticalBasis "Maslach & Jackson (1987); Maslach et al. (2001)" ; + skos:definition "Unfeeling, callous, or detached response toward recipients of one's service, colleagues, or responsibilities."@en . + +:affBurnoutReducedAccomplishment a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Burnout — Reduced Personal Accomplishment"@en ; + :constructDimension "burnout_efficacy" ; + :constructTheoreticalBasis "Maslach & Jackson (1987); Maslach et al. (2001)" ; + skos:definition "Feelings of occupational incompetence, declining self-efficacy, and a perceived lack of meaningful achievement."@en . + +:affWorkEngagementVigor a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Work Engagement — Vigor"@en ; + :constructDimension "engagement_energy" ; + :constructTheoreticalBasis "Schaufeli et al. (2002); Bakker & Demerouti (2008)" ; + skos:definition "High levels of energy and mental resilience during work, willingness to invest effort, and persistence in the face of difficulty."@en . + +:affWorkEngagementDedication a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Work Engagement — Dedication"@en ; + :constructDimension "engagement_significance" ; + :constructTheoreticalBasis "Schaufeli et al. (2002)" ; + skos:definition "Strong psychological involvement accompanied by enthusiasm, inspiration, pride, and perceived challenge."@en . + +:affWorkEngagementAbsorption a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Work Engagement — Absorption"@en ; + :constructDimension "engagement_immersion" ; + :constructTheoreticalBasis "Schaufeli et al. (2002); Csikszentmihalyi (1990)" ; + skos:definition "Being fully and pleasantly concentrated in one's work such that time passes rapidly and detachment is difficult."@en . + +:affPsychologicalSafety a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Psychological Safety"@en ; + :constructDimension "team_climate" ; + :constructTheoreticalBasis "Edmondson (1999)" ; + skos:definition "Shared belief that the team and climate is safe for interpersonal risk-taking, voice, error admission, and asking for help."@en . + +:affJobSatisfaction a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Job Satisfaction"@en ; + :constructDimension "evaluative_attitude" ; + :constructTheoreticalBasis "Locke (1976); Judge et al. (2001)" ; + skos:definition "Pleasurable or positive emotional state resulting from the appraisal of one's job experiences, compensation, autonomy, and environment."@en . + +:affAffectiveCommitment a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Organizational Commitment — Affective"@en ; + :constructDimension "commitment_emotional" ; + :constructTheoreticalBasis "Meyer & Allen (1991)" ; + skos:definition "Emotional attachment to, identification with, and involvement in the organization (wanting to stay)."@en . + +:affContinuanceCommitment a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Organizational Commitment — Continuance"@en ; + :constructDimension "commitment_calculative" ; + :constructTheoreticalBasis "Meyer & Allen (1991)" ; + skos:definition "Awareness of the costs and lack of alternatives associated with leaving (needing to stay)."@en . + +:affNormativeCommitment a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Organizational Commitment — Normative"@en ; + :constructDimension "commitment_moral" ; + :constructTheoreticalBasis "Meyer & Allen (1991)" ; + skos:definition "Perceived moral or ethical obligation to remain with the employer (feeling one ought to stay)."@en . + +:affOccupationalStrain a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Occupational Strain"@en ; + :constructDimension "stress_and_strain" ; + :constructTheoreticalBasis "Karasek (1979); Bakker & Demerouti (2007)" ; + skos:definition "Negative psychological and physiological impairment from an imbalance between high demands and low latitude or resources."@en . + +:affPositiveAffectivity a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Positive Affectivity"@en ; + :constructDimension "affective_trait" ; + :constructTheoreticalBasis "Watson, Clark, & Tellegen (1988)" ; + skos:definition "The extent to which an individual feels active, alert, enthusiastic, and pleasantly aroused at work."@en . + +:affNegativeAffectivity a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Negative Affectivity"@en ; + :constructDimension "affective_trait" ; + :constructTheoreticalBasis "Watson, Clark, & Tellegen (1988)" ; + skos:definition "Dispositional and state distress characterized by anger, contempt, guilt, fear, and nervousness."@en . + +:affThreatAppraisalAnxiety a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Threat Appraisal Anxiety"@en ; + :constructDimension "maladaptive_stress_response" ; + :constructTheoreticalBasis "LePine, Podsakoff, & LePine (2005)" ; + skos:definition "Anxiety and anticipatory strain elicited by tasks perceived as exceeding coping capacity with potential for loss or failure."@en . + +:affEmpathicConcern a skos:Concept , :AffectiveConstruct ; + skos:inScheme :affectiveConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Empathic Concern"@en ; + :constructDimension "interpersonal_affect" ; + :constructTheoreticalBasis "Batson (1993); Eisenberg & Miller (1987)" ; + skos:definition "Other-oriented emotional response to another person's well-being, central to mentoring, instructing, and serving functions."@en . + +# ---- 3. Behavioral constructs ---- + +:behCoreTaskPerformance a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Core Task Performance"@en ; + :constructDimension "task_performance" ; + :constructTheoreticalBasis "Campbell (1990); Borman & Motowidlo (1993)" ; + skos:definition "Direct execution of assigned technical processes and formal job duties that transform inputs into output."@en . + +:behTechnicalPrecision a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Technical Precision"@en ; + :constructDimension "task_performance_precision" ; + :constructTheoreticalBasis "Fine & Cronshaw (1999); Campbell (1990)" ; + skos:definition "Executing parametric operational work with meticulous adherence to tolerances and specifications."@en . + +:behErrorRecovery a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Error Recovery"@en ; + :constructDimension "resilience_behavior" ; + :constructTheoreticalBasis "Frese & Keith (2015); Reason (1990)" ; + skos:definition "Immediate, corrective action to intercept, mitigate, troubleshoot, and rectify slips, mistakes, or failures."@en . + +:behOcbIndividualAltruism a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "OCB-I Altruism"@en ; + :constructDimension "citizenship_interpersonal" ; + :constructTheoreticalBasis "Organ (1988); Williams & Anderson (1991)" ; + skos:definition "Discretionary, extra-role behaviors focused on helping specific colleagues with work problems or overload."@en . + +:behOcbIndividualCourtesy a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "OCB-I Courtesy"@en ; + :constructDimension "citizenship_interpersonal" ; + :constructTheoreticalBasis "Organ (1988); Williams & Anderson (1991)" ; + skos:definition "Proactive interpersonal gestures preventing conflicts and keeping coworkers informed before actions that affect them."@en . + +:behOcbOrganizationalConscientiousness a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "OCB-O Conscientiousness"@en ; + :constructDimension "citizenship_organizational" ; + :constructTheoreticalBasis "Organ (1988); Williams & Anderson (1991)" ; + skos:definition "Behavior well beyond minimal role requirements in attendance, rule adherence, time management, and housekeeping."@en . + +:behOcbOrganizationalCivicVirtue a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "OCB-O Civic Virtue"@en ; + :constructDimension "citizenship_organizational" ; + :constructTheoreticalBasis "Organ (1988); Williams & Anderson (1991)" ; + skos:definition "Responsible, active participation in the governance, meetings, and community of the organization."@en . + +:behOcbOrganizationalSportsmanship a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "OCB-O Sportsmanship"@en ; + :constructDimension "citizenship_organizational" ; + :constructTheoreticalBasis "Organ (1988); Podsakoff et al. (2000)" ; + skos:definition "Willingness to tolerate inevitable workplace inconveniences without complaining or making grievances."@en . + +:behCwbInterpersonalDeviance a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "CWB Interpersonal Deviance"@en ; + :constructDimension "counterproductive_deviance" ; + :constructTheoreticalBasis "Bennett & Robinson (2000); Spector et al. (2006)" ; + skos:definition "Voluntary counterproductive behaviors directed at coworkers: abuse, harassment, gossip, sabotage, or ostracism."@en . + +:behCwbOrganizationalDeviance a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "CWB Organizational Deviance"@en ; + :constructDimension "counterproductive_deviance" ; + :constructTheoreticalBasis "Bennett & Robinson (2000); Spector et al. (2006)" ; + skos:definition "Voluntary behaviors that harm the organization's functioning, property, or reputation."@en . + +:behCwbProductionDeviance a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "CWB Production Deviance"@en ; + :constructDimension "counterproductive_deviance" ; + :constructTheoreticalBasis "Hol & Snell (1991); Spector et al. (2006)" ; + skos:definition "Deliberately slowing work pace, taking unauthorized breaks, or executing shoddy work."@en . + +:behCwbPropertyDeviance a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "CWB Property Deviance"@en ; + :constructDimension "counterproductive_deviance" ; + :constructTheoreticalBasis "Hollinger & Clark (1983); Bennett & Robinson (2000)" ; + skos:definition "Theft, damage, vandalism, or unauthorized misuse of organizational property."@en . + +:behProactiveProblemSolving a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Proactive Problem Solving"@en ; + :constructDimension "proactivity" ; + :constructTheoreticalBasis "Parker, Bindl, & Strauss (2010); Frese & Fay (2001)" ; + skos:definition "Self-initiated, anticipatory action to identify potential bottlenecks and implement preventative improvements."@en . + +:behVoiceBehavior a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Voice Behavior"@en ; + :constructDimension "proactivity" ; + :constructTheoreticalBasis "Van Dyne & LePine (1998); Morrison (2014)" ; + skos:definition "Discretionary verbalization of constructive ideas, concerns, and suggestions to improve processes."@en . + +:behTakingCharge a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Taking Charge"@en ; + :constructDimension "proactivity" ; + :constructTheoreticalBasis "Morrison & Phelps (1999)" ; + skos:definition "Voluntary, constructive efforts to effect functional change in how work is executed."@en . + +:behSafetyCompliance a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Safety Compliance"@en ; + :constructDimension "safety" ; + :constructTheoreticalBasis "Neal & Griffin (2006); Christian et al. (2009)" ; + skos:definition "Adhering to mandatory safety protocols, using protective equipment, and executing tasks in a risk-averse manner."@en . + +:behSafetyParticipation a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Safety Participation"@en ; + :constructDimension "safety_performance" ; + :constructTheoreticalBasis "Neal & Griffin (2006); Christian et al. (2009)" ; + skos:definition "Voluntary engagement in supporting safety programs and helping others work safely."@en . + +:behAdaptiveCrisisHandling a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Adaptive Performance — Crisis Handling"@en ; + :constructDimension "adaptability" ; + :constructTheoreticalBasis "Pulakos et al. (2000)" ; + skos:definition "Maintaining composure, prioritizing immediate actions, and solving unexpected emergencies or crises."@en . + +:behAdaptiveCreativeSolving a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Adaptive Performance — Creative Problem Solving"@en ; + :constructDimension "adaptability" ; + :constructTheoreticalBasis "Pulakos et al. (2000); Mumford et al. (2000)" ; + skos:definition "Inventing novel, practical solutions to novel, ambiguous, or ill-defined problems."@en . + +:behAdaptiveInterpersonal a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Adaptive Performance — Interpersonal Adaptability"@en ; + :constructDimension "adaptability" ; + :constructTheoreticalBasis "Pulakos et al. (2000)" ; + skos:definition "Adjusting interpersonal style and tactics to interact effectively with diverse personalities and cultures."@en . + +:behTransformationalLeadership a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Transformational Leadership"@en ; + :constructDimension "leadership" ; + :constructTheoreticalBasis "Bass (1985); Avolio, Bass, & Jung (1999)" ; + skos:definition "Inspiring followers through idealized influence, inspirational motivation, intellectual stimulation, and individualized consideration."@en . + +:behTransactionalSupervision a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Transactional Supervision"@en ; + :constructDimension "leadership" ; + :constructTheoreticalBasis "Bass (1985); Podsakoff et al. (2000)" ; + skos:definition "Clarifying expectations, linking rewards to performance, and monitoring deviations for correction."@en . + +:behMentoringCoaching a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Mentoring & Coaching"@en ; + :constructDimension "developmental_interaction" ; + :constructTheoreticalBasis "Kram (1985); Ragins & Kram (2007)" ; + skos:definition "Providing psychosocial, career, technical, and modeling guidance to less experienced workers."@en . + +:behCollaborativeKnowledgeSharing a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Collaboration & Knowledge Sharing"@en ; + :constructDimension "teamwork" ; + :constructTheoreticalBasis "Mesmer-Magnus & DeChurch (2009); Wang & Noe (2010)" ; + skos:definition "Voluntarily communicating expertise, lessons, and insights to strengthen collective capability."@en . + +:behConflictNegotiation a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Conflict Negotiation"@en ; + :constructDimension "negotiation" ; + :constructTheoreticalBasis "Pruitt & Carnevale (1993); De Dreu et al. (2001)" ; + skos:definition "Engaging in integrative problem-solving and principled bargaining to reconcile divergent interests."@en . + +:behServiceDelivery a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Service & Instruction Delivery"@en ; + :constructDimension "service" ; + :constructTheoreticalBasis "Schneider & Bowen (1995); Liao & Chuang (2004)" ; + skos:definition "Executing client- and customer-directed tasks responsively to fulfill needs and build trust."@en . + +:behInstructionFollowing a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Instruction Following"@en ; + :constructDimension "procedural_compliance" ; + :constructTheoreticalBasis "Fine & Cronshaw (1999); Borman & Motowidlo (1993)" ; + skos:definition "Faithfully executing prescribed supervisory directives and helping without unauthorized deviation."@en . + +:behTurnover a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Withdrawal — Turnover"@en ; + :constructDimension "withdrawal" ; + :constructTheoreticalBasis "Mobley (1977); Hom et al. (2017)" ; + skos:definition "Voluntary disengagement culminating in resignation, job search, and departure."@en . + +:behAbsenteeism a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Withdrawal — Absenteeism"@en ; + :constructDimension "withdrawal" ; + :constructTheoreticalBasis "Johns (2008); Harrison & Martocchio (2006)" ; + skos:definition "Unplanned absence from scheduled shifts reflecting psychological or physical withdrawal."@en . + +:behPresenteeism a skos:Concept , :BehavioralConstruct ; + skos:inScheme :behavioralConstructScheme , :iopsyConstructScheme ; + skos:prefLabel "Withdrawal — Presenteeism"@en ; + :constructDimension "withdrawal" ; + :constructTheoreticalBasis "Johns (2010); Aronsson, Gustafsson, & Dallner (2000)" ; + skos:definition "Attending work while psychologically or physically impaired, reducing throughput and elevating errors."@en . + +################################################################ +# 4. FJA → I/O Psychology Mapping (per worker function) +################################################################ + +# ---- Data functions ---- + +:dataSynthesizing :requiresCognitiveDemand :cogComplexProblemSolving , :cogStrategicDecisionMaking , :cogMetacognitiveMonitoring ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affJobSatisfaction ; + :manifestsInBehavior :behCoreTaskPerformance , :behProactiveProblemSolving , :behAdaptiveCreativeSolving . + +:dataCoordinating :requiresCognitiveDemand :cogStrategicDecisionMaking , :cogTaskStructuring , :cogExecutiveFunctioning ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affOccupationalStrain ; + :manifestsInBehavior :behCoreTaskPerformance , :behCollaborativeKnowledgeSharing , :behTakingCharge . + +:dataAnalyzing :requiresCognitiveDemand :cogDiagnosticReasoning , :cogInductiveDeductiveReasoning , :cogInfoProcessing ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affPositiveAffectivity ; + :manifestsInBehavior :behCoreTaskPerformance , :behProactiveProblemSolving . + +:dataCompiling :requiresCognitiveDemand :cogInfoProcessing , :cogPatternRecognition , :cogWorkingMemoryAllocation ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affWorkEngagementAbsorption ; + :manifestsInBehavior :behCoreTaskPerformance , :behTechnicalPrecision . + +:dataComputing :requiresCognitiveDemand :cogProceduralKnowledgeRetrieval , :cogSelectiveAttention , :cogWorkingMemoryAllocation ; + :imposesMentalWorkload :cogMentalWorkload ; + :manifestsInBehavior :behCoreTaskPerformance , :behTechnicalPrecision . + +:dataCopying :requiresCognitiveDemand :cogSelectiveAttention , :cogProceduralKnowledgeRetrieval ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affBurnoutEmotionalExhaustion ; + :manifestsInBehavior :behTechnicalPrecision , :behInstructionFollowing . + +:dataComparing :requiresCognitiveDemand :cogErrorMonitoring , :cogSelectiveAttention , :cogPatternRecognition ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affNegativeAffectivity ; + :manifestsInBehavior :behCoreTaskPerformance , :behErrorRecovery . + +# ---- People functions (5th DOT digit) ---- + +:peopleMentoring :requiresCognitiveDemand :cogMetacognitiveMonitoring , :cogCognitiveFlexibility ; + :requiresEmotionalLabor :affEmotionalLaborDeepActing ; + :elicitsEmotionalDemand :affEmpathicConcern , :affPsychologicalSafety ; + :manifestsInBehavior :behMentoringCoaching , :behOcbIndividualAltruism , :behTransformationalLeadership . + +:peopleNegotiating :requiresCognitiveDemand :cogStrategicDecisionMaking , :cogCognitiveFlexibility , :cogDividedAttention ; + :requiresEmotionalLabor :affEmotionalLaborDeepActing ; + :elicitsEmotionalDemand :affOccupationalStrain , :affEmotionRegulationReappraisal ; + :manifestsInBehavior :behConflictNegotiation , :behCollaborativeKnowledgeSharing , :behAdaptiveInterpersonal . + +:peopleInstructing :requiresCognitiveDemand :cogTaskStructuring , :cogInfoProcessing , :cogCognitiveFlexibility ; + :requiresEmotionalLabor :affEmotionalLaborDeepActing ; + :elicitsEmotionalDemand :affEmpathicConcern , :affWorkEngagementDedication ; + :manifestsInBehavior :behMentoringCoaching , :behServiceDelivery , :behCollaborativeKnowledgeSharing . + +:peopleSupervising :requiresCognitiveDemand :cogStrategicDecisionMaking , :cogExecutiveFunctioning , :cogDiagnosticReasoning ; + :requiresEmotionalLabor :affEmotionalLaborDeepActing ; + :elicitsEmotionalDemand :affOccupationalStrain , :affPsychologicalSafety ; + :manifestsInBehavior :behTransactionalSupervision , :behTransformationalLeadership , :behTakingCharge . + +:peopleDiverting :requiresCognitiveDemand :cogCognitiveFlexibility , :cogDividedAttention ; + :requiresEmotionalLabor :affEmotionalLaborSurfaceActing ; + :elicitsEmotionalDemand :affPositiveAffectivity ; + :manifestsInBehavior :behServiceDelivery , :behAdaptiveCreativeSolving . + +:peoplePersuading :requiresCognitiveDemand :cogCognitiveAppraisal , :cogCognitiveFlexibility , :cogStrategicDecisionMaking ; + :requiresEmotionalLabor :affEmotionalLaborDeepActing ; + :elicitsEmotionalDemand :affEmotionRegulationReappraisal ; + :manifestsInBehavior :behConflictNegotiation , :behVoiceBehavior , :behServiceDelivery . + +:peopleSpeakingSignaling :requiresCognitiveDemand :cogInfoProcessing , :cogSelectiveAttention ; + :elicitsEmotionalDemand :affEmotionalLaborSurfaceActing ; + :manifestsInBehavior :behCollaborativeKnowledgeSharing , :behOcbIndividualCourtesy . + +:peopleServing :requiresCognitiveDemand :cogSelectiveAttention , :cogSituationalAwareness ; + :requiresEmotionalLabor :affEmotionalLaborSurfaceActing ; + :elicitsEmotionalDemand :affEmpathicConcern ; + :manifestsInBehavior :behServiceDelivery , :behOcbIndividualCourtesy , :behInstructionFollowing . + +:peopleTakingInstructionsHelping :requiresCognitiveDemand :cogProceduralKnowledgeRetrieval , :cogSelectiveAttention ; + :elicitsEmotionalDemand :affBurnoutEmotionalExhaustion ; + :manifestsInBehavior :behInstructionFollowing , :behOcbIndividualAltruism . + +# ---- Things functions (6th DOT digit) ---- + +:thingsSettingUp :requiresCognitiveDemand :cogSpatialMechanicalCognition , :cogComplexProblemSolving , :cogErrorMonitoring ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affWorkEngagementAbsorption ; + :manifestsInBehavior :behTechnicalPrecision , :behSafetyCompliance , :behProactiveProblemSolving ; + :requiresPsychomotorBehavior :behTechnicalPrecision . + +:thingsPrecisionWorking :requiresCognitiveDemand :cogSpatialMechanicalCognition , :cogSelectiveAttention , :cogErrorMonitoring ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affWorkEngagementAbsorption ; + :manifestsInBehavior :behTechnicalPrecision , :behSafetyCompliance ; + :requiresPsychomotorBehavior :behTechnicalPrecision . + +:thingsOperatingControlling :requiresCognitiveDemand :cogSituationalAwareness , :cogDividedAttention , :cogErrorMonitoring ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affWorkEngagementVigor ; + :manifestsInBehavior :behCoreTaskPerformance , :behSafetyCompliance , :behSafetyParticipation ; + :requiresPsychomotorBehavior :behCoreTaskPerformance . + +:thingsDrivingOperating :requiresCognitiveDemand :cogSituationalAwareness , :cogSpatialMechanicalCognition , :cogDividedAttention ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affOccupationalStrain ; + :manifestsInBehavior :behCoreTaskPerformance , :behSafetyCompliance ; + :requiresPsychomotorBehavior :behCoreTaskPerformance . + +:thingsManipulating :requiresCognitiveDemand :cogSpatialMechanicalCognition , :cogSelectiveAttention ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affWorkEngagementAbsorption ; + :manifestsInBehavior :behTechnicalPrecision , :behSafetyCompliance ; + :requiresPsychomotorBehavior :behTechnicalPrecision . + +:thingsTending :requiresCognitiveDemand :cogVigilance , :cogSelectiveAttention , :cogErrorMonitoring ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affBurnoutEmotionalExhaustion ; + :manifestsInBehavior :behSafetyCompliance , :behErrorRecovery ; + :requiresPsychomotorBehavior :behCoreTaskPerformance . + +:thingsFeedingOffbearing :requiresCognitiveDemand :cogSelectiveAttention , :cogVigilance ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affBurnoutEmotionalExhaustion ; + :manifestsInBehavior :behSafetyCompliance , :behInstructionFollowing ; + :requiresPsychomotorBehavior :behCoreTaskPerformance . + +:thingsHandling :requiresCognitiveDemand :cogProceduralKnowledgeRetrieval , :cogSelectiveAttention ; + :imposesMentalWorkload :cogMentalWorkload ; + :elicitsEmotionalDemand :affBurnoutEmotionalExhaustion ; + :manifestsInBehavior :behSafetyCompliance , :behInstructionFollowing ; + :requiresPsychomotorBehavior :behCoreTaskPerformance . + +################################################################ +# 5. Nomological Network (inter-construct mediation & drive) +################################################################ + +:cogCognitiveAppraisal :moderatesStrain :affOccupationalStrain . +:cogMetacognitiveMonitoring :cognitivelyMediates :behErrorRecovery , :behAdaptiveCreativeSolving . +:cogExecutiveFunctioning :cognitivelyMediates :behCoreTaskPerformance , :behAdaptiveCrisisHandling . +:cogSituationalAwareness :cognitivelyMediates :behSafetyCompliance , :behAdaptiveCrisisHandling . + +:affEmotionalLaborSurfaceActing :inducesBurnoutRisk :affBurnoutEmotionalExhaustion , :affBurnoutDepersonalization . +:affEmotionalLaborDeepActing :buffersBurnout :affBurnoutEmotionalExhaustion ; :affectivelyDrives :behServiceDelivery . +:affPsychologicalSafety :buffersBurnout :affBurnoutDepersonalization ; :affectivelyDrives :behVoiceBehavior . +:affBurnoutEmotionalExhaustion :affectivelyDrives :behTurnover , :behAbsenteeism , :behPresenteeism . diff --git a/docs/product-requirements.md b/docs/product-requirements.md index 1658eedf1..3125f262d 100644 --- a/docs/product-requirements.md +++ b/docs/product-requirements.md @@ -99,6 +99,29 @@ projects assertion-backed constructs into the existing ABAC-filtered ontology neighborhood without duplicating graph storage or promoting truth. Catalog search remains unavailable. +### PRD-FR-2C — FJA I/O-Psychology cognitive, affective & behavioral semantic layer + +- Project the DOT/FJA Data/People/Things worker functions into their + grounded nomological network of cognitive, affective, and behavioral + I/O-Psychology constructs (ADR 0251): information processing, mental + workload, executive functioning, and appraisal; emotional labor, + burnout, engagement, psychological safety, and commitment; task, + citizenship, counterproductive, safety, proactive, adaptive, and + withdrawal behavior. +- Declare each construct with its psychological dimension and an APA 7th + literature anchor; keep `:CognitiveConstruct` / `:AffectiveConstruct` / + `:BehavioralConstruct` disjoint and validate with SHACL. +- Keep FJA-derived constructs distinct from ADR 0248's evidence-bound + O*NET-style occupational construct classes: no crosswalk, equivalence, + or implied fit is asserted. +- Carry no numeric weight: the layer is a semantic taxonomy, never a + calibrated measurement (ADR 0145 governs estimation). + +Acceptance: `tests/test_iopsy_taxonomy.py` enforces construct coverage, +literature-anchored metadata, fail-closed lookups, per-function profile +completeness, and composite-job aggregation; `tests/test_ontology_shapes.py` +validates the disjoint SHACL shapes. + ### PRD-FR-3 — Bounded ontology exploration - Apply RBAC/ABAC, source eligibility, and knowledge cutoff before graph diff --git a/docs/product-technical-gap-baseline.md b/docs/product-technical-gap-baseline.md index e2477079f..b74ee3b87 100644 --- a/docs/product-technical-gap-baseline.md +++ b/docs/product-technical-gap-baseline.md @@ -304,6 +304,12 @@ Substantially present on protected `main`: baseline entry is stale). - Semantic paragraph/list/table/image-region units that preserve the source representation and provenance instead of flattening it into one body string. +- FJA→I/O-Psychology semantic layer (ADR 0251): the published DOT/FJA + Data/People/Things worker functions (ADR 0232) project into disjoint + cognitive, affective, and behavioral constructs with APA 7th anchors, + SHACL validation, and a deterministic typed read model + (`lineageweave/iopsy_taxonomy.py`); no fitted weight or O*NET/ADR 0248 + crosswalk is asserted (ADR 0145). - Contextual-orchestrator boundaries for adjudication, extraction, summaries, chat, embeddings, and VISION; null channels remain unavailable and are dropped from score fusion. diff --git a/lineageweave/iopsy_taxonomy.py b/lineageweave/iopsy_taxonomy.py new file mode 100644 index 000000000..08517a2cf --- /dev/null +++ b/lineageweave/iopsy_taxonomy.py @@ -0,0 +1,519 @@ +"""The Industrial and Organizational (I/O) Psychology Semantic Layer +projected over the published LineageWeave ontology (ADR 0251). + +This module establishes the formal semantic layer connecting Sydney A. +Fine's Functional Job Analysis (FJA Data/People/Things worker functions; +Fine & Cronshaw, 1999) to foundational constructs in Industrial and +Organizational Psychology across three primary psychological domains: + +1. **Cognitive Domain**: Information processing, working memory capacity, + complex problem solving, strategic decision making, cognitive appraisal, + metacognitive monitoring, executive functioning, situational awareness, + selective/divided attention, and mental workload (Baddeley, 2000; + Endsley, 1995; Flavell, 1979; Kahneman, 1973; Lazarus & Folkman, 1984; + Miyake et al., 2000; Newell & Simon, 1972; Sweller, 1988). +2. **Affective Domain**: Emotional labor (surface acting, deep acting, + genuine expression), emotion regulation (cognitive reappraisal, + expressive suppression), burnout dimensions (emotional exhaustion, + depersonalization/cynicism, reduced personal accomplishment), work + engagement (vigor, dedication, absorption), psychological safety, job + satisfaction, multidimensional organizational commitment (affective, + continuance, normative), occupational stress/strain, and affectivity + (Ashforth & Humphrey, 1993; Bakker & Demerouti, 2007; Edmondson, 1999; + Grandey, 2000; Gross, 1998; Hochschild, 1983; Karasek, 1979; Locke, 1976; + Maslach et al., 2001; Meyer & Allen, 1991; Schaufeli et al., 2002; + Watson, Clark, & Tellegen, 1988). +3. **Behavioral Domain**: Core task performance, technical precision, + error recovery, organizational citizenship behavior (OCB-I altruism and + courtesy; OCB-O conscientiousness, civic virtue, sportsmanship), + counterproductive work behavior (interpersonal, organizational, + production, and property deviance), proactive and voice behavior, + safety compliance and participation, adaptive performance dimensions, + leadership and mentoring behaviors, collaborative teamwork, and + withdrawal behaviors (absenteeism, presenteeism, turnover) (Bennett & + Robinson, 2000; Borman & Motowidlo, 1993; Campbell, 1990; Christian et + al., 2009; Mobley, 1977; Morrison, 2014; Neal & Griffin, 2006; Organ, + 1988; Parker et al., 2010; Pulakos et al., 2000; Spector et al., 2006; + Van Dyne & LePine, 1998; Williams & Anderson, 1991). + +Provenance and Psychological Discipline: +- All constructs and relations are projected verbatim from the authoritative + `docs/ontology/lineageweave-kg.ttl` OWL/SKOS graph. +- Scale positions are non-fitted definitional anchors; no fabricated weights + or speculative parameters are introduced (governed by ADR 0145). +- Queries fail closed: undeclared constructs or relations return `None` or + empty collections rather than synthetic placeholders. + +References +---------- +Bakker, A. B., & Demerouti, E. (2007). The job demands-resources model: State + of the art. Journal of Managerial Psychology, 22(3), 309-328. +Borman, W. C., & Motowidlo, S. J. (1993). Expanding the criterion domain to + include elements of contextual performance. In N. Schmitt & W. C. Borman + (Eds.), Personnel selection in organizations (pp. 71-98). Jossey-Bass. +Campbell, J. P. (1990). Modeling the performance prediction problem in + industrial and organizational psychology. In M. D. Dunnette & L. M. Hough + (Eds.), Handbook of industrial and organizational psychology (2nd ed., + Vol. 1, pp. 687-732). Consulting Psychologists Press. +Christian, M. S., Bradley, J. C., Wallace, J. C., & Burke, M. J. (2009). + Workplace safety: A meta-analysis of the roles of person and situation + factors. Journal of Applied Psychology, 94(5), 1103-1127. +Edmondson, A. (1999). Psychological safety and learning behavior in work + teams. Administrative Science Quarterly, 44(2), 350-383. +Fine, S. A., & Cronshaw, S. F. (1999). Functional job analysis: A foundation + for human resources management. Lawrence Erlbaum Associates. +Grandey, A. A. (2000). Emotion regulation in the workplace: A new way to + conceptualize emotional labor. Journal of Occupational Health Psychology, + 5(1), 95-110. +Hochschild, A. R. (1983). The managed heart: Commercialization of human + feeling. University of California Press. +Karasek, R. A. (1979). Job demands, job decision latitude, and mental strain: + Implications for job redesign. Administrative Science Quarterly, 24(2), + 285-308. +Maslach, C., Schaufeli, W. B., & Leiter, M. P. (2001). Job burnout. Annual + Review of Psychology, 52(1), 397-422. +Organ, D. W. (1988). Organizational citizenship behavior: The good soldier + syndrome. Lexington Books. +Pulakos, E. D., Arad, S., Donovan, M. A., & Plamondon, K. E. (2000). + Adaptability in the workplace: Development of a taxonomy of adaptive + performance. Journal of Applied Psychology, 85(4), 612-624. +Schaufeli, W. B., Salanova, M., González-Romá, V., & Bakker, A. B. (2002). + The measurement of engagement and burnout: A two sample confirmatory + factor analytic approach. Journal of Happiness Studies, 3(1), 71-92. +Spector, P. E., Fox, S., Penney, L. M., Bruursema, K., Goh, A., & Kessler, + S. (2006). The dimensionality of counterproductivity: Are all + counterproductive behaviors created equal? Journal of Vocational + Behavior, 68(3), 446-460. +""" + +from __future__ import annotations + +from dataclasses import dataclass +from functools import lru_cache +from typing import Any + +from rdflib import URIRef +from rdflib.namespace import RDF, RDFS, SKOS + +from .ontology import LW, ONTOLOGY +from .worker_function_taxonomy import ( + WORKER_FUNCTION_DOMAINS, + worker_function, +) + +#: Standard psychological construct categories recognized by the semantic layer. +IOPSY_CATEGORIES: tuple[str, ...] = ("cognitive", "affective", "behavioral") + +#: Predicate mappings for worker function demands and manifestations. +WORKER_FUNCTION_DEMAND_PREDICATES: tuple[tuple[str, URIRef], ...] = ( + ("cognitive_demands", LW.requiresCognitiveDemand), + ("mental_workload_demands", LW.imposesMentalWorkload), + ("affective_demands", LW.elicitsEmotionalDemand), + ("emotional_labor_demands", LW.requiresEmotionalLabor), + ("behavioral_manifestations", LW.manifestsInBehavior), + ("psychomotor_behaviors", LW.requiresPsychomotorBehavior), + ("interpersonal_behaviors", LW.requiresInterpersonalBehavior), +) + +#: Inter-construct nomological relationship predicates. +INTER_CONSTRUCT_PREDICATES: tuple[tuple[str, URIRef], ...] = ( + ("cognitively_mediates", LW.cognitivelyMediates), + ("affectively_drives", LW.affectivelyDrives), + ("moderates_strain", LW.moderatesStrain), + ("buffers_burnout", LW.buffersBurnout), + ("induces_burnout_risk", LW.inducesBurnoutRisk), + ("reciprocally_influences", LW.reciprocallyInfluences), +) + + +@dataclass(frozen=True) +class IOPsyConstructRecord: + """An immutable, strongly-typed representation of an I/O psychology construct. + + Attributes directly project the formal OWL/SKOS declarations in the + canonical knowledge graph ontology without runtime estimation or remapping. + """ + + iri: str + """The canonical repository-case ontology IRI for this construct.""" + + category: str + """The high-level psychological category: ``cognitive``, ``affective``, or ``behavioral``.""" + + label: str + """The preferred label of the construct (e.g. ``'Working Memory Allocation'``).""" + + dimension: str + """The specific psychological sub-dimension (e.g. ``'cognitive_capacity'``).""" + + theoretical_basis: str + """The primary APA 7th academic literature foundation anchoring this construct.""" + + definition: str + """The comprehensive psychological definition of the construct.""" + + +@dataclass(frozen=True) +class IOPsyRelationRecord: + """A directional relationship triple between two nodes in the I/O psychology nexus. + + Captures functional-to-construct demands or inter-construct nomological links + (such as cognitive mediation, affective drive, or burnout buffering). + """ + + source_iri: str + """The IRI of the subject node (e.g. a worker function or psychological construct).""" + + source_label: str + """Human-readable display label for the source node.""" + + predicate_iri: str + """The IRI of the ontological object property expressing the relationship.""" + + predicate_label: str + """Human-readable label for the relational predicate.""" + + target_iri: str + """The IRI of the target construct node.""" + + target_label: str + """Human-readable display label for the target construct.""" + + target_category: str + """The psychological category (``cognitive``, ``affective``, or ``behavioral``) of the target.""" + + +@dataclass(frozen=True) +class WorkerFunctionIOPsyProfile: + """The complete psychological demand and manifestation profile of an FJA worker function. + + Aggregates the cognitive capacities required, mental workload imposed, affective + demands elicited, emotional labor expected, and behavioral performance dimensions. + """ + + function_domain: str + """The Functional Job Analysis domain (``data``, ``people``, or ``things``).""" + + function_rank: int + """The definitional ordinal rank (0 to 8) within the domain.""" + + function_label: str + """The official preferred label of the worker function.""" + + cognitive_demands: tuple[IOPsyConstructRecord, ...] + """Cognitive capacities and information-processing operations demanded by the function.""" + + mental_workload_demands: tuple[IOPsyConstructRecord, ...] + """Mental workload dimensions imposed during execution.""" + + affective_demands: tuple[IOPsyConstructRecord, ...] + """Emotional states, attitudes, or stress appraisals elicited.""" + + emotional_labor_demands: tuple[IOPsyConstructRecord, ...] + """Emotional labor strategies (surface/deep acting) required for interpersonal display.""" + + behavioral_manifestations: tuple[IOPsyConstructRecord, ...] + """Core task and contextual performance behaviors manifested.""" + + psychomotor_behaviors: tuple[IOPsyConstructRecord, ...] + """Physical, sensory-motor, or mechanical behaviors required.""" + + interpersonal_behaviors: tuple[IOPsyConstructRecord, ...] + """Social, collaborative, supervisory, or guidance behaviors required.""" + + +def _parse_construct_record(subject: URIRef) -> IOPsyConstructRecord: + """Parse one RDF subject into an ``IOPsyConstructRecord``.""" + types = set(ONTOLOGY.objects(subject, RDF.type)) + if LW.CognitiveConstruct in types: + category = "cognitive" + elif LW.AffectiveConstruct in types: + category = "affective" + elif LW.BehavioralConstruct in types: + category = "behavioral" + else: + raise ValueError(f"Subject {subject} is not typed as a valid IOPsy construct") + + label = ONTOLOGY.value(subject, SKOS.prefLabel) or ONTOLOGY.value(subject, RDFS.label) + if label is None: + raise ValueError(f"I/O psychology construct {subject} lacks a preferred label") + + dimension = ONTOLOGY.value(subject, LW.constructDimension) + if dimension is None: + raise ValueError(f"I/O psychology construct {subject} lacks :constructDimension") + + theoretical_basis = ONTOLOGY.value(subject, LW.constructTheoreticalBasis) + if theoretical_basis is None: + raise ValueError(f"I/O psychology construct {subject} lacks :constructTheoreticalBasis") + + definition = ONTOLOGY.value(subject, SKOS.definition) + if definition is None: + raise ValueError(f"I/O psychology construct {subject} lacks skos:definition") + + return IOPsyConstructRecord( + iri=str(subject), + category=category, + label=str(label), + dimension=str(dimension), + theoretical_basis=str(theoretical_basis), + definition=str(definition), + ) + + +@lru_cache(maxsize=1) +def cognitive_construct_records() -> tuple[IOPsyConstructRecord, ...]: + """Retrieve all declared cognitive construct records, deterministically sorted by label. + + Returns: + tuple[IOPsyConstructRecord, ...]: Immutable sequence of cognitive constructs. + """ + records = [ + _parse_construct_record(s) + for s in ONTOLOGY.subjects(RDF.type, LW.CognitiveConstruct) + if isinstance(s, URIRef) + ] + records.sort(key=lambda r: r.label) + return tuple(records) + + +@lru_cache(maxsize=1) +def affective_construct_records() -> tuple[IOPsyConstructRecord, ...]: + """Retrieve all declared affective construct records, deterministically sorted by label. + + Returns: + tuple[IOPsyConstructRecord, ...]: Immutable sequence of affective constructs. + """ + records = [ + _parse_construct_record(s) + for s in ONTOLOGY.subjects(RDF.type, LW.AffectiveConstruct) + if isinstance(s, URIRef) + ] + records.sort(key=lambda r: r.label) + return tuple(records) + + +@lru_cache(maxsize=1) +def behavioral_construct_records() -> tuple[IOPsyConstructRecord, ...]: + """Retrieve all declared behavioral construct records, deterministically sorted by label. + + Returns: + tuple[IOPsyConstructRecord, ...]: Immutable sequence of behavioral constructs. + """ + records = [ + _parse_construct_record(s) + for s in ONTOLOGY.subjects(RDF.type, LW.BehavioralConstruct) + if isinstance(s, URIRef) + ] + records.sort(key=lambda r: r.label) + return tuple(records) + + +@lru_cache(maxsize=1) +def all_iopsy_construct_records() -> tuple[IOPsyConstructRecord, ...]: + """Retrieve all cognitive, affective, and behavioral construct records across the ontology. + + Returns: + tuple[IOPsyConstructRecord, ...]: Complete, deterministically sorted sequence of constructs. + """ + all_records = list(cognitive_construct_records()) + all_records.extend(affective_construct_records()) + all_records.extend(behavioral_construct_records()) + all_records.sort(key=lambda r: (r.category, r.label)) + return tuple(all_records) + + +def iopsy_construct_record(iri_or_name: str) -> IOPsyConstructRecord | None: + """Find a specific I/O psychology construct record by its IRI or local name. + + Args: + iri_or_name: Full IRI (e.g. ``'https://...#cogWorkingMemoryAllocation'``) + or local fragment name (e.g. ``'cogWorkingMemoryAllocation'``). + + Returns: + IOPsyConstructRecord | None: The matching record or ``None`` if not found. + """ + target = iri_or_name.strip() + if not target.startswith("http"): + target = f"{LW}{target}" + + for record in all_iopsy_construct_records(): + if record.iri == target: + return record + return None + + +@lru_cache(maxsize=1) +def all_iopsy_relation_records() -> tuple[IOPsyRelationRecord, ...]: + """Retrieve all declared psychological relations across worker functions and constructs. + + Extracts all triples involving demand predicates and inter-construct links. + + Returns: + tuple[IOPsyRelationRecord, ...]: Deterministically sorted sequence of relation records. + """ + relations: list[IOPsyRelationRecord] = [] + predicates = [pred for _, pred in WORKER_FUNCTION_DEMAND_PREDICATES] + predicates.extend([pred for _, pred in INTER_CONSTRUCT_PREDICATES]) + + construct_map = {r.iri: r for r in all_iopsy_construct_records()} + + for pred_uri in predicates: + pred_label = str(ONTOLOGY.value(pred_uri, RDFS.label) or pred_uri.split("#")[-1]) + for s, _, o in ONTOLOGY.triples((None, pred_uri, None)): + if not isinstance(s, URIRef) or not isinstance(o, URIRef): + continue + s_iri = str(s) + o_iri = str(o) + + # Determine source label + if s_iri in construct_map: + s_label = construct_map[s_iri].label + else: + s_label_val = ONTOLOGY.value(s, SKOS.prefLabel) or ONTOLOGY.value(s, RDFS.label) + s_label = str(s_label_val) if s_label_val else s_iri.split("#")[-1] + + if o_iri not in construct_map: + continue + target_rec = construct_map[o_iri] + + relations.append( + IOPsyRelationRecord( + source_iri=s_iri, + source_label=s_label, + predicate_iri=str(pred_uri), + predicate_label=pred_label, + target_iri=o_iri, + target_label=target_rec.label, + target_category=target_rec.category, + ) + ) + + relations.sort(key=lambda r: (r.source_iri, r.predicate_iri, r.target_iri)) + return tuple(relations) + + +def iopsy_profile_for_worker_function(domain: str, rank: int) -> WorkerFunctionIOPsyProfile | None: + """Build the comprehensive I/O psychology profile for a given FJA worker function. + + Args: + domain: FJA domain (``'data'``, ``'people'``, or ``'things'``). + rank: Ordinal rank integer within the published domain limits. + + Returns: + WorkerFunctionIOPsyProfile | None: The derived psychological demand and + manifestation profile, or ``None`` if the function is not declared. + """ + func = worker_function(domain, rank) + if func is None: + return None + + func_uri = URIRef(func.iri) + construct_map = {r.iri: r for r in all_iopsy_construct_records()} + + def _get_targets(pred: URIRef) -> tuple[IOPsyConstructRecord, ...]: + targets = [ + construct_map[str(o)] + for o in ONTOLOGY.objects(func_uri, pred) + if str(o) in construct_map + ] + targets.sort(key=lambda r: r.label) + return tuple(targets) + + return WorkerFunctionIOPsyProfile( + function_domain=domain, + function_rank=rank, + function_label=func.label, + cognitive_demands=_get_targets(LW.requiresCognitiveDemand), + mental_workload_demands=_get_targets(LW.imposesMentalWorkload), + affective_demands=_get_targets(LW.elicitsEmotionalDemand), + emotional_labor_demands=_get_targets(LW.requiresEmotionalLabor), + behavioral_manifestations=_get_targets(LW.manifestsInBehavior), + psychomotor_behaviors=_get_targets(LW.requiresPsychomotorBehavior), + interpersonal_behaviors=_get_targets(LW.requiresInterpersonalBehavior), + ) + + +def relations_for_construct(iri_or_name: str) -> tuple[IOPsyRelationRecord, ...]: + """Retrieve all incoming and outgoing relations for a specified construct. + + Args: + iri_or_name: Full IRI or local name of the psychological construct. + + Returns: + tuple[IOPsyRelationRecord, ...]: Sequence of associated relation records. + """ + rec = iopsy_construct_record(iri_or_name) + if rec is None: + return () + + target_iri = rec.iri + return tuple( + r + for r in all_iopsy_relation_records() + if r.source_iri == target_iri or r.target_iri == target_iri + ) + + +def derive_composite_job_profile(fja_ratings: dict[str, int]) -> dict[str, Any]: + """Derive a job's composite psychological profile from its FJA domain ratings. + + Takes an FJA ratings dictionary (e.g. ``{'data': 1, 'people': 3, 'things': 2}``) + and aggregates the combined psychological demands, emotional labor exposure, + and performance behaviors across Data, People, and Things worker functions. + + The synthesis strictly preserves provenance: + - No invented weights or heuristic scoring are applied. + - Demands are aggregated into distinct, deduplicated collections preserving + their theoretical anchors. + + Args: + fja_ratings: Mapping of domain names to their integer ranks. + + Returns: + dict[str, Any]: A structured composite psychological profile dictionary. + """ + profiles: list[WorkerFunctionIOPsyProfile] = [] + for domain, (low, high) in sorted(WORKER_FUNCTION_DOMAINS.items()): + if domain in fja_ratings: + rank = fja_ratings[domain] + if not isinstance(rank, int) or rank < low or rank > high: + raise ValueError( + f"Invalid rank {rank!r} for domain {domain!r}; expected integer in [{low}, {high}]" + ) + p = iopsy_profile_for_worker_function(domain, rank) + if p is not None: + profiles.append(p) + + all_cog: dict[str, IOPsyConstructRecord] = {} + all_aff: dict[str, IOPsyConstructRecord] = {} + all_beh: dict[str, IOPsyConstructRecord] = {} + all_el: dict[str, IOPsyConstructRecord] = {} + all_psychomotor: dict[str, IOPsyConstructRecord] = {} + all_interpersonal: dict[str, IOPsyConstructRecord] = {} + + for prof in profiles: + for c in prof.cognitive_demands: + all_cog[c.iri] = c + for c in prof.mental_workload_demands: + all_cog[c.iri] = c + for a in prof.affective_demands: + all_aff[a.iri] = a + for el in prof.emotional_labor_demands: + all_el[el.iri] = el + for b in prof.behavioral_manifestations: + all_beh[b.iri] = b + for pm in prof.psychomotor_behaviors: + all_psychomotor[pm.iri] = pm + for ip in prof.interpersonal_behaviors: + all_interpersonal[ip.iri] = ip + + return { + "fja_ratings": dict(sorted(fja_ratings.items())), + "profiles": tuple(profiles), + "cognitive_demands": tuple(sorted(all_cog.values(), key=lambda r: r.label)), + "affective_demands": tuple(sorted(all_aff.values(), key=lambda r: r.label)), + "emotional_labor_demands": tuple(sorted(all_el.values(), key=lambda r: r.label)), + "behavioral_manifestations": tuple(sorted(all_beh.values(), key=lambda r: r.label)), + "psychomotor_behaviors": tuple(sorted(all_psychomotor.values(), key=lambda r: r.label)), + "interpersonal_behaviors": tuple(sorted(all_interpersonal.values(), key=lambda r: r.label)), + } diff --git a/tests/test_iopsy_taxonomy.py b/tests/test_iopsy_taxonomy.py new file mode 100644 index 000000000..d5a909359 --- /dev/null +++ b/tests/test_iopsy_taxonomy.py @@ -0,0 +1,217 @@ +"""Unit and integration tests for the Industrial and Organizational (I/O) +Psychology Semantic Layer (ADR 0251). + +Verifies the formal mapping from Functional Job Analysis (FJA Data/People/Things) +to cognitive, affective, and behavioral constructs, ensuring theoretical +grounding, deterministic ordering, and fail-closed validation. +""" + +from __future__ import annotations + +import pytest +from rdflib import URIRef +from rdflib.namespace import RDF, SKOS + +from lineageweave.iopsy_taxonomy import ( + IOPSY_CATEGORIES, + IOPsyConstructRecord, + IOPsyRelationRecord, + WorkerFunctionIOPsyProfile, + affective_construct_records, + all_iopsy_construct_records, + all_iopsy_relation_records, + behavioral_construct_records, + cognitive_construct_records, + derive_composite_job_profile, + iopsy_construct_record, + iopsy_profile_for_worker_function, + relations_for_construct, +) +from lineageweave.ontology import LW, ONTOLOGY +from lineageweave.worker_function_taxonomy import worker_function_records + + +def test_iopsy_categories_constant() -> None: + """The three standard psychological domains are declared.""" + assert IOPSY_CATEGORIES == ("cognitive", "affective", "behavioral") + + +def test_cognitive_constructs_coverage() -> None: + """All declared cognitive constructs parse with complete metadata.""" + records = cognitive_construct_records() + assert len(records) >= 20 + for record in records: + assert isinstance(record, IOPsyConstructRecord) + assert record.category == "cognitive" + assert record.iri.startswith("https://contextualwisdomlab.github.io/LineageWeave/ontology#cog") + assert len(record.label) > 0 + assert len(record.dimension) > 0 + assert len(record.theoretical_basis) > 0 + assert len(record.definition) > 0 + + +def test_affective_constructs_coverage() -> None: + """All declared affective constructs parse with complete metadata.""" + records = affective_construct_records() + assert len(records) >= 20 + for record in records: + assert isinstance(record, IOPsyConstructRecord) + assert record.category == "affective" + assert record.iri.startswith("https://contextualwisdomlab.github.io/LineageWeave/ontology#aff") + assert len(record.label) > 0 + assert len(record.dimension) > 0 + assert len(record.theoretical_basis) > 0 + assert len(record.definition) > 0 + + +def test_behavioral_constructs_coverage() -> None: + """All declared behavioral constructs parse with complete metadata.""" + records = behavioral_construct_records() + assert len(records) >= 25 + for record in records: + assert isinstance(record, IOPsyConstructRecord) + assert record.category == "behavioral" + assert record.iri.startswith("https://contextualwisdomlab.github.io/LineageWeave/ontology#beh") + assert len(record.label) > 0 + assert len(record.dimension) > 0 + assert len(record.theoretical_basis) > 0 + assert len(record.definition) > 0 + + +def test_all_iopsy_construct_records_aggregation() -> None: + """Aggregation matches the sum of domain-specific collections.""" + all_recs = all_iopsy_construct_records() + cog_recs = cognitive_construct_records() + aff_recs = affective_construct_records() + beh_recs = behavioral_construct_records() + + assert len(all_recs) == len(cog_recs) + len(aff_recs) + len(beh_recs) + iris = {r.iri for r in all_recs} + assert len(iris) == len(all_recs) + + +def test_iopsy_construct_lookup_by_iri_and_local_name() -> None: + """Constructs can be resolved by full canonical IRI or local fragment.""" + wm = iopsy_construct_record("cogWorkingMemoryAllocation") + assert wm is not None + assert wm.label == "Working Memory Allocation" + assert wm.category == "cognitive" + assert "Baddeley" in wm.theoretical_basis + + wm_full = iopsy_construct_record(str(LW.cogWorkingMemoryAllocation)) + assert wm_full == wm + + burnout = iopsy_construct_record("affBurnoutEmotionalExhaustion") + assert burnout is not None + assert burnout.category == "affective" + assert "Maslach" in burnout.theoretical_basis + + ocb = iopsy_construct_record("behOcbIndividualAltruism") + assert ocb is not None + assert ocb.category == "behavioral" + assert "Organ" in ocb.theoretical_basis + + assert iopsy_construct_record("nonExistentConstruct") is None + + +def test_every_worker_function_has_iopsy_profile() -> None: + """Every one of the 24 FJA worker functions maps to a valid profile.""" + for wf in worker_function_records(): + profile = iopsy_profile_for_worker_function(wf.domain, wf.rank) + assert profile is not None + assert isinstance(profile, WorkerFunctionIOPsyProfile) + assert profile.function_domain == wf.domain + assert profile.function_rank == wf.rank + assert profile.function_label == wf.label + + # Every worker function demands at least one cognitive process + assert len(profile.cognitive_demands) > 0 + + # High-complexity Data functions demand problem solving or decision making + if wf.domain == "data" and wf.rank == 0: + demands = {c.label for c in profile.cognitive_demands} + assert "Complex Problem Solving" in demands + + # People functions demand emotional labor or interpersonal interactions + if wf.domain == "people": + assert ( + len(profile.emotional_labor_demands) > 0 + or len(profile.interpersonal_behaviors) > 0 + or len(profile.affective_demands) > 0 + ) + + # Things functions demand psychomotor behavior or safety + if wf.domain == "things": + behaviors = {b.label for b in profile.behavioral_manifestations} + assert "Safety Compliance" in behaviors or len(profile.psychomotor_behaviors) > 0 + + +def test_iopsy_profile_invalid_domain_or_rank() -> None: + """Profile retrieval fails closed for undeclared domains or ranks.""" + with pytest.raises(ValueError, match="unknown worker-function domain"): + iopsy_profile_for_worker_function("invalid_domain", 0) + + assert iopsy_profile_for_worker_function("data", 99) is None + + +def test_all_iopsy_relations_declared() -> None: + """Relation records capture demand links and nomological inter-construct paths.""" + relations = all_iopsy_relation_records() + assert len(relations) > 50 + + predicates = {r.predicate_iri for r in relations} + assert str(LW.requiresCognitiveDemand) in predicates + assert str(LW.elicitsEmotionalDemand) in predicates + assert str(LW.manifestsInBehavior) in predicates + assert str(LW.cognitivelyMediates) in predicates + assert str(LW.affectivelyDrives) in predicates + assert str(LW.buffersBurnout) in predicates + + +def test_relations_for_construct_queries() -> None: + """Relations linked to a specific construct can be retrieved bidirectionally.""" + exhaustion_rels = relations_for_construct("affBurnoutEmotionalExhaustion") + assert len(exhaustion_rels) > 0 + + # Surface acting induces burnout risk of emotional exhaustion + inducing = [ + r for r in exhaustion_rels + if r.target_iri == str(LW.affBurnoutEmotionalExhaustion) + and r.predicate_iri == str(LW.inducesBurnoutRisk) + ] + assert len(inducing) > 0 + + # Emotional exhaustion drives turnover behavior + driving = [ + r for r in exhaustion_rels + if r.source_iri == str(LW.affBurnoutEmotionalExhaustion) + and r.target_iri == str(LW.behTurnover) + ] + assert len(driving) > 0 + + +def test_derive_composite_job_profile() -> None: + """Composite job psychological profile aggregates multi-domain FJA ratings.""" + ratings = {"data": 1, "people": 3, "things": 2} + composite = derive_composite_job_profile(ratings) + + assert composite["fja_ratings"] == ratings + assert len(composite["profiles"]) == 3 + assert len(composite["cognitive_demands"]) > 0 + assert len(composite["affective_demands"]) > 0 + assert len(composite["behavioral_manifestations"]) > 0 + + cog_labels = {c.label for c in composite["cognitive_demands"]} + assert "Strategic Decision Making" in cog_labels + assert "Task Structuring" in cog_labels + assert "Situational Awareness" in cog_labels + + beh_labels = {b.label for b in composite["behavioral_manifestations"]} + assert "Transactional Supervision" in beh_labels + assert "Safety Compliance" in beh_labels + + +def test_derive_composite_job_profile_validation() -> None: + """Invalid ranks in composite profile request raise ValueError.""" + with pytest.raises(ValueError, match="Invalid rank"): + derive_composite_job_profile({"data": 10})