@prefix : <https://contextualwisdomlab.github.io/LineageWeave/ontology#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix dcterms: <http://purl.org/dc/terms/> .

#################################################################
# LineageWeave Knowledge Graph Ontology
#
# The formal OWL 2 Full / RDFS / SKOS vocabulary for the
# `knowledge_graph_edge` table's node/edge types, the
# `entity_relationship_type` / `person_side` / `corporate_entity_level`
# / `voc_type` controlled vocabularies in migrations/, and
# `post_summary_role.actor_type_code` (migrations/0012).
#
# ADR 0207 supersedes ADR 0157: the canonical namespace is the
# repository-case spelling above -- the exact path GitHub Pages serves.
# The lowercase namespace is a deprecated compatibility vocabulary
# published beside this file as namespace-compatibility.ttl with
# validated term-kind mappings; new producers must not mint lowercase
# IRIs.
#
# `knowledge_graph_edge` (source_node_type_code, source_node_id) --
# [edge_type_code] --> (target_node_type_code, target_node_id) is
# already an RDF triple in shape (Cyganiak, Wood, & Lanthaler, 2014);
# this file is the formal semantic layer over it -- PostgreSQL stays
# the source of record. See docs/adr/0004-knowledge-graph-ontology.md
# for the KG design rationale, docs/adr/0207-repository-case-ontology-namespace-canonical.md
# for the namespace decision and SHACL boundary, and tests/test_ontology.py
# for the round-trip check that every lookup code below actually exists
# as a common_lookup_value row, and vice versa.
#
# Every controlled-vocabulary term carries a :lookupCode annotation
# naming the exact `common_lookup_value.lookup_code` it corresponds to
# -- that literal string, not the IRI fragment, is what the relational
# schema stores. Column-projection datatype properties deliberately do
# NOT carry :lookupCode: they project table columns, not governed
# lookup rows, so there is nothing for the round-trip check to enforce
# (the same discipline as the organization_name_resolution block below).
#################################################################

<https://contextualwisdomlab.github.io/LineageWeave/ontology> a owl:Ontology ;
    rdfs:label "LineageWeave Knowledge Graph Ontology" ;
    rdfs:comment "Formal OWL 2 Full / RDFS / SKOS vocabulary for LineageWeave's knowledge_graph_edge node and edge types, entity_relationship_type, person_side, corporate_entity_level, voc_type, and post_summary_role.actor_type_code controlled vocabularies. RDF reification for semantic project evidence is interpreted with OWL 2 RDF-Based Semantics rather than OWL 2 DL." .

:lookupCode a owl:AnnotationProperty ;
    rdfs:label "lookup code" ;
    rdfs:comment "The exact common_lookup_value.lookup_code string this ontology term corresponds to." .

#################################################################
# Classes -- node_type
#################################################################

:Post a owl:Class ;
    rdfs:label "Post" ;
    rdfs:comment "A source_post row: one record typed by the voc_type scheme (:postTypeScheme) -- Voice of Customer, Customer's Customer, Competitor, Market, Partner, Supplier, Employee, Business, Regulator, Investor, Society, or Process (ADR 0246)." ;
    :lookupCode "node_post" .

:Person a owl:Class ;
    rdfs:label "Person" ;
    rdfs:comment "A cataloged_person row: a Keyman mentioned in one or more posts." ;
    :lookupCode "node_person" .

:OurSidePerson a owl:Class ;
    rdfs:subClassOf :Person ;
    rdfs:label "Our-side person" ;
    :lookupCode "our_side" .

:CounterpartyPerson a owl:Class ;
    rdfs:subClassOf :Person ;
    rdfs:label "Counterparty person" ;
    :lookupCode "counterparty" .

# A person side is exactly one of our-side or counterparty (the seeded
# person_side vocabulary has no third value), so the two subclasses are
# declared disjoint: a reasoner must never infer both from one row, and
# the SHACL shapes graph carries the closed-world complement.
:OurSidePerson owl:disjointWith :CounterpartyPerson .

:CorporateEntity a owl:Class ;
    rdfs:subClassOf skos:Concept ;
    rdfs:label "Corporate entity" ;
    rdfs:comment "A corporate_entity row. Also a skos:Concept so the self-referencing parent_entity_id hierarchy (e.g. Group -> Company -> Plant) is expressible with skos:broader/skos:narrower on instances." ;
    :lookupCode "node_corporate_entity" .

:Team a owl:Class ;
    rdfs:subClassOf org:OrganizationalUnit ;
    rdfs:label "Team" ;
    rdfs:comment "A cataloged_team row: a named company sub-unit (ADR 0009) with a stable team_id, distinct from :RoleActorTeam (ADR 0007's per-row actor_type_code classification) the same way :Person is distinct from :RoleActorPerson." ;
    :lookupCode "node_team" .

#################################################################
# Object properties -- edge_type (knowledge_graph_edge.edge_type_code)
#################################################################

:mentionedIn a owl:ObjectProperty ;
    rdfs:domain :Person ;
    rdfs:range :Post ;
    rdfs:label "mentioned in" ;
    rdfs:comment "A person is named by a post (post_person_mention); this is the canonical direction stored by knowledge_graph_edge." ;
    :lookupCode "edge_mention" .

# Keep the natural-language inverse available to RDF consumers without
# assigning the relational lookup code to two different properties.
:mentions a owl:ObjectProperty ;
    rdfs:domain :Post ;
    rdfs:range :Person ;
    rdfs:label "mentions" ;
    owl:inverseOf :mentionedIn .

:affiliatedWith a owl:ObjectProperty ;
    rdfs:domain :Person ;
    rdfs:range :CorporateEntity ;
    rdfs:label "affiliated with" ;
    rdfs:comment "A person's N:N organizational affiliation (person_affiliation)." ;
    :lookupCode "edge_affiliation" .

# Bidirectional query support for affiliations: consumers can traverse
# entity -> people without a second stored edge. Like :mentions above,
# the inverse stays un-coded so one lookup_code keeps naming exactly one
# stored property.
:hasAffiliate a owl:ObjectProperty ;
    rdfs:domain :CorporateEntity ;
    rdfs:range :Person ;
    rdfs:label "has affiliate" ;
    owl:inverseOf :affiliatedWith .

:coMentionedWith a owl:ObjectProperty, owl:SymmetricProperty ;
    rdfs:domain :Person ;
    rdfs:range :Person ;
    rdfs:label "co-mentioned with" ;
    rdfs:comment "Two people named in the same post -- symmetric by construction." ;
    :lookupCode "edge_co_mention" .

#################################################################
# Object properties -- ADR 0009 cross-post identity resolution edges.
# Kept distinct from :mentionedIn/:affiliatedWith (not reused with a
# broadened domain/range) so an edge_type_code alone always tells you
# which node types it connects -- stating rdfs:domain for the same
# property twice (once :Person, once :Team) would make RDFS entail
# every :mentionedIn subject is BOTH a :Person and a :Team, which is false.
#################################################################

:mentionsTeam a owl:ObjectProperty ;
    rdfs:domain :Team ;
    rdfs:range :Post ;
    rdfs:label "mentioned in post" ;
    rdfs:comment "A cataloged team is named by a post (post_team_mention)." ;
    :lookupCode "edge_mention_team" .

:teamAffiliatedWith a owl:ObjectProperty ;
    rdfs:domain :Team ;
    rdfs:range :CorporateEntity ;
    rdfs:label "team affiliated with" ;
    rdfs:comment "The company a cataloged team belongs to (cataloged_team.affiliated_corporate_entity_id)." ;
    :lookupCode "edge_team_affiliation" .

:mentionsOrganization a owl:ObjectProperty ;
    rdfs:domain :CorporateEntity ;
    rdfs:range :Post ;
    rdfs:label "mentioned in post" ;
    rdfs:comment "A resolved organization is named by a post (post_organization_mention)." ;
    :lookupCode "edge_mention_organization" .

#################################################################
# Object properties -- entity_relationship_type
# (post_counterparty_entity.relationship_type_code)
#################################################################

:hasVocRelationship a owl:ObjectProperty ;
    rdfs:domain :Post ; rdfs:range :CorporateEntity ;
    rdfs:label "has Voice-of-Customer relationship" ;
    :lookupCode "rel_voc" .

:hasVomRelationship a owl:ObjectProperty ;
    rdfs:domain :Post ; rdfs:range :CorporateEntity ;
    rdfs:label "has Voice-of-Market relationship" ;
    :lookupCode "rel_vom" .

:hasVopRelationship a owl:ObjectProperty ;
    rdfs:domain :Post ; rdfs:range :CorporateEntity ;
    rdfs:label "has Voice-of-Partner relationship" ;
    :lookupCode "rel_vop" .

:hasVoccRelationship a owl:ObjectProperty ;
    rdfs:domain :Post ; rdfs:range :CorporateEntity ;
    rdfs:label "has Voice-of-Customer's-Customer relationship" ;
    :lookupCode "rel_vocc" .

:hasVocoRelationship a owl:ObjectProperty ;
    rdfs:domain :Post ; rdfs:range :CorporateEntity ;
    rdfs:label "has Voice-of-Competitor relationship" ;
    :lookupCode "rel_voco" .

:hasVosRelationship a owl:ObjectProperty ;
    rdfs:domain :Post ; rdfs:range :CorporateEntity ;
    rdfs:label "has Voice-of-Supplier relationship" ;
    :lookupCode "rel_vos" .

#################################################################
# Datatype properties -- node attribute projections.
#
# These project real source columns (source_post.post_title /
# post_body / created_at / updated_at / event_occurred_at;
# cataloged_person.person_name / last_known_job_title;
# corporate_entity.corporate_entity_code / entity_name). No property
# is minted for a column that does not exist. Shared timestamps carry
# NO rdfs:domain on purpose: two rdfs:domain statements would entail
# every subject belongs to BOTH classes -- the multi-domain trap the
# cross-post edge block above already avoids. Per-class cardinality
# and datatype constraints live in the SHACL shapes graph
# (lineageweave-kg-shapes.ttl), which validates projected data
# closed-world where OWL's open world deliberately will not
# (Knublauch & Kontokostas, 2017).
#################################################################

:postTitle a owl:DatatypeProperty ;
    rdfs:domain :Post ;
    rdfs:range xsd:string ;
    rdfs:label "post title" ;
    rdfs:comment "source_post.post_title -- the authoring application's title text." .

:postBody a owl:DatatypeProperty ;
    rdfs:domain :Post ;
    rdfs:range xsd:string ;
    rdfs:label "post body" ;
    rdfs:comment "source_post.post_body -- the preserved source representation, never flattened into one opaque string by derived views." .

:eventOccurredAt a owl:DatatypeProperty ;
    rdfs:domain :Post ;
    rdfs:range xsd:dateTime ;
    rdfs:label "event occurred at" ;
    rdfs:comment "source_post.event_occurred_at (migrations 0183) -- the business event instant Global Ask time filters bind to, falling back to created_at only when missing (ADR 0150)." .

:personName a owl:DatatypeProperty ;
    rdfs:domain :Person ;
    rdfs:range xsd:string ;
    rdfs:label "person name" ;
    rdfs:comment "cataloged_person.person_name -- Keyman extraction tests the raw organization name before any abbreviation rewrite so a rewrite cannot turn an existing tie into an apparent creation miss (ADR 0026)." .

:lastKnownJobTitle a owl:DatatypeProperty ;
    rdfs:domain :Person ;
    rdfs:range xsd:string ;
    rdfs:label "last known job title" ;
    rdfs:comment "cataloged_person.last_known_job_title (migrations 0013) -- a stated title is real same-name disambiguation evidence even when no affiliation row exists." .

:entityName a owl:DatatypeProperty ;
    rdfs:domain :CorporateEntity ;
    rdfs:range xsd:string ;
    rdfs:label "entity name" ;
    rdfs:comment "corporate_entity.entity_name -- the human-readable hierarchy label; corporate similarity results stay unique/miss/tie over this name (ADR 0026)." .

:entityCode a owl:DatatypeProperty ;
    rdfs:domain :CorporateEntity ;
    rdfs:range xsd:string ;
    rdfs:label "entity code" ;
    rdfs:comment "corporate_entity.corporate_entity_code -- the short corp code carried at login time, distinct from the display name." .

# Shared record timestamps apply to every KG node kind, so they declare
# no domain (see the block comment above); the shapes graph pins them
# per class.
:createdAt a owl:DatatypeProperty ;
    rdfs:range xsd:dateTime ;
    rdfs:label "created at" ;
    rdfs:comment "Record creation instant shared across node kinds (each source table's created_at); no rdfs:domain because multiple domains would entail impossible co-membership." .

:updatedAt a owl:DatatypeProperty ;
    rdfs:range xsd:dateTime ;
    rdfs:label "updated at" ;
    rdfs:comment "Record last-write instant shared across node kinds (e.g. source_post.updated_at); null updated-at falls back to created_at at import boundaries." .

#################################################################
# SKOS -- voc_type (post type classification)
#
# The expanded post-voice vocabulary ADR 0246 governs:
# migrations/0042 seeds the original five codes and migrations/0235
# seeds the seven additions. These are product-controlled source categories,
# not an assertion that the cited literature defines an exhaustive twelve-code
# taxonomy. Adding "voc_type" to
# the ontology-covered categories puts all twelve codes under
# tests/test_ontology.py's round-trip check.
#################################################################

:postTypeScheme a skos:ConceptScheme ;
    rdfs:label "Post type scheme" ;
    rdfs:comment "Voice-based classification of what a source post records, per the governed twelve-code voc_type lookup category (migrations/0042 + 0235)." .

:voiceOfCustomerType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Customer"@en ;
    rdfs:comment "A customer's own voice about their experience." ;
    :lookupCode "voc" .

:voiceOfCustomersCustomerType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Customer's Customer"@en ;
    rdfs:comment "The voice of the customer's downstream customer." ;
    :lookupCode "vocc" .

:voiceOfCompetitorType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Competitor"@en ;
    rdfs:comment "Market intelligence sourced from a competitor." ;
    :lookupCode "voco" .

:voiceOfMarketType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Market"@en ;
    rdfs:comment "General market signal not attributable to one account or partner." ;
    :lookupCode "vom" .

:voiceOfPartnerType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Partner"@en ;
    rdfs:comment "A partner organization's voice." ;
    :lookupCode "vop" .

# ADR 0246 additions -- expanded source-post voice categories.
:voiceOfSupplierType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Supplier"@en ;
    rdfs:comment "A supplier organization's own voice about supplying the author's organization." ;
    :lookupCode "vos" .

:voiceOfEmployeeType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Employee"@en ;
    rdfs:comment "An employee-authored or employee-originated source record." ;
    :lookupCode "voe" .

:voiceOfBusinessType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Business"@en ;
    rdfs:comment "An internal-management or business-unit source record." ;
    :lookupCode "vob" .

:voiceOfRegulatorType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Regulator"@en ;
    rdfs:comment "A regulator-authored or regulator-originated source record." ;
    :lookupCode "vor" .

:voiceOfInvestorType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Investor"@en ;
    rdfs:comment "An investor-authored or investor-originated source record." ;
    :lookupCode "voi" .

:voiceOfSocietyType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Society"@en ;
    rdfs:comment "A community or public-stakeholder source record." ;
    :lookupCode "voso" .

:voiceOfProcessType a skos:Concept ;
    skos:inScheme :postTypeScheme ;
    skos:prefLabel "Voice of Process"@en ;
    rdfs:comment "A process- or system-generated source record." ;
    :lookupCode "vops" .

# ADR 0256 -- qualified, evidence-bearing combinations. A post links to one
# assignment per atomic voice instead of minting a term for each Cartesian
# combination. Additional assignments use prov:wasDerivedFrom to retain their
# evidence lineage.
:VoiceAssignment a owl:Class ;
    rdfs:subClassOf prov:Entity ;
    rdfs:label "Voice assignment"@en ;
    rdfs:comment "One atomic Voice-of-X classification attached to a post with its own truth and provenance contract."@en .

:hasVoiceAssignment a owl:ObjectProperty ;
    rdfs:domain :Post ;
    rdfs:range :VoiceAssignment ;
    rdfs:label "has voice assignment"@en .

:assignedVoiceType a owl:ObjectProperty ;
    rdfs:domain :VoiceAssignment ;
    rdfs:range skos:Concept ;
    rdfs:label "assigned voice type"@en .

:primaryVoiceAssignment a owl:DatatypeProperty ;
    rdfs:domain :VoiceAssignment ;
    rdfs:range xsd:boolean ;
    rdfs:label "primary voice assignment"@en .

:voiceAssignmentEvidence a owl:ObjectProperty ;
    rdfs:subPropertyOf prov:wasDerivedFrom ;
    rdfs:domain :VoiceAssignment ;
    rdfs:range :Post ;
    rdfs:label "voice assignment evidence"@en ;
    rdfs:comment "The authorized source post that supports this qualified voice assignment."@en .

#################################################################
# SKOS -- corporate_entity_level (Group -> Company -> Plant)
#################################################################

:corporateEntityLevelScheme a skos:ConceptScheme ;
    rdfs:label "Corporate entity level scheme" ;
    rdfs:comment "The Acme Group -> Acme Electronics Korea -> Acme Electronics Gwangju Plant kind of level, ordered broadest first." .

:GroupLevel a skos:Concept ;
    skos:inScheme :corporateEntityLevelScheme ;
    skos:prefLabel "Group"@en ;
    :lookupCode "group" .

:CompanyLevel a skos:Concept ;
    skos:inScheme :corporateEntityLevelScheme ;
    skos:broader :GroupLevel ;
    skos:prefLabel "Company"@en ;
    :lookupCode "company" .

:PlantLevel a skos:Concept ;
    skos:inScheme :corporateEntityLevelScheme ;
    skos:broader :CompanyLevel ;
    skos:prefLabel "Plant"@en ;
    :lookupCode "plant" .

:GroupLevel skos:narrower :CompanyLevel .
:CompanyLevel skos:narrower :PlantLevel .

#################################################################
# Classes -- prov_agent_type (post_summary_role.actor_type_code)
#
# A post's R&R (roles & responsibilities) actor is not always a person
# -- business correspondence routinely names an organization acting
# in its own name ("당사" [our company], "Demo Corp"). Grounded
# directly in W3C PROV-O (Lebo, Sahoo, & McGuinness,
# 2013): prov:Agent is the general acting-party class, with prov:Person
# and prov:Organization its two recognized subclasses. These are
# distinct from :Person / :OurSidePerson / :CounterpartyPerson above:
# node_type's :Person is a cataloged_person row with a stable person_id
# a Keyman panel links to; an R&R actor is a free-text name with no
# cataloged identity of its own (it may not even resolve to a Keyman).
#
# A third, meso-level case real data surfaced: a named sub-unit of a
# company ("설계팀" [design team]) is neither prov:Person nor the
# prov:Organization itself -- it is the company's own internal
# structure. PROV-O has no such class; the W3C Organization Ontology
# (Reynolds, 2014) does: org:OrganizationalUnit, "used to represent
# division of a particular organization into sub-organizational units,"
# linked to its parent via org:unitOf. See docs/adr/0007-team-actor-type.md.
#
# Keyman job titles and industry sectors remain free-text columns with
# no governed lookup category, so no SKOS scheme is invented for them
# here (ADR 0207 decision 8 tracks that gap rather than fabricating
# vocabulary).
#################################################################

:RoleActorPerson a owl:Class ;
    rdfs:subClassOf prov:Person ;
    rdfs:label "Role actor (person)" ;
    rdfs:comment "An R&R actor that is a named individual, per prov:Person." ;
    :lookupCode "prov_person" .

:RoleActorOrganization a owl:Class ;
    rdfs:subClassOf prov:Organization ;
    rdfs:label "Role actor (organization)" ;
    rdfs:comment "An R&R actor that is an organization acting in its own name, per prov:Organization." ;
    :lookupCode "prov_organization" .

:RoleActorTeam a owl:Class ;
    rdfs:subClassOf org:OrganizationalUnit ;
    rdfs:label "Role actor (team)" ;
    rdfs:comment "An R&R actor that is a named sub-unit of a company (e.g. 설계팀), per org:OrganizationalUnit -- not the company itself." ;
    :lookupCode "prov_team" .

#################################################################
# organization_name_resolution (raw/canonical organization-name pairs)
#
# ADR 0008: an abbreviated/slang organization mention (e.g. "AGP")
# is resolved to its full canonical name ("Aurora Grid Power") and
# cross-verified via external search before being trusted. This is not
# a new KG node/edge type -- no new :lookupCode term is declared here,
# since organization_name_resolution's columns are not a
# common_lookup_value category (there is nothing for
# tests/test_ontology.py's round-trip check to enforce). Documented
# here for the Ontology/Semantic-Layer grounding itself:
# `organization_name_resolution.raw_organization_name` corresponds to
# SKOS `skos:altLabel` (an alternative label -- an abbreviation is
# exactly this) and `resolved_organization_name` to `skos:prefLabel`
# (the single preferred/canonical label), per Miles & Bechhofer (2009).
#################################################################
# Semantic project extraction (ADR 0036). These resources are distinct from
# imported grouping fields: a post may mention a project without carrying a
# project field, and the mention keeps evidence/confidence for review.
:Project a owl:Class ;
    :lookupCode "node_project" ;
    rdfs:label "Project"@en ;
    rdfs:comment "A business project referred to by a source post."@en .

:ProjectMention a owl:Class ;
    rdfs:subClassOf rdf:Statement,
        [ a owl:Restriction ; owl:onProperty rdf:subject ; owl:allValuesFrom :Post ],
        [ a owl:Restriction ; owl:onProperty rdf:predicate ; owl:hasValue :mentionsProject ],
        [ a owl:Restriction ; owl:onProperty rdf:object ; owl:allValuesFrom :Project ] ;
    rdfs:label "Project mention"@en ;
    rdfs:comment "An evidence-backed, RDF-reified assertion that a post refers to a project; rdf:subject identifies the post, rdf:predicate is :mentionsProject, and rdf:object identifies the project."@en .

:mentionsProject a owl:ObjectProperty ;
    :lookupCode "edge_mention_project" ;
    rdfs:domain :Post ;
    rdfs:range :Project ;
    rdfs:label "mentions project"@en .

:projectEvidence a owl:DatatypeProperty ;
    rdfs:domain :ProjectMention ;
    rdfs:range xsd:string .

:semanticConfidence a owl:DatatypeProperty ;
    rdfs:domain :ProjectMention ;
    rdfs:range xsd:decimal .

#################################################################
# Evidence-bound occupational constructs (ADR 0248).
#################################################################

:OccupationalConstruct a owl:Class ;
    :lookupCode "node_occupational_construct" ;
    rdfs:label "Occupational construct"@en ;
    rdfs:comment "A governed cognitive, dispositional, behavioral, or affective concept referenced by authorized record evidence; it is not itself a person-level measurement."@en .

:CognitiveAbility a owl:Class ;
    rdfs:subClassOf :OccupationalConstruct ;
    rdfs:label "Cognitive ability"@en .

:WorkStyle a owl:Class ;
    rdfs:subClassOf :OccupationalConstruct ;
    rdfs:label "Work style"@en ;
    rdfs:comment "A personality tendency exhibited at work; not a mood or emotion."@en .

:WorkActivity a owl:Class ;
    rdfs:subClassOf :OccupationalConstruct ;
    rdfs:label "Work activity"@en .

:AffectiveReaction a owl:Class ;
    rdfs:subClassOf :OccupationalConstruct ;
    rdfs:label "Affective reaction"@en ;
    rdfs:comment "An evidence-supported reaction represented with an explicitly identified EmotionML-compatible vocabulary; no default emotion category is inferred."@en .

:PerformanceBehavior a owl:Class ;
    rdfs:subClassOf :OccupationalConstruct ;
    rdfs:label "Performance behavior"@en .

:supportsOccupationalConstruct a owl:ObjectProperty ;
    :lookupCode "edge_supports_occupational_construct" ;
    rdfs:domain :Post ;
    rdfs:range :OccupationalConstruct ;
    rdfs:label "supports construct"@en ;
    rdfs:comment "Record evidence supports discussion of a construct; this does not assert a person trait, score, job requirement, or cause."@en .

:OccupationalConstructAssertion a owl:Class ;
    rdfs:subClassOf rdf:Statement,
        [ a owl:Restriction ; owl:onProperty rdf:subject ; owl:allValuesFrom :Post ],
        [ a owl:Restriction ; owl:onProperty rdf:predicate ; owl:hasValue :supportsOccupationalConstruct ],
        [ a owl:Restriction ; owl:onProperty rdf:object ; owl:allValuesFrom :OccupationalConstruct ] ;
    rdfs:label "Occupational construct assertion"@en ;
    rdfs:comment "A provenance-bearing reified statement that one authorized Post contains evidence supporting an occupational construct."@en .

:constructEvidence a owl:DatatypeProperty ;
    rdfs:domain :OccupationalConstructAssertion ;
    rdfs:range xsd:string ;
    rdfs:label "construct evidence"@en .

#################################################################
# Worker-function taxonomy (ADR 0232).
#
# The Dictionary of Occupational Titles' Data/People/Things worker
# functions (U.S. Department of Labor, 1991, Appendix B) descend from
# Functional Job Analysis (Fine & Cronshaw, 1999). Each function below
# carries the official DOT definition verbatim as its skos:definition,
# its definitional ordinal rank (:fjaRank -- lower digits denote the
# more complex function; these are scale positions, never fitted or
# calibrated weights). Channel-weight estimation stays governed by
# ADR 0145. No DOT-to-O*NET or Fleishman crosswalk is asserted because
# the cited authorities do not publish one.
#
# Like column-projection properties above, these concepts deliberately
# do NOT carry :lookupCode: they are not common_lookup_value rows, so
# the lookup-code round trip is unaffected.
#################################################################

:WorkerFunction a owl:Class ;
    rdfs:label "Worker function"@en ;
    rdfs:comment "One DOT/FJA Data, People, or Things worker function: the standard terminology for how a worker functions on a job in relation to data, people, or things."@en .

:workerFunctionScheme a skos:ConceptScheme ;
    skos:prefLabel "DOT/FJA worker functions"@en ;
    skos:definition "The three ordered DOT worker-function lists (Data 0-6, People 0-8, Things 0-7), each arranged from the most complex to the simplest relationship."@en ;
    rdfs:seeAlso <https://www.dol.gov/agencies/oalj/PUBLIC/DOT/REFERENCES/DOTAPPB> .

:fjaDomain a owl:DatatypeProperty ;
    rdfs:domain :WorkerFunction ;
    rdfs:range xsd:string ;
    rdfs:label "FJA domain"@en ;
    rdfs:comment "Which DOT list the function belongs to: exactly one of \"data\", \"people\", or \"things\"."@en .

:fjaRank a owl:DatatypeProperty ;
    rdfs:domain :WorkerFunction ;
    rdfs:range xsd:integer ;
    rdfs:label "FJA rank"@en ;
    rdfs:comment "The function's definitional position on its DOT list. Lower digits name the more complex function; the digit is a scale position from the published table, not a fitted weight."@en .

# ---- Data (4th DOT digit): information, knowledge, and conceptions ----

:dataSynthesizing a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Synthesizing"@en ;
    :fjaDomain "data" ; :fjaRank 0 ;
    skos:definition "Integrating analyses of data to discover facts and/or develop knowledge concepts or interpretations."@en .

:dataCoordinating a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Coordinating"@en ;
    :fjaDomain "data" ; :fjaRank 1 ;
    skos:definition "Determining time, place, and sequence of operations or action to be taken on the basis of analysis of data; executing determinations and/or reporting on events."@en .

:dataAnalyzing a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Analyzing"@en ;
    :fjaDomain "data" ; :fjaRank 2 ;
    skos:definition "Examining and evaluating data. Presenting alternative actions in relation to the evaluation is frequently involved."@en .

:dataCompiling a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Compiling"@en ;
    :fjaDomain "data" ; :fjaRank 3 ;
    skos:definition "Gathering, collating, or classifying information about data, people, or things. Reporting and/or carrying out a prescribed action in relation to the information is frequently involved."@en .

:dataComputing a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Computing"@en ;
    :fjaDomain "data" ; :fjaRank 4 ;
    skos:definition "Performing arithmetic operations and reporting on and/or carrying out a prescribed action in relation to them. Does not include counting."@en .

:dataCopying a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Copying"@en ;
    :fjaDomain "data" ; :fjaRank 5 ;
    skos:definition "Transcribing, entering, or posting data."@en .

:dataComparing a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Comparing"@en ;
    :fjaDomain "data" ; :fjaRank 6 ;
    skos:definition "Judging the readily observable functional, structural, or compositional characteristics (whether similar to or divergent from obvious standards) of data, people, or things."@en .

# ---- People (5th DOT digit): human beings dealt with individually ----

:peopleMentoring a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Mentoring"@en ;
    :fjaDomain "people" ; :fjaRank 0 ;
    skos:definition "Dealing with individuals in terms of their total personality in order to advise, counsel, and/or guide them with regard to problems that may be resolved by legal, scientific, clinical, spiritual, and/or other professional principles."@en .

:peopleNegotiating a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Negotiating"@en ;
    :fjaDomain "people" ; :fjaRank 1 ;
    skos:definition "Exchanging ideas, information, and opinions with others to formulate policies and programs and/or arrive jointly at decisions, conclusions, or solutions."@en .

:peopleInstructing a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Instructing"@en ;
    :fjaDomain "people" ; :fjaRank 2 ;
    skos:definition "Teaching subject matter to others, or training others (including animals) through explanation, demonstration, and supervised practice; or making recommendations on the basis of technical disciplines."@en .

:peopleSupervising a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Supervising"@en ;
    :fjaDomain "people" ; :fjaRank 3 ;
    skos:definition "Determining or interpreting work procedures for a group of workers, assigning specific duties to them, maintaining harmonious relations among them, and promoting efficiency. A variety of responsibilities is involved in this function."@en .

:peopleDiverting a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Diverting"@en ;
    :fjaDomain "people" ; :fjaRank 4 ;
    skos:definition "Amusing others, usually through the medium of stage, screen, television, or radio."@en .

:peoplePersuading a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Persuading"@en ;
    :fjaDomain "people" ; :fjaRank 5 ;
    skos:definition "Influencing others in favor of a product, service, or point of view."@en .

:peopleSpeakingSignaling a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Speaking-Signaling"@en ;
    :fjaDomain "people" ; :fjaRank 6 ;
    skos:definition "Talking with and/or signaling people to convey or exchange information. Includes giving assignments and/or directions to helpers or assistants."@en .

:peopleServing a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Serving"@en ;
    :fjaDomain "people" ; :fjaRank 7 ;
    skos:definition "Attending to the needs or requests of people or animals or the expressed or implicit wishes of people. Immediate response is involved."@en .

:peopleTakingInstructionsHelping a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Taking Instructions-Helping"@en ;
    :fjaDomain "people" ; :fjaRank 8 ;
    skos:definition "Attending to the work assignment instructions or orders of supervisor. (No immediate response required unless clarification of instructions or orders is needed.) Helping applies to 'non-learning' helpers."@en .

# ---- Things (6th DOT digit): inanimate objects as defined by DOT ----

:thingsSettingUp a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Setting Up"@en ;
    :fjaDomain "things" ; :fjaRank 0 ;
    skos:definition "Preparing machines (or equipment) for operation by planning order of successive machine operations, installing and adjusting tools and other machine components, adjusting the position of workpiece or material, setting controls, and verifying accuracy of machine capabilities, properties of materials, and shop practices. Uses tools, equipment, and work aids, such as precision gauges and measuring instruments. Workers who set up one or a number of machines for other workers or who set up and personally operate a variety of machines are included here."@en .

:thingsPrecisionWorking a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Precision Working"@en ;
    :fjaDomain "things" ; :fjaRank 1 ;
    skos:definition "Using body members and/or tools or work aids to work, move, guide, or place objects or materials in situations where ultimate responsibility for the attainment of standards occurs and selection of appropriate tools, objects, or materials, and the adjustment of the tool to the task require exercise of considerable judgment."@en .

:thingsOperatingControlling a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Operating-Controlling"@en ;
    :fjaDomain "things" ; :fjaRank 2 ;
    skos:definition "Starting, stopping, controlling, and adjusting the progress of machines or equipment. Operating machines involves setting up and adjusting the machine or material(s) as the work progresses. Controlling involves observing gauges, dials, etc., and turning valves and other devices to regulate factors such as temperature, pressure, flow of liquids, speed of pumps, and reactions of materials."@en .

:thingsDrivingOperating a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Driving-Operating"@en ;
    :fjaDomain "things" ; :fjaRank 3 ;
    skos:definition "Starting, stopping, and controlling the actions of machines or equipment for which a course must be steered or which must be guided to control the movement of things or people for a variety of purposes. Involves such activities as observing gauges and dials, estimating distances and determining speed and direction of other objects, turning cranks and wheels, and pushing or pulling gear lifts or levers. Includes such machines as cranes, conveyor systems, tractors, furnace-charging machines, paving machines, and hoisting machines. Excludes manually powered machines, such as handtrucks and dollies, and power-assisted machines, such as electric wheelbarrows and handtrucks."@en .

:thingsManipulating a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Manipulating"@en ;
    :fjaDomain "things" ; :fjaRank 4 ;
    skos:definition "Using body members, tools, or special devices to work, move, guide, or place objects or materials. Involves some latitude for judgment with regard to precision attained and selecting appropriate tool, object, or material, although this is readily manifest."@en .

:thingsTending a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Tending"@en ;
    :fjaDomain "things" ; :fjaRank 5 ;
    skos:definition "Starting, stopping, and observing the functioning of machines and equipment. Involves adjusting materials or controls of the machine, such as changing guides, adjusting timers and temperature gauges, turning valves to allow flow of materials, and flipping switches in response to lights. Little judgment is involved in making these adjustments."@en .

:thingsFeedingOffbearing a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    skos:prefLabel "Feeding-Offbearing"@en ;
    :fjaDomain "things" ; :fjaRank 6 ;
    skos:definition "Inserting, throwing, dumping, or placing materials in or removing them from machines or equipment which are automatic or tended or operated by other workers."@en .

:thingsHandling a skos:Concept , :WorkerFunction ;
    skos:inScheme :workerFunctionScheme ;
    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 .


#################################################################
# I-O occupational classification, job-zone preparation, and
# worker-characteristic taxonomy (ADR 0245).
#
# The 2018 Standard Occupational Classification major groups -- the
# same 23 groupings the O*NET program publishes as its job families --
# give stored evidence an addressable occupational-classification
# vocabulary. The O*NET job zones carry published preparation levels;
# the Holland RIASEC interest types, O*NET work-value clusters,
# work-style families from the revised O*NET Work Styles report, and
# Fleishman ability domains carry the worker-characteristic constructs
# that the O*NET content model organizes under every occupation
# (Peterson et al., 1999; Peterson et al., 2001).
#
# Provenance discipline mirrors ADR 0232:
# - Titles and names are copied from the published tables; nothing is
#   paraphrased into an official definition.
# - No numeric importance or level rating from any occupational profile
#   is imported here; measurement stays governed by ADR 0145.
# - The four typed derivation properties below are declared but assert
#   no instance binding yet: binding a classification to a
#   characteristic requires importing a versioned released source
#   profile with provenance in its own decision.
#
# Like the worker functions above, these concepts deliberately do NOT
# carry :lookupCode: they are not common_lookup_value rows.
#################################################################

:sourceArtifactSha256 a owl:DatatypeProperty ;
    rdfs:domain prov:Entity ;
    rdfs:range xsd:string ;
    rdfs:label "source artifact SHA-256"@en ;
    rdfs:comment "Lowercase SHA-256 of the exact versioned source artifact when a stable downloadable artifact is available; absence is an honest unknown."@en .

:sourceSoc2018 a prov:Entity ;
    dcterms:title "2018 Standard Occupational Classification System"@en ;
    dcterms:publisher "U.S. Bureau of Labor Statistics"@en ;
    dcterms:hasVersion "2018" ;
    dcterms:source <https://www.bls.gov/soc/2018/major_groups.htm> ;
    dcterms:rights <https://www.dol.gov/general/aboutdol/copyright> .

:sourceOnet310JobZoneReference a prov:Entity ;
    dcterms:title "O*NET 31.0 Job Zone Reference"@en ;
    dcterms:publisher "National Center for O*NET Development"@en ;
    dcterms:hasVersion "31.0" ;
    dcterms:source <https://www.onetcenter.org/dl_files/database/db_31_0_json/job_zone_reference.json> ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    :sourceArtifactSha256 "f66d665a2e507c825a71aedb2c13ba22765e8259bc6c7fe5b3cdfd8105475a66" .

:sourceOnetRevisedWorkStyles a prov:Entity ;
    dcterms:title "Revisiting the Work Styles Domain of the O*NET Content Model"@en ;
    dcterms:publisher "National Center for O*NET Development"@en ;
    dcterms:hasVersion "updated May 2026" ;
    dcterms:source <https://www.onetcenter.org/reports/Work_Styles_New.html> .

:sourceOnetLegacyWorkValues a prov:Entity ;
    dcterms:title "O*NET work-value clusters (legacy content-model branch)"@en ;
    dcterms:publisher "National Center for O*NET Development"@en ;
    dcterms:source <https://www.onetcenter.org/contentmodel/> .

:sourceHolland1997 a prov:Entity ;
    dcterms:title "Making vocational choices: A theory of vocational personalities and work environments"@en ;
    dcterms:creator "John L. Holland"@en ;
    dcterms:hasVersion "3rd edition, 1997" .

:sourceFleishmanQuaintance1984 a prov:Entity ;
    dcterms:title "Taxonomies of human performance: The description of human tasks"@en ;
    dcterms:creator "Edwin A. Fleishman and Marilyn K. Quaintance"@en ;
    dcterms:hasVersion "1984" .

# ---- Occupational classification: classes, scheme, code property ----

:OccupationalClassification a owl:Class ;
    rdfs:label "Occupational classification"@en ;
    rdfs:comment "A source-versioned node in an authoritative occupational classification hierarchy."@en .

:OccupationalMajorGroup a owl:Class ;
    rdfs:subClassOf :OccupationalClassification ;
    rdfs:label "Occupational major group"@en ;
    rdfs:comment "One of the 23 major groups of the 2018 Standard Occupational Classification, which the O*NET program publishes as its job-family grouping of detailed occupations."@en .

:socMajorGroupScheme a skos:ConceptScheme ;
    skos:prefLabel "O*NET job families (2018 SOC major groups)"@en ;
    skos:definition "The 23 major groups of the 2018 Standard Occupational Classification, adopted as the O*NET job-family grouping."@en ;
    prov:wasDerivedFrom :sourceSoc2018 ;
    rdfs:seeAlso <https://www.bls.gov/soc/> , <https://www.onetcenter.org/taxonomy.html> , :workerFunctionScheme .

:socCode a owl:DatatypeProperty ;
    rdfs:domain :OccupationalMajorGroup ;
    rdfs:range xsd:string ;
    rdfs:label "SOC code"@en ;
    rdfs:comment "The official major-group code from the published 2018 SOC table, in the form \"NN-0000\"."@en .

:majorGroupManagement a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Management Occupations"@en ;
    :socCode "11-0000" .

:majorGroupBusinessFinancialOperations a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Business and Financial Operations Occupations"@en ;
    :socCode "13-0000" .

:majorGroupComputerMathematical a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Computer and Mathematical Occupations"@en ;
    :socCode "15-0000" .

:majorGroupArchitectureEngineering a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Architecture and Engineering Occupations"@en ;
    :socCode "17-0000" .

:majorGroupLifePhysicalSocialScience a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Life, Physical, and Social Science Occupations"@en ;
    :socCode "19-0000" .

:majorGroupCommunitySocialService a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Community and Social Service Occupations"@en ;
    :socCode "21-0000" .

:majorGroupLegal a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Legal Occupations"@en ;
    :socCode "23-0000" .

:majorGroupEducationTrainingLibrary a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Educational Instruction and Library Occupations"@en ;
    :socCode "25-0000" .

:majorGroupArtsDesignEntertainmentSportsMedia a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Arts, Design, Entertainment, Sports, and Media Occupations"@en ;
    :socCode "27-0000" .

:majorGroupHealthcarePractitionersTechnical a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Healthcare Practitioners and Technical Occupations"@en ;
    :socCode "29-0000" .

:majorGroupHealthcareSupport a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Healthcare Support Occupations"@en ;
    :socCode "31-0000" .

:majorGroupProtectiveService a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Protective Service Occupations"@en ;
    :socCode "33-0000" .

:majorGroupFoodPreparationServingRelated a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Food Preparation and Serving Related Occupations"@en ;
    :socCode "35-0000" .

:majorGroupBuildingGroundsCleaningMaintenance a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Building and Grounds Cleaning and Maintenance Occupations"@en ;
    :socCode "37-0000" .

:majorGroupPersonalCareService a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Personal Care and Service Occupations"@en ;
    :socCode "39-0000" .

:majorGroupSalesRelated a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Sales and Related Occupations"@en ;
    :socCode "41-0000" .

:majorGroupOfficeAdministrativeSupport a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Office and Administrative Support Occupations"@en ;
    :socCode "43-0000" .

:majorGroupFarmingFishingForestry a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Farming, Fishing, and Forestry Occupations"@en ;
    :socCode "45-0000" .

:majorGroupConstructionExtraction a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Construction and Extraction Occupations"@en ;
    :socCode "47-0000" .

:majorGroupInstallationMaintenanceRepair a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Installation, Maintenance, and Repair Occupations"@en ;
    :socCode "49-0000" .

:majorGroupProduction a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Production Occupations"@en ;
    :socCode "51-0000" .

:majorGroupTransportationMaterialMoving a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Transportation and Material Moving Occupations"@en ;
    :socCode "53-0000" .

:majorGroupMilitarySpecialties a skos:Concept , :OccupationalMajorGroup ;
    skos:inScheme :socMajorGroupScheme ;
    skos:prefLabel "Military Specific Occupations"@en ;
    :socCode "55-0000" .

# ---- Job zones: published preparation-level ordering ----

:JobZone a owl:Class ;
    rdfs:label "Job zone"@en ;
    rdfs:comment "One of the four O*NET 31.0 job-zone categories: groups of occupations by the education, experience, and training usually needed to perform them."@en .

:jobZoneScheme a skos:ConceptScheme ;
    skos:prefLabel "O*NET job zones"@en ;
    skos:definition "The four O*NET 31.0 preparation categories, using published zone values 2 through 5; the first category combines former zones 1 and 2."@en ;
    prov:wasDerivedFrom :sourceOnet310JobZoneReference ;
    rdfs:seeAlso <https://www.onetcenter.org/dictionary/31.0/json/job_zone_reference.html> .

:jobZoneLevel a owl:DatatypeProperty ;
    rdfs:domain :JobZone ;
    rdfs:range xsd:integer ;
    rdfs:label "job zone level"@en ;
    rdfs:comment "The published O*NET 31.0 zone value, 2 through 5. It is a source code, not a fitted weight."@en .

:jobZoneVeryLittleToSomePreparation a skos:Concept , :JobZone ;
    skos:inScheme :jobZoneScheme ;
    skos:prefLabel "Job Zone 1-2: Very Little to Some Preparation Needed"@en ;
    :jobZoneLevel 2 .

:jobZoneMediumPreparation a skos:Concept , :JobZone ;
    skos:inScheme :jobZoneScheme ;
    skos:prefLabel "Job Zone Three: Medium Preparation Needed"@en ;
    :jobZoneLevel 3 .

:jobZoneConsiderablePreparation a skos:Concept , :JobZone ;
    skos:inScheme :jobZoneScheme ;
    skos:prefLabel "Job Zone Four: Considerable Preparation Needed"@en ;
    :jobZoneLevel 4 .

:jobZoneExtensivePreparation a skos:Concept , :JobZone ;
    skos:inScheme :jobZoneScheme ;
    skos:prefLabel "Job Zone Five: Extensive Preparation Needed"@en ;
    :jobZoneLevel 5 .

# ---- Worker characteristics: shared class and typed derivation ----

:WorkerCharacteristic a owl:Class ;
    rdfs:label "Worker characteristic"@en ;
    rdfs:comment "A published worker-characteristic construct family that the O*NET content model organizes under occupations: ability domains, interest types, work-value clusters, and personality-linked work-style families (Peterson et al., 1999)."@en .

:AbilityDomain a owl:Class ;
    rdfs:subClassOf :WorkerCharacteristic ;
    rdfs:label "Ability domain"@en ;
    rdfs:comment "One of four broad human-performance ability domains used here as a source taxonomy: cognitive, psychomotor, physical, and sensory."@en .

:InterestType a owl:Class ;
    rdfs:subClassOf :WorkerCharacteristic ;
    rdfs:label "Interest type"@en ;
    rdfs:comment "One of Holland's six RIASEC vocational interest types as adopted by the O*NET Interest Profiler (Holland, 1997)."@en .

:WorkValueCluster a owl:Class ;
    rdfs:subClassOf :WorkerCharacteristic ;
    rdfs:label "Work value cluster"@en ;
    rdfs:comment "One of six legacy O*NET work-value clusters retained as an explicitly historical vocabulary, not a current O*NET 31.0 profile assertion."@en .

:WorkStyleFamily a owl:Class ;
    rdfs:subClassOf :WorkerCharacteristic ;
    rdfs:label "Work style family"@en ;
    rdfs:comment "One of the seven higher-order dimensions in the revised O*NET Work Styles structure published for the current content model."@en .

:abilityDomainCognitive a skos:Concept , :AbilityDomain ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Cognitive Abilities"@en ;
    rdfs:seeAlso :workerFunctionScheme ;
    rdfs:comment "The Fleishman domain covering reasoning, idea generation, memory, verbal, and quantitative abilities exercised when a worker processes information (Fleishman & Quaintance, 1984)."@en .

:abilityDomainPsychomotor a skos:Concept , :AbilityDomain ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Psychomotor Abilities"@en ;
    rdfs:comment "The Fleishman domain covering coordinated movement and reaction abilities such as control precision, rate control, and multilimb coordination (Fleishman & Quaintance, 1984)."@en .

:abilityDomainPhysical a skos:Concept , :AbilityDomain ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Physical Abilities"@en ;
    rdfs:comment "The Fleishman domain covering strength, endurance, flexibility, balance, and stamina (Fleishman & Quaintance, 1984)."@en .

:abilityDomainSensoryPerceptual a skos:Concept , :AbilityDomain ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Sensory Abilities"@en ;
    rdfs:comment "The Fleishman domain covering visual, auditory, and other sensory discrimination and perceptual-speed abilities (Fleishman & Quaintance, 1984)."@en .

:interestRealistic a skos:Concept , :InterestType ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Realistic"@en ;
    :riasecAdjacentTo :interestInvestigative , :interestConventional ;
    rdfs:comment "Realistic occupations frequently involve work activities that include practical, hands-on problems and solutions. They often deal with plants, animals, and real-world materials like wood, tools, and machinery."@en .

:interestInvestigative a skos:Concept , :InterestType ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Investigative"@en ;
    :riasecAdjacentTo :interestArtistic , :interestRealistic ;
    rdfs:comment "Investigative occupations frequently involve working with ideas, and require an extensive amount of thinking. These occupations can involve searching for facts and figuring out problems mentally."@en .

:interestArtistic a skos:Concept , :InterestType ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Artistic"@en ;
    :riasecAdjacentTo :interestSocial , :interestInvestigative ;
    rdfs:comment "Artistic occupations frequently involve working with forms, designs and patterns. They often require self-expression and the work can be done without following a clear set of rules."@en .

:interestSocial a skos:Concept , :InterestType ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Social"@en ;
    :riasecAdjacentTo :interestEnterprising , :interestArtistic ;
    rdfs:comment "Social occupations frequently involve working with, communicating with, and teaching people. These occupations often involve helping or providing service to others."@en .

:interestEnterprising a skos:Concept , :InterestType ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Enterprising"@en ;
    :riasecAdjacentTo :interestConventional , :interestSocial ;
    rdfs:comment "Enterprising occupations frequently involve starting up and carrying out projects. These occupations can involve leading people and making many decisions. Sometimes they require risk taking and often deal with business."@en .

:interestConventional a skos:Concept , :InterestType ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Conventional"@en ;
    :riasecAdjacentTo :interestRealistic , :interestEnterprising ;
    rdfs:comment "Conventional occupations frequently involve following set procedures and routines. These occupations can include working with data and details more than with ideas. Usually there is a clear line of authority to follow."@en .

:riasecAdjacentTo a owl:ObjectProperty , owl:SymmetricProperty ;
    rdfs:domain :InterestType ;
    rdfs:range :InterestType ;
    rdfs:label "RIASEC adjacent to"@en ;
    rdfs:comment "Holland's published hexagonal adjacency between two interest types: adjacent types are more alike than alternate or opposite types (Holland, 1997). The six asserted pairs are the ring edges Realistic-Investigative-Artistic-Social-Enterprising-Conventional-Realistic."@en .

:workValueClusterAchievement a skos:Concept , :WorkValueCluster ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Achievement"@en .

:workValueClusterIndependence a skos:Concept , :WorkValueCluster ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Independence"@en .

:workValueClusterRecognition a skos:Concept , :WorkValueCluster ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Recognition"@en .

:workValueClusterRelationships a skos:Concept , :WorkValueCluster ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Relationships"@en .

:workValueClusterSupport a skos:Concept , :WorkValueCluster ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Support"@en .

:workValueClusterWorkingConditions a skos:Concept , :WorkValueCluster ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Working Conditions"@en .

:workStyleFamilyOpenness a skos:Concept , :WorkStyleFamily ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Openness"@en .

:workStyleFamilyConscientiousness a skos:Concept , :WorkStyleFamily ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Conscientiousness"@en .

:workStyleFamilyExtraversion a skos:Concept , :WorkStyleFamily ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Extraversion"@en .

:workStyleFamilyAgreeableness a skos:Concept , :WorkStyleFamily ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Agreeableness"@en .

:workStyleFamilyEmotionalStability a skos:Concept , :WorkStyleFamily ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Emotional Stability"@en .

:workStyleFamilyHonestyHumility a skos:Concept , :WorkStyleFamily ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Honesty-Humility"@en .

:workStyleFamilyCompoundDimensions a skos:Concept , :WorkStyleFamily ;
    skos:inScheme :workerCharacteristicScheme ;
    skos:prefLabel "Compound Dimensions"@en .

:workerCharacteristicScheme a skos:ConceptScheme ;
    skos:prefLabel "O*NET worker-characteristic families"@en ;
    skos:definition "Published worker-characteristic construct families: Fleishman ability domains, Holland RIASEC interest types, O*NET work-value clusters, and the seven higher-order dimensions of the revised O*NET Work Styles structure."@en ;
    prov:wasDerivedFrom :sourceFleishmanQuaintance1984 , :sourceHolland1997 , :sourceOnetLegacyWorkValues , :sourceOnetRevisedWorkStyles ;
    rdfs:seeAlso <https://www.onetcenter.org/contentmodel/> , <https://www.onetcenter.org/reports/Work_Styles_New.html> .

# ---- Typed derivation properties (declared; no instance asserted) ----

:occupationalAbilityDemand a owl:ObjectProperty ;
    rdfs:domain :OccupationalClassification ;
    rdfs:range :AbilityDomain ;
    rdfs:label "occupational ability demand"@en ;
    rdfs:comment "Declares that a versioned, released occupational profile requires the referenced ability domain. This ontology asserts no such binding yet; instance assertions must be imported with provenance from a released source database in their own decision."@en .

:occupationalInterestProfile a owl:ObjectProperty ;
    rdfs:domain :OccupationalClassification ;
    rdfs:range :InterestType ;
    rdfs:label "occupational interest profile"@en ;
    rdfs:comment "Declares that a versioned, released occupational profile aligns the referenced interest type with the occupation. This ontology asserts no such binding yet; instance assertions must be imported with provenance in their own decision."@en .

:occupationalValueOrientation a owl:ObjectProperty ;
    rdfs:domain :OccupationalClassification ;
    rdfs:range :WorkValueCluster ;
    rdfs:label "occupational value orientation"@en ;
    rdfs:comment "Declares that a versioned, released occupational profile names the referenced work-value cluster among the values its workers find satisfying. This ontology asserts no such binding yet; instance assertions must be imported with provenance in their own decision."@en .

:occupationalWorkStyleNorm a owl:ObjectProperty ;
    rdfs:domain :OccupationalClassification ;
    rdfs:range :WorkStyleFamily ;
    rdfs:label "occupational work style norm"@en ;
    rdfs:comment "Declares that a versioned, released occupational profile expects the referenced work-style family of its workers. This ontology asserts no such binding yet; instance assertions must be imported with provenance in their own decision."@en .
