@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:SpeculativeFindingExclusionObligation a owl:Class ;
rdfs:label "Speculative Finding Exclusion Obligation" ;
proeth:confidence "0.85" ;
proeth:derivedFromPrinciple "Competence Recognition Principle" ;
proeth:enforcementLevel "defeasible" ;
proeth:monitoringCriteria "Final report contains only findings supported by competent analysis within the engineer's area of expertise; speculative observations are retained in field notes only." ;
proeth:nspeReference "II.2, III.2.a" ;
proeth:obligationType "competence" ;
proeth:stakeholdersAffected "Client",
"Other engineers",
"Prime consultant",
"Public agency" ;
proeth:textReferences "Under the circumstances, the Board concluded that it would have been improper for Engineer A to include reference to the information in his final report, particularly since it would have been based upon mere speculation and not careful testing or evaluation by a competent individual or firm.",
"While it might have been appropriate for Engineer A to note such information in his field notes, to place this information in a final report would not be responsible and could unnecessarily inflame the situation." ;
proeth:violationConsequences "Including speculative findings in a formal report may unjustifiably damage the reputations of other professionals and parties, and may constitute a breach of the duty to practice only within areas of competence." ;
proeth-prov:discoveredInCase 86 ;
proeth-prov:discoveredInPass 2 ;
proeth-prov:discoveredInSection "discussion" ;
proeth-prov:firstDiscoveredAt "2026-06-04T17:34:19.889581+00:00"^^xsd:dateTime ;
proeth-prov:firstDiscoveredInCase 86 ;
proeth-prov:matchConfidence 0.72 ;
proeth-prov:matchReasoning "This is a partial inverse of Complete Technical Reporting Obligation: where that class requires inclusion of all relevant findings, this class addresses the competing duty to exclude findings that are not professionally substantiated. It is a variant that qualifies the completeness duty by competence limits, warranting a medium-confidence match to the parent concept rather than a new independent class, but the specific exclusion framing is not captured by any existing class." ;
proeth-prov:matchedOntologyClass proeth:CompleteTechnicalReportingObligation ;
proeth-prov:matchedOntologyLabel "Complete Technical Reporting Obligation" ;
proeth-prov:matchesExisting true ;
proeth-prov:sourceText "While it might have been appropriate for Engineer A to note such information in his field notes, to place this information in a final report would not be responsible and could unnecessarily inflame the situation." ;
rdfs:comment "Duty of an engineer to refrain from including observations or conclusions in a formal written report when those observations are based solely on visual inspection without supporting analysis, when the engineer lacks expertise in the relevant discipline, and when inclusion would constitute speculation rather than a professionally substantiated finding." ;
rdfs:subClassOf proeth:CompetenceObligation ;
skos:definition "Duty of an engineer to refrain from including observations or conclusions in a formal written report when those observations are based solely on visual inspection without supporting analysis, when the engineer lacks expertise in the relevant discipline, and when inclusion would constitute speculation rather than a professionally substantiated finding." ;
skos:scopeNote "[CompleteTechnicalReportingObligation] Duty of an engineer preparing a technical report to include all relevant and pertinent technical information, including facts that may complicate or contradict the primary conclusions, so that the report supports informed review and interpretation by others." ;
prov:generatedAtTime "2026-06-04T17:34:19.889581+00:00"^^xsd:dateTime ;
prov:wasAttributedTo "Case 86 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 .