@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:DetailedReviewSealingObligation a owl:Class ;
rdfs:label "Detailed Review Sealing Obligation" ;
proeth:confidence "0.9" ;
proeth:derivedFromPrinciple "Responsible Charge Integrity Principle" ;
proeth:enforcementLevel "mandatory" ;
proeth:monitoringCriteria "Evidence that the engineer reviewed the documents in sufficient detail to identify material errors or deficiencies before sealing" ;
proeth:nspeReference "II.2.b" ;
proeth:obligationType "ethical" ;
proeth:stakeholdersAffected "Clients",
"General public",
"Regulatory bodies",
"Subordinate engineers" ;
proeth:textReferences "The key requirement is that an engineer possesses sufficient competence, assumes full responsibility for the work product and carefully directs, controls and reviews the material prepared under the engineer's responsible charge.",
"We would conclude that it was not unethical for the engineer in that instance to seal plans that were not personally prepared by him as long as those plans were checked and reviewed by the engineer in some detail.",
"engineers must not affix their signatures to any plans or documents dealing with subject matter which they lack competence, nor to any plan or document not prepared under their direction and control." ;
proeth:violationConsequences "Ethical violation under NSPE II.2.b; professional liability for deficiencies in sealed documents; potential license discipline" ;
proeth-prov:discoveredInCase 120 ;
proeth-prov:discoveredInPass 2 ;
proeth-prov:discoveredInSection "discussion" ;
proeth-prov:firstDiscoveredAt "2026-06-04T18:11:22.208486+00:00"^^xsd:dateTime ;
proeth-prov:firstDiscoveredInCase 120 ;
proeth-prov:matchConfidence 0.87 ;
proeth-prov:matchReasoning "This obligation is a close match to the existing Responsible Charge Seal Obligation, which requires a licensed engineer to apply their seal only to work products they have personally reviewed with sufficient depth and competence. The present obligation adds the clarification that personal preparation is not required but detailed review is, which is a refinement of the same core duty rather than a distinct new concept." ;
proeth-prov:matchedOntologyClass proeth:ResponsibleChargeSealObligation ;
proeth-prov:matchedOntologyLabel "Responsible Charge Seal Obligation" ;
proeth-prov:matchesExisting true ;
proeth-prov:sourceText "We would conclude that it was not unethical for the engineer in that instance to seal plans that were not personally prepared by him as long as those plans were checked and reviewed by the engineer in some detail." ;
rdfs:comment "Duty of a licensed engineer to check and review in some detail any engineering documents, plans, or specifications prepared by others before affixing the engineer's seal, so that the seal reflects genuine professional oversight rather than mere administrative approval, even when the engineer did not personally prepare the documents." ;
rdfs:subClassOf proeth:EthicalObligation ;
skos:definition "Duty of a licensed engineer to check and review in some detail any engineering documents, plans, or specifications prepared by others before affixing the engineer's seal, so that the seal reflects genuine professional oversight rather than mere administrative approval, even when the engineer did not personally prepare the documents." ;
skos:scopeNote "[ResponsibleChargeSealObligation] Duty of a licensed engineer exercising responsible charge to apply their professional seal only to work products they have personally reviewed with sufficient depth and competence to take genuine professional responsibility for the content, and not to seal work generated by tools or processes they do not adequately understand or have not adequately verified." ;
prov:generatedAtTime "2026-06-04T18:11:22.208486+00:00"^^xsd:dateTime ;
prov:wasAttributedTo "Case 120 Extraction",
"claude-sonnet-4-6" .
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:ObligationDefinitionShape a sh:NodeShape ;
rdfs:label "Obligation definition schema (type-level, descriptive, field contract)"@en ;
rdfs:comment "What individuates an obligation TYPE: its controlled NSPE category, which drives the subClassOf core:Obligation typing. The concrete duty statement and the temporal-scope/compliance-status literals are per-individual, as are the derivedFromPrinciple and obligatedParty edges; all are declared on ObligationPropertyShape, mirroring the Role/Principle Definition/Property split. Descriptive only (no validation result); obligation_type is a routing input, not stored as a literal."@en ;
sh:property [ sh:description "The controlled NSPE obligation category, which drives the subClassOf core:Obligation typing: disclosure, safety, competence, confidentiality, reporting, collegial, attribution, legal, ethical." ;
sh:name "obligation type" ;
sh:order 1 ;
sh:path proeth:obligationType ] ;
sh:targetClass core:Obligation .
pcsh:ObligationPropertyShape a sh:NodeShape ;
rdfs:label "Obligation per-case schema (individual data, non-definitional)"@en ;
rdfs:comment "What a given obligation INDIVIDUAL is described by in a specific case: the concrete duty it states, the principle it derives from and the party who bears it (both edges), and its temporal scope and compliance status. These do NOT individuate the obligation TYPE (that is ObligationDefinitionShape); their values are per-case, asserted on the individual. Descriptive only."@en ;
sh:property [ sh:description "The concrete duty the obligation states (the operative 'shall' clause)." ;
sh:name "obligation statement" ;
sh:order 1 ;
sh:path proeth:obligationStatement ],
[ sh:description "The principle the obligation derives from, via the O->P derivedFromPrinciple edge (the P side of R->P->O). Range: Principle." ;
sh:name "derived from principle" ;
sh:order 2 ;
sh:path core:derivedFromPrinciple ],
[ sh:description "The agent who bears the obligation, via the obligatedParty edge. Range: Agent." ;
sh:name "obligated party" ;
sh:order 3 ;
sh:path core:obligatedParty ],
[ sh:description "When the obligation is in force (the period or condition of applicability)." ;
sh:name "temporal scope" ;
sh:order 4 ;
sh:path proeth:temporalScope ],
[ sh:description "Whether the obligation was met in the case: met, unmet, partial, or unclear." ;
sh:name "compliance status" ;
sh:order 5 ;
sh:path proeth:complianceStatus ] ;
sh:targetClass core:Obligation .