@prefix core: <http://proethica.org/ontology/core#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix pcsh: <http://proethica.org/shapes/core#> .
@prefix proeth: <http://proethica.org/ontology/intermediate#> .
@prefix proeth-prov: <http://proethica.org/provenance#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
proeth:ConfirmedRiskFindingState a owl:Class ;
rdfs:label "ConfirmedRiskFindingState" ;
proeth:activationConditions "Additional studies during the resumed design phase identify the potential runoff risk" ;
proeth:confidence "0.9" ;
proeth:obligationActivation "Client Notification Obligation" ;
proeth:persistenceType "inertial" ;
proeth:principleTransformation "Once the risk identification rises to the level of fact, the Code provisions the Board cites, sections I.4, II.3.a, II.3.b, III.1.b, and III.3.a, require that Engineer L notify Client X of the risk rather than remain silent." ;
proeth:stateCategory "epistemic" ;
proeth:textReferences "Engineer L’s identification of runoff risk is now “fact.”",
"additional studies identify a potential risk that heavy rainfall could lead to stormwater runoff from the development reaching the nearby watershed" ;
proeth-prov:discoveredInCase 8 ;
proeth-prov:discoveredInPass 1 ;
proeth-prov:discoveredInSection "discussion" ;
proeth-prov:firstDiscoveredAt "2026-07-05T04:44:43.068690+00:00"^^xsd:dateTime ;
proeth-prov:firstDiscoveredInCase 8 ;
proeth-prov:matchConfidence 0.75 ;
proeth-prov:matchReasoning "A confirmed risk finding is a condition of what the agent knows, the responsibility epistemic condition, and is a specialization of the canonical Epistemic State. It is the terminating counterpart of the already-extracted Unquantified Risk State, not a duplicate of it, since the case marks the transition from speculative concern to fact." ;
proeth-prov:matchedOntologyClass proeth:EpistemicState ;
proeth-prov:matchedOntologyLabel "Epistemic State" ;
proeth-prov:matchesExisting true ;
proeth-prov:sourceText "Turning to the second part of the case, Engineer L is later asked to resume design, and during this phase of the project, additional studies identify a potential risk that heavy rainfall could lead to stormwater runoff from the development reaching the nearby watershed. Although it does not appear Engineer L has completed a professional report per se, Engineer L’s identification of runoff risk is now “fact.”" ;
rdfs:comment "An epistemic condition in which a professional's identification of a risk has risen from preliminary concern to the technical and moral level of fact, here the condition after additional studies identify a potential risk that heavy rainfall could lead to stormwater runoff from the development reaching the nearby watershed, so that the runoff risk is now a fact of the case." ;
rdfs:subClassOf proeth:EpistemicState ;
skos:definition "An epistemic condition in which a professional's identification of a risk has risen from preliminary concern to the technical and moral level of fact, here the condition after additional studies identify a potential risk that heavy rainfall could lead to stormwater runoff from the development reaching the nearby watershed, so that the runoff risk is now a fact of the case." ;
skos:scopeNote "[EpistemicState] A condition of what an agent knows, believes, or is uncertain of with respect to facts material to a decision. As a content kind it captures the agent's knowledge state, the Aristotelian and Sarmiento epistemic condition for responsibility: an agent is answerable for conduct in proportion to what the agent knew or should have known. Its deontic relevance is that knowledge conditions the obligations governing informed decision and decision-under-uncertainty." ;
prov:generatedAtTime "2026-07-05T04:44:43.068690+00:00"^^xsd:dateTime ;
prov:wasAttributedTo "Case 8 Extraction",
"claude-fable-5" .
pcsh:CaseAnnotationShape a sh:NodeShape ;
rdfs:label "Shared per-case annotation schema (all nine components)"@en ;
rdfs:comment "The cross-component annotation fields on committed case individuals: proeth:confidence (extraction confidence, decimal; all components except Action, whose Step-3 contract carries no confidence field), proeth:textReferences (verbatim supporting quotes, universal), proeth-prov sourceText (the source snippet, on the Step-1/2 provenance layers; Step-3 A/E individuals ground via textReferences only), and the involvement gloss (proeth:caseInvolvement on role individuals, proeth:caseContext on obligation, capability, and constraint individuals). Values are per-individual; the fields do not individuate any type."@en ;
sh:property [ sh:description "Extraction confidence for this individual (0 to 1)." ;
sh:name "confidence" ;
sh:order 1 ;
sh:path proeth:confidence ],
[ sh:description "Verbatim case quotes supporting this individual." ;
sh:name "text references" ;
sh:order 2 ;
sh:path proeth:textReferences ],
[ sh:description "How this individual figures in the case narrative (role individuals; the same text is routed into rdfs:comment)." ;
sh:name "case involvement" ;
sh:order 3 ;
sh:path proeth:caseInvolvement ],
[ sh:description "Grounding context in this case (obligation, capability, and constraint individuals)." ;
sh:name "case context" ;
sh:order 4 ;
sh:path proeth:caseContext ] ;
sh:targetClass core:Action,
core:Capability,
core:Constraint,
core:Event,
core:Obligation,
core:Principle,
core:Resource,
core:Role,
core:State .
pcsh:StateDefinitionShape a sh:NodeShape ;
rdfs:label "State definition schema (type-level, descriptive, field contract)"@en ;
rdfs:comment "What individuates a state TYPE: its content archetype (drives the archetype subClassOf typing) and its persistence type (inertial vs non-inertial fluent, a class-level datatype). Its per-case urgency and the activatesObligation edge are per-individual and declared on StatePropertyShape, mirroring the Role/Principle/Obligation Definition/Property split and the state scopeNote (which names the condition and its persistence type as type-defining). Descriptive only (no validation result); state_category is a routing input, not stored as a literal."@en ;
sh:property [ sh:description "The content archetype, which drives the archetype subClassOf typing: EpistemicState, RiskState, CompetenceState, EmergencyState, ConflictOfInterestState, RegulatoryState, TemporalState, ResourceState, DisclosureState. A classification of the state content, explicitly NOT the activatesObligation relation. A routing input, not stored as a literal." ;
sh:name "state archetype" ;
sh:order 1 ;
sh:path proeth:stateCategory ],
[ sh:description "Whether the state is an inertial fluent (holds until an event terminates it) or a non-inertial fluent (true at a single time point), the inertial versus non-inertial fluent distinction of Berreby et al. (2017) in the Event Calculus; a class-level datatype, a property of the fluent predicate itself." ;
sh:name "persistence type" ;
sh:order 2 ;
sh:path proeth:persistenceType ] ;
sh:targetClass core:State .
pcsh:StatePropertyShape a sh:NodeShape ;
rdfs:label "State per-case schema (individual data, non-definitional)"@en ;
rdfs:comment "What a given state INDIVIDUAL is described by in a specific case: its bearer and holding period, its urgency (per-case salience), the event boundaries of the fluent, and the obligations, constraints, and agents its obtaining engages via edges. These do NOT individuate the state TYPE (that is StateDefinitionShape); their values are per-case, asserted on the individual. The proeth:principleTransformation synthesis literal (the S->P->O grounding written onto the individual by the state-edge pass) is deliberately not part of the extraction field contract. Descriptive only."@en ;
sh:property [ sh:description "The salience or acuteness of the state in this case (Jones 1991 moral-intensity salience; components include temporal immediacy, magnitude of consequences, and proximity)." ;
sh:name "urgency level" ;
sh:order 1 ;
sh:path proeth:urgencyLevel ],
[ sh:description "The obligation the state makes applicable, via the outgoing S->O activatesObligation edge; the incoming counterpart is defeasibleUnder (O->S), recording the obligation that yields when this state obtains. Range: Obligation." ;
sh:name "activates obligation" ;
sh:order 2 ;
sh:path core:activatesObligation ],
[ sh:description "The constraint the state activates, via the outgoing S->Cs activatesConstraint edge, bounding the actions available while the state holds. Range: Constraint." ;
sh:name "activates constraint" ;
sh:order 3 ;
sh:path core:activatesConstraint ],
[ sh:description "The agent(s) the state bears on, via the S->Agent affects edge, resolved from the affected-parties text by embedding shortlist + LLM multi-select. Range: Agent." ;
sh:name "affects" ;
sh:order 4 ;
sh:path core:affects ],
[ sh:description "The entity the state holds of (the bearer text); a kept literal that also feeds the defeasibility prompt as state context." ;
sh:name "subject" ;
sh:order 5 ;
sh:path proeth:subject ],
[ sh:description "The period over which the state holds, as extracted text." ;
sh:name "active period" ;
sh:order 6 ;
sh:path proeth:activePeriod ],
[ sh:description "The event bringing the state into being; kept verbatim on the individual and also resolved to the activatedByEvent edge (the start boundary of the fluent)." ;
sh:name "triggering event" ;
sh:order 7 ;
sh:path proeth:triggeringEvent ],
[ sh:description "What removes the state; kept verbatim on the individual and also resolved to the terminatedByEvent edge (the end boundary of the fluent)." ;
sh:name "terminated by" ;
sh:order 8 ;
sh:path proeth:terminatedBy ],
[ sh:description "The Event whose occurrence initiates this state, via the outgoing activatedByEvent edge (the start boundary of the fluent). Range: Event." ;
sh:name "activated by event" ;
sh:order 9 ;
sh:path core:activatedByEvent ],
[ sh:description "The Event whose occurrence ends this state, via the outgoing terminatedByEvent edge (the end boundary of the fluent). Range: Event." ;
sh:name "terminated by event" ;
sh:order 10 ;
sh:path core:terminatedByEvent ] ;
sh:targetClass core:State .