Attribution Obligation
Class
http://proethica.org/ontology/intermediate#AttributionObligation
Class Hierarchy
- Thing
- ↳ entity (bfo)
- ↳ continuant (bfo)
- ↳ generically dependent continuant (bfo)
- ↳ information content entity (iao)
- ↳ directive information entity (iao)
- ↳ Obligation (proethica-core)
- ↳ Attribution Obligation
Definition
Duty to give credit for engineering work to those to whom credit is due and to recognize the proprietary interests of others, including appropriate citation of documents of technical authority and credit for tool-assisted or AI-assisted content (NSPE III.9)
Definition source
- National Society of Professional Engineers (2019). Code of Ethics for Engineers. Publication 1102, Professional Obligation III.9.
Properties
Source
NSPE Code of Ethics Professional Obligation III.9
Alt Label
attribution and credit obligation
credit obligation
Nspe Reference
Professional Obligation III.9
Property Structure
1 · Object and Data Properties
rdfs:domain on this class or ancestor
| Property | Range | Description |
|---|---|---|
| competesWith inherited | Obligation | Relates an obligation to another obligation with which it stands in normative tension within a case. Symmetric: if O1 competes with O2 then O2 competes with O1. Does not itself specify which obligation prevails; use prevailsOver for the directed resolution. |
| defeasibleUnder inherited | State | Relates an obligation to a State whose obtaining renders the obligation defeasible, that is, subject to override by a competing obligation with stronger normative support. The State specifies the context in which the obligation yields. |
| derivedFromPrinciple inherited | Principle | Relates an obligation to the principle or principles it operationalizes. The obligation gives concrete directive force to the more abstract value the principle expresses (Dennis et al. 2016). |
| establishedBy inherited | CodeProvision | Indicates which code provision establishes this ethical concept. |
| obligatedParty inherited | Agent | Relates an Obligation to the Agent that bears it (the by-whom slot of the Richardson 1990 specification scheme, adopted by Dennis et al. 2016). The duty-bearer of the obligation in the case scenario. |
| prevailsOver inherited | Obligation | Relates an obligation to another obligation that it defeats under the conditions of the case. The prevailing obligation retains its force; the defeated obligation is subordinated to it. Use together with defeasibleUnder to record the State that licenses the resolution. |
| requiresCapability inherited | Capability | Relates an obligation to a capability its discharge presupposes. An obligation can be discharged only by an agent that possesses the required capability, the ought-implies-can principle of deontic logic (Kant's dictum, whose computational analogue Stenseke 2024 develops as moral tractability); in this framework an agent that lacks the required capability leaves the obligation subject to override, recorded via defeasibleUnder. |
2 · Definitional Attributes
SHACL definitional shape
| Attribute | Property (sh:path) | Description |
|---|---|---|
| obligation type | obligationType | The controlled NSPE obligation category, which drives the subClassOf core:Obligation typing: disclosure, safety, competence, confidentiality, reporting, collegial, attribution, legal, ethical. |
3 · Bearer Attributes
SHACL property shape
individual data
| Attribute | Property (sh:path) | Description |
|---|---|---|
| obligation statement | obligationStatement | The concrete duty the obligation states (the operative 'shall' clause). |
| derived from principle | derivedFromPrinciple | The principle the obligation derives from, via the O->P derivedFromPrinciple edge (the P side of R->P->O). Range: Principle. |
| obligated party | obligatedParty | The agent who bears the obligation, via the obligatedParty edge. Range: Agent. |
| temporal scope | temporalScope | When the obligation is in force (the period or condition of applicability). |
| compliance status | complianceStatus | Whether the obligation was met in the case: met, unmet, partial, or unclear. |
4 · Referenced By
rdfs:range on this class or ancestor
| From | Property | Description |
|---|---|---|
| Action | fulfillsObligation inherited | Relates an action to obligations it fulfills. The action realizes the directive content of the obligation. |
| Action | raisesObligation inherited | Relates an action to an obligation it puts at stake without itself resolving it. The fulfillment or breach occurs at a downstream action in the same chain. This third predicate distinguishes an upstream choice that engages an obligation from the downstream action that satisfies or breaches it; without it the same obligation appears as both fulfilled and violated across adjacent steps. |
| Action | violatesObligation inherited | Relates an action to an obligation it breaches. The action fails to realize the directive content of the obligation, the negative counterpart of fulfillsObligation. |
| Code Provision | establishes inherited | Relates a code provision to the ethical concepts (principles, obligations, constraints) it establishes or defines. |
| Obligation | competesWith inherited | Relates an obligation to another obligation with which it stands in normative tension within a case. Symmetric: if O1 competes with O2 then O2 competes with O1. Does not itself specify which obligation prevails; use prevailsOver for the directed resolution. |
| Obligation | prevailsOver inherited | Relates an obligation to another obligation that it defeats under the conditions of the case. The prevailing obligation retains its force; the defeated obligation is subordinated to it. Use together with defeasibleUnder to record the State that licenses the resolution. |
| Role | hasObligation inherited | Relates a role to an obligation borne in that standing. The Role-wide domain enables the edge for any role without committing existence; obligation-generation is axiomatized on proeth:ProfessionalRole (subClassOf hasObligation some Obligation) in the intermediate layer, and a participant role may bear case-asserted obligations without profession-generated ones. |
| State | activatesObligation inherited | Relates a State to an Obligation that the obtaining of the State makes applicable. This is the forward, activating complement of defeasibleUnder (which records the State under which an obligation yields): a state such as hazard exposure or an undertaken commitment can bring an obligation into force for the role-bearers it concerns. |
Used in cases 1
Case ontologies that instantiate this class or one of its base-ontology descendants. Computed from each individual's type, so the list stays current as cases are extracted. The originating case is shown under Extraction details.
Case 7@prefix core: <http://proethica.org/ontology/core#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix iao: <http://purl.obolibrary.org/obo/IAO_> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix pcsh: <http://proethica.org/shapes/core#> .
@prefix proeth: <http://proethica.org/ontology/intermediate#> .
@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:AttributionObligation a owl:Class ;
rdfs:label "Attribution Obligation"@en ;
proeth:nspeReference "Professional Obligation III.9" ;
iao:0000115 "Duty to give credit for engineering work to those to whom credit is due and to recognize the proprietary interests of others, including appropriate citation of documents of technical authority and credit for tool-assisted or AI-assisted content (NSPE III.9)"@en ;
iao:0000119 "National Society of Professional Engineers (2019). Code of Ethics for Engineers. Publication 1102, Professional Obligation III.9." ;
dcterms:source "NSPE Code of Ethics Professional Obligation III.9" ;
rdfs:comment "Duty to give credit for engineering work to those to whom credit is due and to recognize the proprietary interests of others, including appropriate citation of documents of technical authority and credit for tool-assisted or AI-assisted content (NSPE III.9)"@en ;
rdfs:subClassOf core:Obligation ;
skos:altLabel "attribution and credit obligation"@en,
"credit obligation"@en ;
skos:changeNote "Added 2026-07-02 (definition-prompt audit Stage 2): canonical home for the NSPE III.9 credit duty, which previously forked between DisclosureObligation and an LLM-minted extended-store near-duplicate because the obligationType enum lacked 'attribution'. Supersedes the extended-store discovery of the same IRI; the obligationType routing value 'attribution' commits here."@en .
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 .