@agenticprimitives/ontology 1.0.0-alpha.4 → 1.0.0-alpha.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +59 -21
  2. package/cbox/agent-facet-shapes.shacl.ttl +130 -0
  3. package/cbox/capability-catalog-shapes.shacl.ttl +284 -0
  4. package/cbox/card-projection-shapes.shacl.ttl +216 -0
  5. package/cbox/consultation-shapes.shacl.ttl +85 -0
  6. package/cbox/content-vocabulary.ttl +52 -0
  7. package/cbox/controlled-vocabularies.ttl +224 -4
  8. package/cbox/discovery-graph-shapes.shacl.ttl +284 -0
  9. package/cbox/familyoffice-shapes.shacl.ttl +92 -0
  10. package/cbox/familyoffice-vocabulary.ttl +48 -0
  11. package/cbox/geo-vocabulary.ttl +36 -0
  12. package/cbox/guidance-vocabulary.ttl +22 -0
  13. package/cbox/interaction-shapes.shacl.ttl +218 -0
  14. package/cbox/interaction-vocabulary.ttl +159 -0
  15. package/cbox/judgment-shapes.shacl.ttl +83 -0
  16. package/cbox/naming-registry-shapes.shacl.ttl +272 -0
  17. package/cbox/org-team-shapes.shacl.ttl +184 -0
  18. package/cbox/privacy-credential-shapes.shacl.ttl +187 -0
  19. package/cbox/profile-facet-vocabulary.ttl +50 -0
  20. package/cbox/registry-vocabulary.ttl +86 -0
  21. package/cbox/run-measures-shapes.shacl.ttl +59 -0
  22. package/cbox/run-provenance-shapes.shacl.ttl +264 -0
  23. package/cbox/scope-vocabulary.ttl +112 -0
  24. package/cbox/skill-grounding-vocabulary.ttl +18 -0
  25. package/cbox/skill-vocabulary.ttl +50 -0
  26. package/context.jsonld +37 -1
  27. package/dist/arg-types.d.ts +60 -0
  28. package/dist/arg-types.d.ts.map +1 -0
  29. package/dist/arg-types.js +143 -0
  30. package/dist/arg-types.js.map +1 -0
  31. package/dist/artifacts.d.ts +9 -2
  32. package/dist/artifacts.d.ts.map +1 -1
  33. package/dist/artifacts.js +153 -2
  34. package/dist/artifacts.js.map +1 -1
  35. package/dist/contact-fields.d.ts +28 -0
  36. package/dist/contact-fields.d.ts.map +1 -0
  37. package/dist/contact-fields.js +38 -0
  38. package/dist/contact-fields.js.map +1 -0
  39. package/dist/decisions.d.ts +69 -0
  40. package/dist/decisions.d.ts.map +1 -0
  41. package/dist/decisions.js +98 -0
  42. package/dist/decisions.js.map +1 -0
  43. package/dist/evaluation-context.d.ts +134 -0
  44. package/dist/evaluation-context.d.ts.map +1 -0
  45. package/dist/evaluation-context.js +136 -0
  46. package/dist/evaluation-context.js.map +1 -0
  47. package/dist/governance.d.ts +84 -0
  48. package/dist/governance.d.ts.map +1 -0
  49. package/dist/governance.js +88 -0
  50. package/dist/governance.js.map +1 -0
  51. package/dist/grounded-vocabulary.d.ts +29 -0
  52. package/dist/grounded-vocabulary.d.ts.map +1 -0
  53. package/dist/grounded-vocabulary.js +110 -0
  54. package/dist/grounded-vocabulary.js.map +1 -0
  55. package/dist/household.d.ts +19 -0
  56. package/dist/household.d.ts.map +1 -0
  57. package/dist/household.js +41 -0
  58. package/dist/household.js.map +1 -0
  59. package/dist/index.d.ts +1091 -3
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1323 -5
  62. package/dist/index.js.map +1 -1
  63. package/dist/outcomes.d.ts +47 -0
  64. package/dist/outcomes.d.ts.map +1 -0
  65. package/dist/outcomes.js +40 -0
  66. package/dist/outcomes.js.map +1 -0
  67. package/dist/participant-vocabulary.d.ts +57 -0
  68. package/dist/participant-vocabulary.d.ts.map +1 -0
  69. package/dist/participant-vocabulary.js +66 -0
  70. package/dist/participant-vocabulary.js.map +1 -0
  71. package/dist/party-roles.d.ts +115 -0
  72. package/dist/party-roles.d.ts.map +1 -0
  73. package/dist/party-roles.js +343 -0
  74. package/dist/party-roles.js.map +1 -0
  75. package/dist/payload-classes.d.ts +22 -0
  76. package/dist/payload-classes.d.ts.map +1 -0
  77. package/dist/payload-classes.js +30 -0
  78. package/dist/payload-classes.js.map +1 -0
  79. package/dist/plan-shapes.d.ts +18 -0
  80. package/dist/plan-shapes.d.ts.map +1 -0
  81. package/dist/plan-shapes.js +38 -0
  82. package/dist/plan-shapes.js.map +1 -0
  83. package/dist/principles.generated.d.ts +11 -0
  84. package/dist/principles.generated.d.ts.map +1 -0
  85. package/dist/principles.generated.js +293 -0
  86. package/dist/principles.generated.js.map +1 -0
  87. package/dist/published-works.d.ts +13 -0
  88. package/dist/published-works.d.ts.map +1 -0
  89. package/dist/published-works.js +18 -0
  90. package/dist/published-works.js.map +1 -0
  91. package/dist/relations.d.ts +44 -0
  92. package/dist/relations.d.ts.map +1 -0
  93. package/dist/relations.js +104 -0
  94. package/dist/relations.js.map +1 -0
  95. package/dist/run-measures-context.d.ts +74 -0
  96. package/dist/run-measures-context.d.ts.map +1 -0
  97. package/dist/run-measures-context.js +77 -0
  98. package/dist/run-measures-context.js.map +1 -0
  99. package/dist/run-provenance-context.d.ts +315 -0
  100. package/dist/run-provenance-context.d.ts.map +1 -0
  101. package/dist/run-provenance-context.js +323 -0
  102. package/dist/run-provenance-context.js.map +1 -0
  103. package/dist/transitions.d.ts +42 -0
  104. package/dist/transitions.d.ts.map +1 -0
  105. package/dist/transitions.js +100 -0
  106. package/dist/transitions.js.map +1 -0
  107. package/dist/vault-records.d.ts +74 -0
  108. package/dist/vault-records.d.ts.map +1 -0
  109. package/dist/vault-records.js +777 -0
  110. package/dist/vault-records.js.map +1 -0
  111. package/dist/versions.generated.d.ts +262 -0
  112. package/dist/versions.generated.d.ts.map +1 -0
  113. package/dist/versions.generated.js +318 -0
  114. package/dist/versions.generated.js.map +1 -0
  115. package/evaluation.jsonld +133 -0
  116. package/mappings/actor-context-standards.ttl +89 -0
  117. package/mappings/agent-discovery-standards.ttl +127 -0
  118. package/mappings/collaboration-crosswalk-actors.ttl +30 -0
  119. package/mappings/collaboration-crosswalk-authority.ttl +31 -0
  120. package/mappings/collaboration-crosswalk-guidance.ttl +29 -0
  121. package/mappings/collaboration-crosswalk-intent.ttl +29 -0
  122. package/mappings/collaboration-crosswalk-messaging.ttl +37 -0
  123. package/mappings/collaboration-crosswalk-organization.ttl +66 -0
  124. package/mappings/collaboration-crosswalk-protocols.ttl +49 -0
  125. package/mappings/collaboration-crosswalk-skills.ttl +50 -0
  126. package/mappings/collaboration-profile.ttl +82 -0
  127. package/mappings/commerce-engagement-crosswalk.ttl +83 -0
  128. package/mappings/spine-standards.ttl +83 -0
  129. package/package.json +31 -9
  130. package/run-measures.jsonld +34 -0
  131. package/run-provenance.jsonld +314 -0
  132. package/tbox/actor-context.ttl +145 -0
  133. package/tbox/agent-resolution.ttl +308 -0
  134. package/tbox/agreement.ttl +77 -0
  135. package/tbox/attestation.ttl +156 -0
  136. package/tbox/card-projection.ttl +350 -0
  137. package/tbox/constraints.ttl +150 -0
  138. package/tbox/contact.ttl +61 -0
  139. package/tbox/content.ttl +76 -0
  140. package/tbox/context.ttl +508 -0
  141. package/tbox/coordination.ttl +263 -0
  142. package/tbox/core.ttl +325 -7
  143. package/tbox/dcat-imports.ttl +19 -0
  144. package/tbox/discovery.ttl +273 -0
  145. package/tbox/dqv-imports.ttl +29 -0
  146. package/tbox/earl-imports.ttl +32 -0
  147. package/tbox/engagement.ttl +349 -0
  148. package/tbox/entitlement.ttl +41 -0
  149. package/tbox/estate.ttl +78 -0
  150. package/tbox/evaluation.ttl +330 -0
  151. package/tbox/execution.ttl +720 -0
  152. package/tbox/familyoffice.ttl +87 -0
  153. package/tbox/fulfillment.ttl +140 -0
  154. package/tbox/geo.ttl +28 -0
  155. package/tbox/governance.ttl +67 -0
  156. package/tbox/guidance.ttl +40 -0
  157. package/tbox/household.ttl +142 -0
  158. package/tbox/identity.ttl +133 -6
  159. package/tbox/inference.ttl +177 -0
  160. package/tbox/intents.ttl +241 -0
  161. package/tbox/interaction.ttl +297 -0
  162. package/tbox/messaging.ttl +244 -0
  163. package/tbox/naming.ttl +114 -0
  164. package/tbox/org.ttl +410 -0
  165. package/tbox/payload.ttl +94 -0
  166. package/tbox/payment.ttl +124 -0
  167. package/tbox/plan.ttl +169 -0
  168. package/tbox/principles.ttl +212 -0
  169. package/tbox/privacy-credential.ttl +436 -0
  170. package/tbox/profile.ttl +107 -0
  171. package/tbox/prov-imports.ttl +73 -0
  172. package/tbox/registry.ttl +382 -0
  173. package/tbox/resolution.ttl +108 -0
  174. package/tbox/scope.ttl +59 -0
  175. package/tbox/security-exposure.ttl +102 -0
  176. package/tbox/situation.ttl +56 -0
  177. package/tbox/skills.ttl +316 -0
  178. package/tbox/skos-imports.ttl +54 -0
  179. package/tbox/transition.ttl +63 -0
  180. package/tbox/trust.ttl +210 -0
  181. package/tbox/values.ttl +81 -0
  182. package/tbox/verification-receipt.ttl +134 -0
  183. package/versions.adoption.json +173 -0
@@ -0,0 +1,382 @@
1
+ # T-box — AP-native registry kit vocabulary.
2
+ # Grounded in PROV-O and DOLCE+DnS/DUL; informed by Agent Explorer's
3
+ # erc8004.ttl, discovery.ttl, descriptors.ttl, trust.ttl, hol.ttl, and oasf.ttl
4
+ # modules, but expressed as AP-native Ring 0 vocabulary.
5
+ # spec 346 §7/§11 added the registry INSTANCE + its operating ap:RegistryAgent, the admission
6
+ # RegistrationReceipt, the hash-chained lifecycle log + LogCheckpoint, and the derived entryStatus.
7
+
8
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
9
+ @prefix approf: <https://agenticprimitives.dev/ns/profile#> .
10
+ @prefix apreg: <https://agenticprimitives.dev/ns/registry#> .
11
+ @prefix apatt: <https://agenticprimitives.dev/ns/attestation#> .
12
+ @prefix aps: <https://agenticprimitives.dev/ns/skill#> .
13
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
14
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
15
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
16
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
17
+ @prefix prov: <http://www.w3.org/ns/prov#> .
18
+ @prefix dul: <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#> .
19
+ @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
20
+
21
+ apreg: a owl:Ontology ;
22
+ rdfs:label "Agentic Primitives — registry kit ontology" ;
23
+ owl:versionInfo "0.2.0" ;
24
+ rdfs:seeAlso <https://github.com/agentictrustlabs/agent-explorer/tree/main/apps/ontology/ontology> ;
25
+ rdfs:comment "AP-native registry-building vocabulary. External registries are projection surfaces; this vocabulary defines Smart-Agent-anchored entries, binding proofs, claim slots, and lifecycle evidence." .
26
+
27
+ # ─── Core registry classes ─────────────────────────────────────────────
28
+
29
+ apreg:RegistryKitProfile a owl:Class ;
30
+ rdfs:subClassOf dul:Description ;
31
+ rdfs:label "RegistryKitProfile" ;
32
+ rdfs:comment "A description of a kit-built registry: membership policy, claim slots, lifecycle rules, and validation hooks." .
33
+
34
+ apreg:RegistryEntry a owl:Class ;
35
+ rdfs:subClassOf prov:Entity, dul:InformationObject ;
36
+ rdfs:label "RegistryEntry" ;
37
+ rdfs:comment "A public facet asserting that a Smart Agent is listed in a registry under a signed card and claim-slot profile. It is evidence, not authority." .
38
+
39
+ apreg:RegistryEntryBindingProof a owl:Class ;
40
+ rdfs:subClassOf prov:Entity, dul:InformationObject ;
41
+ rdfs:label "RegistryEntryBindingProof" ;
42
+ rdfs:comment "A Smart-Agent-signed proof binding registryId, entryId, subjectAgent, cardHash, and claimHashes." .
43
+
44
+ apreg:RegistryClaimSlot a owl:Class ;
45
+ rdfs:subClassOf dul:Description ;
46
+ rdfs:label "RegistryClaimSlot" ;
47
+ rdfs:comment "A typed claim requirement in a registry profile. Claim bodies live in attestations, agent-skills, geo-features, or app-level credential packages." .
48
+
49
+ apreg:RegistryLifecycleEvent a owl:Class ;
50
+ rdfs:subClassOf prov:Activity ;
51
+ rdfs:label "RegistryLifecycleEvent" ;
52
+ rdfs:comment "One event in a registry's APPEND-ONLY, hash-chained lifecycle log (spec 346 §7.3 RegistryLifecycleEventV1): eventKind from apreg:lifecycleEventScheme, eventSequence strictly increasing per registry, eventDigest, previousEventDigest for every event after the first. The on-chain AgentRegistryBase events (register, renew, suspend, revoke, expire, claim-update) remain the PUBLIC lifecycle facts and are projected into the KB; the log adds the off-chain evidence chain (receipts, revalidations, private issuances by digest only) plus a LogCheckpoint anchor. The log's home is the operator's vault or DO (a rebuild, not a bereavement — ADR-0055), never the public KB." .
53
+
54
+ apreg:RegistryMembershipPolicy a owl:Class ;
55
+ rdfs:subClassOf dul:Description ;
56
+ rdfs:label "RegistryMembershipPolicy" ;
57
+ rdfs:comment "A generic AP-native policy description for registry membership. Vertical-specific membership logic lives outside Ring 0." .
58
+
59
+ apreg:ExternalRegistryFacet a owl:Class ;
60
+ rdfs:subClassOf ap:Facet, prov:Entity ;
61
+ rdfs:label "ExternalRegistryFacet" ;
62
+ rdfs:comment "A public projection from ERC-8004, HCS, ANS, DNS-AID, OASF, MCP Registry, or another external registry surface back to the canonical Smart Agent." .
63
+
64
+ apreg:RegistryLifecycleStatus a owl:Class ;
65
+ rdfs:subClassOf skos:Concept ;
66
+ rdfs:label "RegistryLifecycleStatus" ;
67
+ rdfs:comment "Controlled vocabulary for active, suspended, revoked, expired, and pending registry entry states." .
68
+
69
+ # ─── Properties ────────────────────────────────────────────────────────
70
+
71
+ apreg:registryId a owl:DatatypeProperty ;
72
+ rdfs:domain apreg:RegistryEntry ;
73
+ rdfs:range xsd:string ;
74
+ rdfs:label "registryId" .
75
+
76
+ apreg:entryId a owl:DatatypeProperty ;
77
+ rdfs:domain apreg:RegistryEntry ;
78
+ rdfs:range xsd:string ;
79
+ rdfs:label "entryId" .
80
+
81
+ apreg:subjectAgent a owl:ObjectProperty ;
82
+ rdfs:range ap:Agent ;
83
+ rdfs:label "subjectAgent" ;
84
+ rdfs:comment "The canonical Smart Agent a registry record points at. Used by RegistryEntry, RegistrationReceipt and RegistryLifecycleEvent alike (spec 346 §7), so the domain is left open — the per-class shapes pin cardinality." .
85
+
86
+ apreg:hasBindingProof a owl:ObjectProperty ;
87
+ rdfs:domain apreg:RegistryEntry ;
88
+ rdfs:range apreg:RegistryEntryBindingProof ;
89
+ rdfs:label "hasBindingProof" .
90
+
91
+ apreg:cardHash a owl:DatatypeProperty ;
92
+ rdfs:range xsd:string ;
93
+ rdfs:label "cardHash" ;
94
+ rdfs:comment "Canonical hash of the AP-native signed AgentCard bundle." .
95
+
96
+ apreg:claimHash a owl:DatatypeProperty ;
97
+ rdfs:range xsd:string ;
98
+ rdfs:label "claimHash" ;
99
+ rdfs:comment "Hash of a claim, credential, or attestation satisfying a registry claim slot." .
100
+
101
+ apreg:claimSlot a owl:ObjectProperty ;
102
+ rdfs:domain apreg:RegistryKitProfile ;
103
+ rdfs:range apreg:RegistryClaimSlot ;
104
+ rdfs:label "claimSlot" .
105
+
106
+ apreg:requiredClaimSlot a owl:ObjectProperty ;
107
+ rdfs:subPropertyOf apreg:claimSlot ;
108
+ rdfs:label "requiredClaimSlot" .
109
+
110
+ apreg:membershipPolicy a owl:ObjectProperty ;
111
+ rdfs:domain apreg:RegistryKitProfile ;
112
+ rdfs:range apreg:RegistryMembershipPolicy ;
113
+ rdfs:label "membershipPolicy" .
114
+
115
+ apreg:lifecycleStatus a owl:ObjectProperty ;
116
+ rdfs:domain apreg:RegistryEntry ;
117
+ rdfs:range apreg:RegistryLifecycleStatus ;
118
+ rdfs:label "lifecycleStatus" .
119
+
120
+ apreg:externalSurface a owl:DatatypeProperty ;
121
+ rdfs:domain apreg:ExternalRegistryFacet ;
122
+ rdfs:range xsd:string ;
123
+ rdfs:label "externalSurface" ;
124
+ rdfs:comment "The source surface, e.g. erc8004, hcs10, hcs11, ans, dns-aid, oasf, a2a, mcp-registry." .
125
+
126
+ apreg:externalIdentifier a owl:DatatypeProperty ;
127
+ rdfs:domain apreg:ExternalRegistryFacet ;
128
+ rdfs:range xsd:string ;
129
+ rdfs:label "externalIdentifier" .
130
+
131
+ apreg:projectionOf a owl:ObjectProperty ;
132
+ rdfs:domain apreg:ExternalRegistryFacet ;
133
+ rdfs:range apreg:RegistryEntry ;
134
+ rdfs:label "projectionOf" ;
135
+ rdfs:comment "Links an external registry projection to the AP-native registry entry or signed-card anchor it projects." .
136
+
137
+ apreg:blockNumber a owl:DatatypeProperty ;
138
+ rdfs:range xsd:nonNegativeInteger ;
139
+ rdfs:label "blockNumber" .
140
+
141
+ apreg:transactionHash a owl:DatatypeProperty ;
142
+ rdfs:range xsd:string ;
143
+ rdfs:label "transactionHash" .
144
+
145
+ apreg:logIndex a owl:DatatypeProperty ;
146
+ rdfs:range xsd:nonNegativeInteger ;
147
+ rdfs:label "logIndex" .
148
+
149
+ # ─── Signed card + binding-proof projection (spec 279 §3.2/§3.3) ──────
150
+
151
+ apreg:SignedAgentCard a owl:Class ;
152
+ rdfs:subClassOf prov:Entity, dul:InformationObject ;
153
+ rdfs:label "SignedAgentCard" ;
154
+ rdfs:comment "A Smart-Agent-signed (ERC-1271) agent card bundle (spec 279 §3.2). Proves cardHash -> subjectAgent without trusting the server that served it. Owned by agent-profile; projected here as the discovery anchor a RegistryEntry.cardHash references." .
155
+
156
+ apreg:cardSubject a owl:ObjectProperty ;
157
+ rdfs:domain apreg:SignedAgentCard ;
158
+ rdfs:range ap:Agent ;
159
+ rdfs:label "cardSubject" ;
160
+ rdfs:comment "The canonical Smart Agent the signed card describes (signer = verifyingContract = subject in V1)." .
161
+
162
+ apreg:verifyingContract a owl:ObjectProperty ;
163
+ rdfs:domain apreg:SignedAgentCard ;
164
+ rdfs:range ap:Agent ;
165
+ rdfs:label "verifyingContract" ;
166
+ rdfs:comment "The ERC-1271 contract whose signature validates the card (the subject Smart Agent in V1)." .
167
+
168
+ apreg:cardChainId a owl:DatatypeProperty ;
169
+ rdfs:domain apreg:SignedAgentCard ;
170
+ rdfs:range xsd:nonNegativeInteger ;
171
+ rdfs:label "cardChainId" ;
172
+ rdfs:comment "Chain the card signature is bound to (anti cross-chain replay)." .
173
+
174
+ apreg:describesCard a owl:ObjectProperty ;
175
+ rdfs:domain apreg:RegistryEntry ;
176
+ rdfs:range apreg:SignedAgentCard ;
177
+ rdfs:label "describesCard" ;
178
+ rdfs:comment "Links a registry entry to the signed card its cardHash references." .
179
+
180
+ apreg:bindingProofHash a owl:DatatypeProperty ;
181
+ rdfs:domain apreg:RegistryEntry ;
182
+ rdfs:range xsd:string ;
183
+ rdfs:label "bindingProofHash" ;
184
+ rdfs:comment "sha256 of the off-chain RegistryEntryBindingProof this entry references (verified off-chain via the subject SA's ERC-1271)." .
185
+
186
+ apreg:proofHash a owl:DatatypeProperty ;
187
+ rdfs:domain apreg:RegistryEntryBindingProof ;
188
+ rdfs:range xsd:string ;
189
+ rdfs:label "proofHash" ;
190
+ rdfs:comment "sha256 over the canonical binding-proof body the subject Smart Agent signed." .
191
+
192
+ apreg:claimSlotId a owl:DatatypeProperty ;
193
+ rdfs:range xsd:string ;
194
+ rdfs:label "claimSlotId" ;
195
+ rdfs:comment "Identifier of the claim slot a claim hash fills (from the RegistryClaimUpdated event)." .
196
+
197
+ apreg:issuedAt a owl:DatatypeProperty ;
198
+ rdfs:range xsd:dateTime ;
199
+ rdfs:label "issuedAt" .
200
+
201
+ apreg:expiresAt a owl:DatatypeProperty ;
202
+ rdfs:domain apreg:RegistryEntry ;
203
+ rdfs:range xsd:dateTime ;
204
+ rdfs:label "expiresAt" ;
205
+ rdfs:comment "Entry expiry; absent (0 on-chain) = non-expiring. A past expiresAt projects to the apreg:expired liveness status." .
206
+
207
+ apreg:reasonHash a owl:DatatypeProperty ;
208
+ rdfs:domain apreg:RegistryLifecycleEvent ;
209
+ rdfs:range xsd:string ;
210
+ rdfs:label "reasonHash" ;
211
+ rdfs:comment "keccak of the off-chain reason string for a suspend / revoke lifecycle event." .
212
+
213
+ # ─── Lifecycle status codelist seeds ──────────────────────────────────
214
+
215
+ apreg:active a apreg:RegistryLifecycleStatus ;
216
+ skos:prefLabel "active" .
217
+
218
+ apreg:suspended a apreg:RegistryLifecycleStatus ;
219
+ skos:prefLabel "suspended" .
220
+
221
+ apreg:revoked a apreg:RegistryLifecycleStatus ;
222
+ skos:prefLabel "revoked" .
223
+
224
+ apreg:expired a apreg:RegistryLifecycleStatus ;
225
+ skos:prefLabel "expired" .
226
+
227
+ apreg:pending a apreg:RegistryLifecycleStatus ;
228
+ skos:prefLabel "pending" .
229
+
230
+ # ═══ spec 346 §7 / §11 — registry instance, operator, receipts, lifecycle log ═══
231
+
232
+ # ─── The registry instance and its operator ────────────────────────────
233
+
234
+ apreg:Registry a owl:Class ;
235
+ rdfs:subClassOf prov:Entity ;
236
+ rdfs:label "Registry" ;
237
+ rdfs:comment "A kit-built registry INSTANCE (spec 279; ADR-0038): an SA-anchored registry contract plus the RegistryKitProfile that describes it. An Entity, never an agent — operated by exactly one ap:RegistryAgent (apreg:operatedBy) whose '.registry' name is the registry's agentive face, exactly as a WorkspaceAgent is a Workspace's (ADR-0061 §4). Vertical registries are external consumers of the kit; this class is what they are built FROM." .
238
+
239
+ apreg:describedByProfile a owl:ObjectProperty ;
240
+ rdfs:domain apreg:Registry ;
241
+ rdfs:range apreg:RegistryKitProfile ;
242
+ rdfs:label "describedByProfile" .
243
+
244
+ apreg:operatesRegistry a owl:ObjectProperty ;
245
+ rdfs:domain ap:RegistryAgent ;
246
+ rdfs:range apreg:Registry ;
247
+ owl:inverseOf apreg:operatedBy ;
248
+ rdfs:label "operatesRegistry" ;
249
+ rdfs:comment "Exactly one (ap:RegistryAgentShape). The operator SA admits entries, signs receipts, appends the lifecycle log and serves the discovery surface — under its OWN custody policy. Operating a registry grants it nothing over the subjects it lists; an entry is evidence, never authority." .
250
+
251
+ apreg:operatedBy a owl:ObjectProperty ;
252
+ rdfs:domain apreg:Registry ;
253
+ rdfs:range ap:RegistryAgent ;
254
+ owl:inverseOf apreg:operatesRegistry ;
255
+ rdfs:label "operatedBy" .
256
+
257
+ apreg:inRegistry a owl:ObjectProperty ;
258
+ rdfs:range apreg:Registry ;
259
+ rdfs:label "inRegistry" ;
260
+ rdfs:comment "The registry a RegistryEntry, RegistrationReceipt, RegistryLifecycleEvent or LogCheckpoint belongs to — apreg:registryId as a node rather than a string." .
261
+
262
+ # ─── Registration receipt (§7.2) ───────────────────────────────────────
263
+
264
+ apreg:RegistrationReceipt a owl:Class ;
265
+ rdfs:subClassOf prov:Entity , ap:Evidence ;
266
+ rdfs:label "RegistrationReceipt" ;
267
+ rdfs:comment "RegistrationReceiptV1: what the registry operator VERIFIED, what FAILED, and what was NOT VERIFIED (not-attempted / unavailable / policy-skipped — a first-class outcome, never silently equal to verified) when admitting an entry, each line against an artifact digest. Signed by the operator SA (receiptSigner). EVIDENCE, never authority (ADR-0020): the object an external registry (ARD, 8004) can cite and a consumer shows as 'verified on <date> by <registry>'. Every AdmissionCheck appears in exactly one of the three lists (apreg:RegistrationReceiptShape)." .
268
+
269
+ apreg:verifiedCheck a owl:ObjectProperty ;
270
+ rdfs:domain apreg:RegistrationReceipt ;
271
+ rdfs:range skos:Concept ;
272
+ rdfs:label "verifiedCheck" ;
273
+ rdfs:comment "An apreg:admissionCheckScheme concept that PASSED, against an artifact digest." .
274
+
275
+ apreg:failedCheck a owl:ObjectProperty ;
276
+ rdfs:domain apreg:RegistrationReceipt ;
277
+ rdfs:range skos:Concept ;
278
+ rdfs:label "failedCheck" ;
279
+ rdfs:comment "An apreg:admissionCheckScheme concept that FAILED, with a reason." .
280
+
281
+ apreg:notVerifiedCheck a owl:ObjectProperty ;
282
+ rdfs:domain apreg:RegistrationReceipt ;
283
+ rdfs:range skos:Concept ;
284
+ rdfs:label "notVerifiedCheck" ;
285
+ rdfs:comment "An apreg:admissionCheckScheme concept that was NOT ATTEMPTED, unavailable, or policy-skipped. Recorded, never elided: 'not verified' must stay distinguishable from 'verified'." .
286
+
287
+ apreg:receiptFor a owl:ObjectProperty ;
288
+ rdfs:domain apreg:RegistrationReceipt ;
289
+ rdfs:range apreg:RegistryEntry ;
290
+ rdfs:label "receiptFor" .
291
+
292
+ apreg:subjectType a owl:ObjectProperty ;
293
+ rdfs:domain apreg:RegistrationReceipt ;
294
+ rdfs:range skos:Concept ;
295
+ rdfs:label "subjectType" ;
296
+ rdfs:comment "ap:agentTypeScheme — the DERIVED type the admission checked the subject's on-chain record and suffix against (spec 346 §2.3 invariant)." .
297
+
298
+ apreg:admittedAt a owl:DatatypeProperty ;
299
+ rdfs:domain apreg:RegistrationReceipt ;
300
+ rdfs:range xsd:dateTime ;
301
+ rdfs:label "admittedAt" .
302
+
303
+ apreg:receiptSigner a owl:ObjectProperty ;
304
+ rdfs:domain apreg:RegistrationReceipt ;
305
+ rdfs:range ap:RegistryAgent ;
306
+ rdfs:label "receiptSigner" ;
307
+ rdfs:comment "The registry operator SA that signed the receipt (ERC-1271 or a delegated session key)." .
308
+
309
+ apreg:receiptSignature a owl:DatatypeProperty ;
310
+ rdfs:domain apreg:RegistrationReceipt ;
311
+ rdfs:range xsd:string ;
312
+ rdfs:label "receiptSignature" .
313
+
314
+ # ─── Lifecycle log (§7.3) ──────────────────────────────────────────────
315
+
316
+ apreg:eventKind a owl:ObjectProperty ;
317
+ rdfs:domain apreg:RegistryLifecycleEvent ;
318
+ rdfs:range skos:Concept ;
319
+ rdfs:label "eventKind" ;
320
+ rdfs:comment "apreg:lifecycleEventScheme (cbox/registry-vocabulary.ttl) — the §7.3 RegistryLifecycleEventKind union." .
321
+
322
+ apreg:eventSequence a owl:DatatypeProperty ;
323
+ rdfs:domain apreg:RegistryLifecycleEvent ;
324
+ rdfs:range xsd:nonNegativeInteger ;
325
+ rdfs:label "eventSequence" ;
326
+ rdfs:comment "Position in the registry's append-only log. Strictly increasing per registry; the first event is 0." .
327
+
328
+ apreg:previousEventDigest a owl:DatatypeProperty ;
329
+ rdfs:domain apreg:RegistryLifecycleEvent ;
330
+ rdfs:range xsd:string ;
331
+ rdfs:label "previousEventDigest" ;
332
+ rdfs:comment "Digest of the preceding event — the hash chain (the smart-agent audit pattern). REQUIRED for every eventSequence > 0." .
333
+
334
+ apreg:eventDigest a owl:DatatypeProperty ;
335
+ rdfs:domain apreg:RegistryLifecycleEvent ;
336
+ rdfs:range xsd:string ;
337
+ rdfs:label "eventDigest" .
338
+
339
+ apreg:occurredAt a owl:DatatypeProperty ;
340
+ rdfs:domain apreg:RegistryLifecycleEvent ;
341
+ rdfs:range xsd:dateTime ;
342
+ rdfs:label "occurredAt" .
343
+
344
+ apreg:citesReceipt a owl:ObjectProperty ;
345
+ rdfs:domain apreg:RegistryLifecycleEvent ;
346
+ rdfs:range apreg:RegistrationReceipt ;
347
+ rdfs:label "citesReceipt" ;
348
+ rdfs:comment "The receipt an ENTRY_REGISTERED / ENTRY_RENEWED / REVALIDATION_* event refers to." .
349
+
350
+ apreg:LogCheckpoint a owl:Class ;
351
+ rdfs:subClassOf prov:Entity ;
352
+ rdfs:label "LogCheckpoint" ;
353
+ rdfs:comment "A Merkle root over a contiguous range [checkpointFrom, checkpointTo] of lifecycle events, anchored externally (anchorRef: a topic sequence, a tx, … — HCS-27-compatible, ledger-agnostic). Proves the log was not rewritten; proves nothing about the truth of any event." .
354
+
355
+ apreg:merkleRoot a owl:DatatypeProperty ;
356
+ rdfs:domain apreg:LogCheckpoint ;
357
+ rdfs:range xsd:string ;
358
+ rdfs:label "merkleRoot" .
359
+
360
+ apreg:checkpointFrom a owl:DatatypeProperty ;
361
+ rdfs:domain apreg:LogCheckpoint ;
362
+ rdfs:range xsd:nonNegativeInteger ;
363
+ rdfs:label "checkpointFrom" .
364
+
365
+ apreg:checkpointTo a owl:DatatypeProperty ;
366
+ rdfs:domain apreg:LogCheckpoint ;
367
+ rdfs:range xsd:nonNegativeInteger ;
368
+ rdfs:label "checkpointTo" .
369
+
370
+ apreg:anchorRef a owl:DatatypeProperty ;
371
+ rdfs:domain apreg:LogCheckpoint ;
372
+ rdfs:range xsd:string ;
373
+ rdfs:label "anchorRef" ;
374
+ rdfs:comment "The external anchor reference the CheckpointHook returned." .
375
+
376
+ # ─── Continuous revalidation status (§7.4) ─────────────────────────────
377
+
378
+ apreg:entryStatus a owl:ObjectProperty ;
379
+ rdfs:domain apreg:RegistryEntry ;
380
+ rdfs:range skos:Concept ;
381
+ rdfs:label "entryStatus" ;
382
+ rdfs:comment "apreg:entryStatusScheme — verified | stale | failing | suspended | revoked | expired. DERIVED by a pure fold over the lifecycle events (deriveEntryStatus) under a revalidation policy — never a mutable flag written by hand. Distinct from apreg:lifecycleStatus, the on-chain active/suspended/revoked/expired/pending fact." .
@@ -0,0 +1,108 @@
1
+ # T-box — resolution + ResolutionReceipt vocabulary (spine Layer 4; skeleton W1).
2
+ # ERC-7683 Resolver pattern; W2 grows the full surface.
3
+ # RR-INV-01..05 enforced by intent-marketplace + intent-resolver runtime SHACL.
4
+
5
+ @prefix apres: <https://agenticprimitives.dev/ns/resolution#> .
6
+ @prefix apint: <https://agenticprimitives.dev/ns/intent#> .
7
+ @prefix apcst: <https://agenticprimitives.dev/ns/constraint#> .
8
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
9
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
10
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
11
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
12
+ @prefix prov: <http://www.w3.org/ns/prov#> .
13
+
14
+ apres: a owl:Ontology ;
15
+ rdfs:label "Agentic Primitives — resolution ontology" ;
16
+ owl:versionInfo "0.1.0-skeleton" ;
17
+ rdfs:comment "Layer 4 of the spine. W1 ships skeleton (types + PassThroughResolver); full vocabulary lands W2 when resolver implementations ship." .
18
+
19
+ # ─── Resolver classes ─────────────────────────────────────────────────
20
+
21
+ apres:Resolver a owl:Class ;
22
+ rdfs:subClassOf ap:ServiceAgent ;
23
+ rdfs:label "Resolver" ;
24
+ rdfs:comment "A Service Agent that performs Intent resolution — translates opaque expressed Intent → ResolvedOrder. ERC-7683 Resolver-contract parallel." .
25
+
26
+ apres:ResolvedOrder a owl:Class ;
27
+ rdfs:subClassOf prov:Entity ;
28
+ rdfs:label "ResolvedOrder" ;
29
+ rdfs:comment "Normalized executable form of an Intent. Layer 4 output. Bridges from CSP-shaped Intent to Solver-fillable Order (Layer 5+6)." .
30
+
31
+ apres:ResolutionReceipt a owl:Class ;
32
+ rdfs:subClassOf prov:Entity ;
33
+ rdfs:label "ResolutionReceipt" ;
34
+ rdfs:comment "Provenance + invariant record for a resolution: model + version + prompt hash + tool calls + confidence + policyChecks + requiresUserConfirmation. Authority-gating per RR-INV-01..05. NOT itself an authority object — provenance only." .
35
+
36
+ apres:PolicyCheckResult a owl:Class ;
37
+ rdfs:label "PolicyCheckResult" ;
38
+ rdfs:comment "A single policy check + pass/fail + rationale; recorded in a ResolutionReceipt." .
39
+
40
+ apres:ToolCallTrace a owl:Class ;
41
+ rdfs:label "ToolCallTrace" ;
42
+ rdfs:comment "An MCP tool call invocation captured for resolution provenance (toolName + inputHash + outputHash + durationMs)." .
43
+
44
+ # ─── Properties ───────────────────────────────────────────────────────
45
+
46
+ apres:resolvedFrom a owl:ObjectProperty ;
47
+ rdfs:domain apres:ResolvedOrder ;
48
+ rdfs:range apint:Intent ;
49
+ rdfs:label "resolvedFrom" .
50
+
51
+ apres:canonicalConstraints a owl:ObjectProperty ;
52
+ rdfs:domain apres:ResolvedOrder ;
53
+ rdfs:range apcst:ConstraintSet ;
54
+ rdfs:label "canonicalConstraints" .
55
+
56
+ apres:expandedAssumptions a owl:ObjectProperty ;
57
+ rdfs:domain apres:ResolvedOrder ;
58
+ rdfs:range apcst:AssumptionSet ;
59
+ rdfs:label "expandedAssumptions" .
60
+
61
+ apres:resolverAgent a owl:ObjectProperty ;
62
+ rdfs:domain apres:ResolutionReceipt ;
63
+ rdfs:range apres:Resolver ;
64
+ rdfs:label "resolverAgent" .
65
+
66
+ apres:resolverVersion a owl:DatatypeProperty ;
67
+ rdfs:domain apres:ResolutionReceipt ;
68
+ rdfs:range xsd:string ;
69
+ rdfs:label "resolverVersion" .
70
+
71
+ apres:modelName a owl:DatatypeProperty ;
72
+ rdfs:domain apres:ResolutionReceipt ;
73
+ rdfs:range xsd:string ;
74
+ rdfs:label "modelName" ;
75
+ rdfs:comment "LLM model name when present (e.g. 'claude-opus-4-7', 'gpt-4.1'). Null for PassThrough." .
76
+
77
+ apres:confidence a owl:DatatypeProperty ;
78
+ rdfs:domain apres:ResolutionReceipt ;
79
+ rdfs:range xsd:decimal ;
80
+ rdfs:label "confidence" ;
81
+ rdfs:comment "0..1. Substrate threshold determines requiresUserConfirmation." .
82
+
83
+ apres:requiresUserConfirmation a owl:DatatypeProperty ;
84
+ rdfs:domain apres:ResolutionReceipt ;
85
+ rdfs:range xsd:boolean ;
86
+ rdfs:label "requiresUserConfirmation" ;
87
+ rdfs:comment "Authority gate (RR-INV-01). TRUE blocks downstream layers until user signs the canonical Intent + ConstraintSet bytes." .
88
+
89
+ apres:userConfirmedAt a owl:DatatypeProperty ;
90
+ rdfs:domain apres:ResolutionReceipt ;
91
+ rdfs:range xsd:dateTime ;
92
+ rdfs:label "userConfirmedAt" .
93
+
94
+ apres:policyVersion a owl:DatatypeProperty ;
95
+ rdfs:domain apres:ResolutionReceipt ;
96
+ rdfs:range xsd:string ;
97
+ rdfs:label "policyVersion" ;
98
+ rdfs:comment "Hash of the resolver policy at resolution time. Audit replay." .
99
+
100
+ apres:hasPolicyCheck a owl:ObjectProperty ;
101
+ rdfs:domain apres:ResolutionReceipt ;
102
+ rdfs:range apres:PolicyCheckResult ;
103
+ rdfs:label "hasPolicyCheck" .
104
+
105
+ apres:hasToolCall a owl:ObjectProperty ;
106
+ rdfs:domain apres:ResolutionReceipt ;
107
+ rdfs:range apres:ToolCallTrace ;
108
+ rdfs:label "hasToolCall" .
package/tbox/scope.ttl ADDED
@@ -0,0 +1,59 @@
1
+ # T-box — AP-Scope-V1 (spec 308 / G-8): the scope-statement + verifier-
2
+ # obligation classes and the profile annotation properties. The codelists
3
+ # (concepts) live in cbox/scope-vocabulary.ttl; this file declares what a
4
+ # SCOPE and an OBLIGATION are.
5
+
6
+ @prefix apscope: <https://agenticprimitives.dev/ns/scope#> .
7
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
8
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
9
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
10
+ @prefix prov: <http://www.w3.org/ns/prov#> .
11
+
12
+ apscope: a owl:Ontology ;
13
+ rdfs:label "Agentic Primitives — AP-Scope-V1 vocabulary" ;
14
+ owl:versionInfo "0.1.0" ;
15
+ rdfs:comment "Spec 308: the small shared scope vocabulary — action/resource/purpose/reliance classes, revocation modes, value-limit kinds — plus the reliance-class verifier profile. Deliberately coarse; external adoption over semantic perfection." .
16
+
17
+ apscope:Scope a owl:Class ;
18
+ rdfs:subClassOf prov:Entity ;
19
+ rdfs:label "Scope" ;
20
+ rdfs:comment "A scope STATEMENT: actionClass × resourceClass × purposeClass × value-limit shape. What a delegation/credential encodes and a verifier compares transaction parameters against (the article's duty 2). Never precise values — those live in caveats/predicates." .
21
+
22
+ apscope:VerifierObligation a owl:Class ;
23
+ rdfs:label "Verifier Obligation" ;
24
+ rdfs:comment "The duties a reliance class imposes on the verifier at execution time (spec 308 profile): the required revocation mode, status freshness, and receipt retention." .
25
+
26
+ # ─── Scope properties (ranges are the cbox concept schemes) ──────────────
27
+
28
+ apscope:hasActionClass a owl:ObjectProperty ;
29
+ rdfs:domain apscope:Scope ; rdfs:label "has action class" .
30
+ apscope:hasResourceClass a owl:ObjectProperty ;
31
+ rdfs:domain apscope:Scope ; rdfs:label "has resource class" .
32
+ apscope:hasPurposeClass a owl:ObjectProperty ;
33
+ rdfs:domain apscope:Scope ; rdfs:label "has purpose class" .
34
+ apscope:hasValueLimitKind a owl:ObjectProperty ;
35
+ rdfs:domain apscope:Scope ; rdfs:label "has value-limit kind" .
36
+ apscope:hasRelianceClass a owl:ObjectProperty ;
37
+ rdfs:label "has reliance class" ;
38
+ rdfs:comment "On a scope, a receipt profile, or a tool classification: which verifier profile applies." .
39
+
40
+ # ─── The reliance-profile annotation properties (used in the cbox) ───────
41
+
42
+ apscope:requiredRevocationMode a owl:ObjectProperty ;
43
+ rdfs:label "required revocation mode" ;
44
+ rdfs:comment "ONE mode per reliance class (ADR-0013 — configuration, never a runtime ladder). emergency-stop overrides in every class." .
45
+
46
+ apscope:statusFreshnessMs a owl:DatatypeProperty ;
47
+ rdfs:range xsd:integer ;
48
+ rdfs:label "status freshness (ms)" ;
49
+ rdfs:comment "Max age of a cached not-revoked answer. 12000 = chain-state's shipped bounded-freshness window (spec 289); 0 = live read per call." .
50
+
51
+ apscope:mustRetainReceipt a owl:DatatypeProperty ;
52
+ rdfs:range xsd:boolean ;
53
+ rdfs:label "must retain receipt" ;
54
+ rdfs:comment "Whether the verifier MUST retain a spec-303 verification receipt for this class (the article's duty 4; the G-12 liability schema keys off it)." .
55
+
56
+ apscope:emergencyStopHonored a owl:DatatypeProperty ;
57
+ rdfs:range xsd:boolean ;
58
+ rdfs:label "emergency stop honored" ;
59
+ rdfs:comment "Every conformant verifier honors a principal-published stop assertion regardless of class mode; declared explicitly on verifier profiles for the conformance suite (G-12)." .
@@ -0,0 +1,102 @@
1
+ # T-box — public-data exposure and penetration-analysis vocabulary.
2
+ # Findings live in restricted A-box graphs (ap:abox:pentest / ap:abox:admin).
3
+
4
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
5
+ @prefix apsec: <https://agenticprimitives.dev/ns/security-exposure#> .
6
+ @prefix apdisc: <https://agenticprimitives.dev/ns/discovery#> .
7
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
8
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
9
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
10
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
11
+ @prefix prov: <http://www.w3.org/ns/prov#> .
12
+ @prefix dul: <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#> .
13
+ @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
14
+
15
+ apsec: a owl:Ontology ;
16
+ rdfs:label "Agentic Primitives — public exposure ontology" ;
17
+ owl:versionInfo "0.1.0" ;
18
+ rdfs:comment "Vocabulary for person/org public-data penetration findings written to restricted knowledge-graph areas." .
19
+
20
+ apsec:ExposureFinding a owl:Class ;
21
+ rdfs:subClassOf prov:Entity, dul:Diagnosis ;
22
+ rdfs:label "ExposureFinding" ;
23
+ rdfs:comment "A finding generated from public graph/public metadata analysis. Not public by default." .
24
+
25
+ apsec:CorrelationRisk a owl:Class ;
26
+ rdfs:subClassOf apsec:ExposureFinding ;
27
+ rdfs:label "CorrelationRisk" ;
28
+ rdfs:comment "A public graph path could correlate person, organization, custody, role, geography, endpoint, or operational activity beyond intended disclosure." .
29
+
30
+ apsec:StaleTrustSignal a owl:Class ;
31
+ rdfs:subClassOf apsec:ExposureFinding ;
32
+ rdfs:label "StaleTrustSignal" ;
33
+ rdfs:comment "A revoked, expired, or stale public signal is still influencing discovery/trust ranking." .
34
+
35
+ apsec:ProjectionMismatch a owl:Class ;
36
+ rdfs:subClassOf apsec:ExposureFinding ;
37
+ rdfs:label "ProjectionMismatch" ;
38
+ rdfs:comment "An external projection claims a card, endpoint, registry id, or agent anchor that does not match AP evidence." .
39
+
40
+ apsec:PolicyViolation a owl:Class ;
41
+ rdfs:subClassOf apsec:ExposureFinding ;
42
+ rdfs:label "PolicyViolation" ;
43
+ rdfs:comment "Public facts violate AP disclosure, classification, privacy, or SHACL policy." .
44
+
45
+ apsec:EndpointExposure a owl:Class ;
46
+ rdfs:subClassOf apsec:ExposureFinding ;
47
+ rdfs:label "EndpointExposure" ;
48
+ rdfs:comment "A public endpoint is exposed without matching signed-card/control proof, expected audience, or policy." .
49
+
50
+ apsec:severity a owl:ObjectProperty ;
51
+ rdfs:domain apsec:ExposureFinding ;
52
+ rdfs:range apsec:Severity ;
53
+ rdfs:label "severity" .
54
+
55
+ apsec:Severity a owl:Class ;
56
+ rdfs:subClassOf skos:Concept ;
57
+ rdfs:label "Severity" .
58
+
59
+ apsec:low a apsec:Severity ; skos:prefLabel "low" .
60
+ apsec:medium a apsec:Severity ; skos:prefLabel "medium" .
61
+ apsec:high a apsec:Severity ; skos:prefLabel "high" .
62
+ apsec:critical a apsec:Severity ; skos:prefLabel "critical" .
63
+
64
+ apsec:findingStatus a owl:ObjectProperty ;
65
+ rdfs:domain apsec:ExposureFinding ;
66
+ rdfs:range apsec:FindingStatus ;
67
+ rdfs:label "findingStatus" .
68
+
69
+ apsec:FindingStatus a owl:Class ;
70
+ rdfs:subClassOf skos:Concept ;
71
+ rdfs:label "FindingStatus" .
72
+
73
+ apsec:new a apsec:FindingStatus ; skos:prefLabel "new" .
74
+ apsec:triaged a apsec:FindingStatus ; skos:prefLabel "triaged" .
75
+ apsec:falsePositive a apsec:FindingStatus ; skos:prefLabel "false-positive" .
76
+ apsec:acceptedRisk a apsec:FindingStatus ; skos:prefLabel "accepted-risk" .
77
+ apsec:remediated a apsec:FindingStatus ; skos:prefLabel "remediated" .
78
+
79
+ apsec:detectedBy a owl:DatatypeProperty ;
80
+ rdfs:domain apsec:ExposureFinding ;
81
+ rdfs:range xsd:string ;
82
+ rdfs:label "detectedBy" .
83
+
84
+ apsec:affectsAgent a owl:ObjectProperty ;
85
+ rdfs:domain apsec:ExposureFinding ;
86
+ rdfs:range ap:Agent ;
87
+ rdfs:label "affectsAgent" .
88
+
89
+ apsec:basedOnEvidencePath a owl:ObjectProperty ;
90
+ rdfs:domain apsec:ExposureFinding ;
91
+ rdfs:range apdisc:EvidencePath ;
92
+ rdfs:label "basedOnEvidencePath" .
93
+
94
+ apsec:recommendedAction a owl:DatatypeProperty ;
95
+ rdfs:domain apsec:ExposureFinding ;
96
+ rdfs:range xsd:string ;
97
+ rdfs:label "recommendedAction" .
98
+
99
+ apsec:adminNote a owl:DatatypeProperty ;
100
+ rdfs:domain apsec:ExposureFinding ;
101
+ rdfs:range xsd:string ;
102
+ rdfs:label "adminNote" .