@agenticprimitives/ontology 1.0.0-alpha.12 → 1.0.0-alpha.14

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.
@@ -0,0 +1,106 @@
1
+ # Mappings — AP discovery ontology ↔ Agent Explorer / ERC-8004 / HCS / OASF.
2
+ # External vocabularies are pattern sources and projection targets, not package
3
+ # semantics. Prefer rdfs:seeAlso and skos:closeMatch; reserve owl:sameAs for
4
+ # true identity equivalence.
5
+
6
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
7
+ @prefix approf: <https://agenticprimitives.dev/ns/profile#> .
8
+ @prefix apreg: <https://agenticprimitives.dev/ns/registry#> .
9
+ @prefix apdisc: <https://agenticprimitives.dev/ns/discovery#> .
10
+ @prefix apsec: <https://agenticprimitives.dev/ns/security-exposure#> .
11
+ @prefix aptrust: <https://agenticprimitives.dev/ns/trust#> .
12
+ @prefix aps: <https://agenticprimitives.dev/ns/skill#> .
13
+ @prefix apatt: <https://agenticprimitives.dev/ns/attestation#> .
14
+
15
+ @prefix erc8004: <https://eips.ethereum.org/EIPS/eip-8004#> .
16
+ @prefix hcs10: <https://hol.org/standards/hcs-10#> .
17
+ @prefix hcs11: <https://hol.org/standards/hcs-11#> .
18
+ @prefix hcs14: <https://hol.org/standards/hcs-14#> .
19
+ @prefix hcs26: <https://hol.org/standards/hcs-26#> .
20
+ @prefix oasf: <https://schema.oasf.outshift.com/#> .
21
+ @prefix ae: <https://github.com/agentictrustlabs/agent-explorer/tree/main/apps/ontology/ontology#> .
22
+ @prefix dul: <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#> .
23
+ @prefix prov: <http://www.w3.org/ns/prov#> .
24
+ @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
25
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
26
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
27
+
28
+ <> a owl:Ontology ;
29
+ rdfs:label "Agentic Primitives — discovery standards mappings" ;
30
+ owl:versionInfo "0.1.0" ;
31
+ rdfs:seeAlso <https://github.com/agentictrustlabs/agent-explorer/tree/main/apps/ontology/ontology> ;
32
+ rdfs:comment "Crosswalk from AP-native discovery vocabulary to Agent Explorer modules, ERC-8004, HCS standards, OASF, PROV-O, and DUL." .
33
+
34
+ # ─── Agent Explorer module alignment ──────────────────────────────────
35
+
36
+ ap:Agent rdfs:seeAlso ae:core ;
37
+ rdfs:subClassOf dul:Agent .
38
+
39
+ # ─── PROV-O agent taxonomy ────────────────────────────────────────────
40
+ # Declare the PROV-O agent classes + hierarchy (so the KB shows prov:Agent → Person/Organization/
41
+ # SoftwareAgent), and GROUND the AP agent kinds onto them: ap:Agent ⊑ prov:Agent; PersonAgent ⊑ prov:Person;
42
+ # OrganizationAgent ⊑ prov:Organization; ServiceAgent ⊑ prov:SoftwareAgent (PROV-O's software/application agent).
43
+ prov:Agent a owl:Class ; rdfs:label "Agent" .
44
+ prov:Person a owl:Class ; rdfs:subClassOf prov:Agent ; rdfs:label "Person" .
45
+ prov:Organization a owl:Class ; rdfs:subClassOf prov:Agent ; rdfs:label "Organization" .
46
+ prov:SoftwareAgent a owl:Class ; rdfs:subClassOf prov:Agent ; rdfs:label "Software Agent (Application)" .
47
+
48
+ ap:Agent rdfs:subClassOf prov:Agent .
49
+ ap:PersonAgent rdfs:subClassOf prov:Person .
50
+ ap:OrganizationAgent rdfs:subClassOf prov:Organization .
51
+ ap:ServiceAgent rdfs:subClassOf prov:SoftwareAgent .
52
+
53
+ apreg:RegistryEntry rdfs:seeAlso ae:discovery, ae:erc8004, ae:hol ;
54
+ skos:closeMatch erc8004:IdentityRegistry ;
55
+ skos:closeMatch hcs10:Registry .
56
+
57
+ apreg:ExternalRegistryFacet rdfs:seeAlso ae:erc8004, ae:hol, ae:dns, ae:ens, ae:oasf, ae:nanda .
58
+
59
+ apdisc:CandidateQuery rdfs:seeAlso ae:discovery, ae:descriptors .
60
+ apdisc:MatchCandidate rdfs:seeAlso ae:discovery, ae:analytics .
61
+ apdisc:TrustDetermination rdfs:seeAlso ae:trust, ae:analytics ;
62
+ rdfs:subClassOf dul:Diagnosis .
63
+ aptrust:TrustSignal rdfs:seeAlso ae:trust .
64
+ aptrust:TrustGraphEdge rdfs:seeAlso ae:trust .
65
+ apsec:ExposureFinding rdfs:seeAlso ae:analytics ;
66
+ rdfs:subClassOf dul:Diagnosis .
67
+
68
+ # ─── ERC-8004 projection vocabulary ───────────────────────────────────
69
+
70
+ apreg:ExternalRegistryFacet skos:closeMatch erc8004:AgentIdentity .
71
+ apreg:externalIdentifier skos:closeMatch erc8004:agentId .
72
+ apreg:cardHash skos:closeMatch erc8004:agentURIHash .
73
+
74
+ aptrust:FeedbackSignal skos:closeMatch erc8004:ReputationRecord .
75
+ aptrust:signalValue skos:closeMatch erc8004:score .
76
+ aptrust:signalTag skos:closeMatch erc8004:tag .
77
+
78
+ aptrust:ValidationEvidence skos:closeMatch erc8004:ValidationRecord .
79
+ apatt:ValidationCredential skos:closeMatch erc8004:ValidationResponse .
80
+
81
+ # ─── HCS projection vocabulary ────────────────────────────────────────
82
+
83
+ apreg:ExternalRegistryFacet skos:closeMatch hcs10:RegisteredAgent .
84
+ apdisc:CandidateQuery skos:closeMatch hcs10:FindAgents .
85
+ apreg:RegistryEntry skos:closeMatch hcs10:RegistryEntry .
86
+
87
+ approf:AgentCardProjection skos:closeMatch hcs11:ProfileMetadata .
88
+ apreg:externalIdentifier skos:closeMatch hcs14:UAID .
89
+ aps:Skill skos:closeMatch hcs26:Skill .
90
+
91
+ # HCS topic topology informs endpoint evidence, not AP authority.
92
+ apdisc:EvidencePath rdfs:seeAlso hcs10:InboundTopic, hcs10:OutboundTopic, hcs10:ConnectionTopic .
93
+
94
+ # ─── OASF skill taxonomy mapping ──────────────────────────────────────
95
+
96
+ aps:Skill rdfs:seeAlso oasf:Skill .
97
+ aps:hasSkillKind rdfs:seeAlso oasf:SkillCategory .
98
+
99
+ # ─── PROV-O / DUL grounding ───────────────────────────────────────────
100
+
101
+ apdisc:CandidateQuery rdfs:subClassOf prov:Activity .
102
+ apdisc:GraphSnapshot rdfs:subClassOf prov:Entity .
103
+ apdisc:EvidencePath rdfs:subClassOf prov:Entity, dul:InformationObject .
104
+ apreg:RegistryEntryBindingProof rdfs:subClassOf prov:Entity, dul:InformationObject .
105
+ apreg:RegistryMembershipPolicy rdfs:subClassOf dul:Description .
106
+ apdisc:TrustPolicy rdfs:subClassOf dul:Description .
@@ -0,0 +1,83 @@
1
+ # Mappings — substrate spine ↔ industry-standard crosswalks.
2
+ # Spec 225 §11.5; the substrate's external-standard bridge.
3
+ # Lets a downstream consumer reason that "an apint:Intent is an erc7521:UserIntent"
4
+ # without reading our spec text.
5
+
6
+ @prefix apint: <https://agenticprimitives.dev/ns/intent#> .
7
+ @prefix apcst: <https://agenticprimitives.dev/ns/constraint#> .
8
+ @prefix apres: <https://agenticprimitives.dev/ns/resolution#> .
9
+ @prefix apful: <https://agenticprimitives.dev/ns/fulfillment#> .
10
+ @prefix apagr: <https://agenticprimitives.dev/ns/agreement#> .
11
+ @prefix appay: <https://agenticprimitives.dev/ns/payment#> .
12
+ @prefix apatt: <https://agenticprimitives.dev/ns/attestation#> .
13
+ @prefix apvc: <https://agenticprimitives.dev/ns/credential#> .
14
+
15
+ @prefix erc7521: <https://eips.ethereum.org/EIPS/eip-7521#> .
16
+ @prefix erc7683: <https://www.erc7683.org/spec#> .
17
+ @prefix erc7710: <https://eips.ethereum.org/EIPS/eip-7710#> .
18
+ @prefix erc7715: <https://eips.ethereum.org/EIPS/eip-7715#> .
19
+ @prefix erc8004: <https://eips.ethereum.org/EIPS/eip-8004#> .
20
+ @prefix eas: <https://docs.attest.org/spec#> .
21
+ @prefix a2a: <https://google.github.io/A2A/specification#> .
22
+ @prefix anoma: <https://anoma.net/spec#> .
23
+ @prefix x402: <https://www.x402.org/spec#> .
24
+ @prefix ap2: <https://google.github.io/A2A/ap2#> .
25
+ @prefix vf: <https://w3id.org/valueflows#> .
26
+ @prefix ufo-c: <http://purl.org/nemo/ufo-c#> .
27
+ @prefix w3cvc: <https://www.w3.org/2018/credentials#> .
28
+ @prefix prov: <http://www.w3.org/ns/prov#> .
29
+
30
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
31
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
32
+
33
+ # ─── Intent crosswalks (Layer 2) ──────────────────────────────────────
34
+
35
+ apint:Intent owl:equivalentClass anoma:Intent ;
36
+ owl:equivalentClass erc7521:UserIntent ;
37
+ owl:equivalentClass erc7683:Order ;
38
+ rdfs:subClassOf vf:Intent , ufo-c:Intention .
39
+
40
+ # ─── Constraint + Assumption (Layer 3 — ERC-7683 resolver-assumption parallel) ──
41
+
42
+ apcst:AssumptionSet rdfs:subClassOf erc7683:ResolverAssumptionSet .
43
+ apcst:NamedAssumption rdfs:subClassOf erc7683:NamedAssumption .
44
+
45
+ # ─── Resolution (Layer 4) ─────────────────────────────────────────────
46
+
47
+ apres:Resolver rdfs:subClassOf erc7683:Resolver .
48
+ apres:ResolvedOrder rdfs:subClassOf erc7683:CanonicalOrder .
49
+
50
+ # ─── Agreement (Layer 8) ──────────────────────────────────────────────
51
+
52
+ apagr:AgreementCredential rdfs:subClassOf w3cvc:VerifiableCredential .
53
+
54
+ # ─── Payment (Layer 9b) ───────────────────────────────────────────────
55
+
56
+ appay:PaymentMandate rdfs:subClassOf ap2:Mandate ;
57
+ rdfs:subClassOf x402:PaymentRequirement .
58
+ appay:OpenPaymentMandate rdfs:subClassOf ap2:IntentMandate .
59
+ appay:ClosedPaymentMandate rdfs:subClassOf ap2:CheckoutMandate .
60
+ appay:PaymentReceipt rdfs:subClassOf w3cvc:VerifiableCredential .
61
+
62
+ # ─── Fulfillment crosswalks (Layers 10–12 — A2A alignment) ───────────
63
+
64
+ apful:Task owl:equivalentClass a2a:Task .
65
+ apful:Message owl:equivalentClass a2a:Message .
66
+ apful:Artifact owl:equivalentClass a2a:Artifact .
67
+ apful:HandoffPolicy rdfs:subClassOf a2a:HandoffPolicy .
68
+
69
+ # ─── Validation + reputation crosswalks (Layers 14–15; ERC-8004) ─────
70
+
71
+ apatt:Attestation rdfs:subClassOf eas:Attestation .
72
+ apatt:ValidationCredential owl:equivalentClass erc8004:ValidationRecord .
73
+ apatt:TrustUpdate owl:equivalentClass erc8004:ReputationRecord .
74
+ apatt:Validator rdfs:subClassOf erc8004:Validator .
75
+
76
+ # ─── Provenance crosswalks ────────────────────────────────────────────
77
+
78
+ apful:IntentTraceSpan rdfs:subClassOf prov:Activity .
79
+ apres:ResolutionReceipt rdfs:subClassOf prov:Entity .
80
+
81
+ # ─── VC envelope crosswalk ────────────────────────────────────────────
82
+
83
+ apvc:VerifiableCredential owl:equivalentClass w3cvc:VerifiableCredential .
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticprimitives/ontology",
3
- "version": "1.0.0-alpha.12",
3
+ "version": "1.0.0-alpha.14",
4
4
  "description": "Monorepo-wide formal vocabulary (RDFS/OWL T-box + SHACL/SKOS C-box + A-box fixtures) for agentic primitives. Off-chain source of truth the on-chain ontology (ADR-0009) instantiates. Ships TTL/JSON-LD artifacts + typed IRI constants.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -32,6 +32,7 @@
32
32
  "tbox",
33
33
  "cbox",
34
34
  "abox",
35
+ "mappings",
35
36
  "README.md"
36
37
  ],
37
38
  "publishConfig": {
@@ -49,9 +49,9 @@ apatt:ValidationCredential a owl:Class ;
49
49
  rdfs:comment "Validator's attestation of an Outcome. Validator-type discriminated (human | agent | oracle | TEE | zkML | re-execution per ERC-8004). Validator-only revoke. Layer 14." .
50
50
 
51
51
  apatt:Validator a owl:Class ;
52
- rdfs:subClassOf ap:Agent ;
52
+ rdfs:subClassOf ap:ServiceAgent ;
53
53
  rdfs:label "Validator" ;
54
- rdfs:comment "An Agent that produces ValidationCredentials. Independence requirement: validator SA ≠ executor SA." .
54
+ rdfs:comment "A service Agent that produces ValidationCredentials — a KIND OF SERVICE (⊑ ap:ServiceAgent). Independence requirement: validator SA ≠ executor SA." .
55
55
 
56
56
  apatt:ValidatorKind a owl:Class ;
57
57
  rdfs:label "ValidatorKind" ;
package/tbox/core.ttl CHANGED
@@ -25,12 +25,24 @@ ap:CanonicalAgentId a owl:Class ;
25
25
  rdfs:label "CanonicalAgentId" ;
26
26
  rdfs:comment "A branded CAIP-10 account identifier (eip155:* / hedera:* / solana:*). The SSO subject + directory key (ADR-0016). Validated by ap:CanonicalAgentIdShape." .
27
27
 
28
- # Agent-kind subclasses. agentKind is 3-valued (person/org/service; cbox); the
29
- # kind hierarchy is OWL. treasury is NOT an agentKind — it is a KIND OF SERVICE.
28
+ # Agent-kind subclasses. agentKind is 3-valued (person/org/service; cbox); the kind hierarchy is OWL and
29
+ # aligns to PROV-O (mappings/agent-discovery-standards.ttl): PersonAgent prov:Person, OrganizationAgent
30
+ # prov:Organization, ServiceAgent ⊑ prov:SoftwareAgent. validator + treasury are NOT agentKinds — they are
31
+ # KINDS OF SERVICE (⊑ ServiceAgent).
32
+ ap:PersonAgent a owl:Class ;
33
+ rdfs:subClassOf ap:Agent ;
34
+ rdfs:label "Person Agent" ;
35
+ rdfs:comment "An agent of kind 'person' (agentKind=person) — a natural person's Smart Agent." .
36
+
37
+ ap:OrganizationAgent a owl:Class ;
38
+ rdfs:subClassOf ap:Agent ;
39
+ rdfs:label "Organization Agent" ;
40
+ rdfs:comment "An agent of kind 'org' (agentKind=org) — an organization's Smart Agent, with members (aporg:memberOf; membership is informational, authority lives in custody/relationships). Grounded ⊑ prov:Organization (mappings)." .
41
+
30
42
  ap:ServiceAgent a owl:Class ;
31
43
  rdfs:subClassOf ap:Agent ;
32
- rdfs:label "ServiceAgent" ;
33
- rdfs:comment "An agent of kind 'service' (agentKind=service). Service profiles and treasuries are ServiceAgents." .
44
+ rdfs:label "Service Agent" ;
45
+ rdfs:comment "An agent of kind 'service' (agentKind=service). Service profiles, validators, and treasuries are Service Agents." .
34
46
 
35
47
  ap:Treasury a owl:Class ;
36
48
  rdfs:subClassOf ap:ServiceAgent ;
@@ -0,0 +1,149 @@
1
+ # T-box — discovery, trust determination, and graph query vocabulary.
2
+ # Domain-derived from Agent Explorer's discovery/descriptors/trust vocabulary
3
+ # and grounded in PROV-O + DOLCE+DnS/DUL.
4
+
5
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
6
+ @prefix apdisc: <https://agenticprimitives.dev/ns/discovery#> .
7
+ @prefix apreg: <https://agenticprimitives.dev/ns/registry#> .
8
+ @prefix apint: <https://agenticprimitives.dev/ns/intent#> .
9
+ @prefix apatt: <https://agenticprimitives.dev/ns/attestation#> .
10
+ @prefix aps: <https://agenticprimitives.dev/ns/skill#> .
11
+ @prefix apg: <https://agenticprimitives.dev/ns/geo#> .
12
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
13
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
14
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
15
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
16
+ @prefix prov: <http://www.w3.org/ns/prov#> .
17
+ @prefix dul: <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#> .
18
+ @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
19
+
20
+ apdisc: a owl:Ontology ;
21
+ rdfs:label "Agentic Primitives — discovery ontology" ;
22
+ owl:versionInfo "0.1.0" ;
23
+ rdfs:seeAlso <https://github.com/agentictrustlabs/agent-explorer/tree/main/apps/ontology/ontology> ;
24
+ rdfs:comment "Vocabulary for GraphDB-backed discovery queries, evidence paths, trust determinations, graph snapshots, and intent candidate matching." .
25
+
26
+ apdisc:CandidateQuery a owl:Class ;
27
+ rdfs:subClassOf prov:Activity, dul:InformationRealization ;
28
+ rdfs:label "CandidateQuery" ;
29
+ rdfs:comment "A versioned discovery query over the public A-box and inferred graphs." .
30
+
31
+ apdisc:MatchCandidate a owl:Class ;
32
+ rdfs:subClassOf prov:Entity, dul:InformationObject ;
33
+ rdfs:label "MatchCandidate" ;
34
+ rdfs:comment "A candidate agent returned for an intent or discovery query with evidence, score, and trust determination." .
35
+
36
+ apdisc:TrustDetermination a owl:Class ;
37
+ rdfs:subClassOf prov:Entity, dul:Diagnosis ;
38
+ rdfs:label "TrustDetermination" ;
39
+ rdfs:comment "An explainable determination over public evidence. It informs discovery and ranking but does not authorize action." .
40
+
41
+ apdisc:EvidencePath a owl:Class ;
42
+ rdfs:subClassOf prov:Entity, dul:InformationObject ;
43
+ rdfs:label "EvidencePath" ;
44
+ rdfs:comment "An ordered citation path showing why a candidate matched: card binding, registry entry, claims, validation, outcomes, and revocation checks." .
45
+
46
+ apdisc:GraphSnapshot a owl:Class ;
47
+ rdfs:subClassOf prov:Entity ;
48
+ rdfs:label "GraphSnapshot" ;
49
+ rdfs:comment "Identifier for the named graph versions and block ranges used by a query." .
50
+
51
+ apdisc:InferenceProfile a owl:Class ;
52
+ rdfs:subClassOf dul:Description ;
53
+ rdfs:label "InferenceProfile" ;
54
+ rdfs:comment "Versioned inference settings, e.g. RDFS, SKOS broader/narrower, SHACL validation reports, materialization policy." .
55
+
56
+ apdisc:TrustPolicy a owl:Class ;
57
+ rdfs:subClassOf dul:Description ;
58
+ rdfs:label "TrustPolicy" ;
59
+ rdfs:comment "A declarative policy describing which evidence classes, issuers, recency, validation, and registry status are required for a trust determination." .
60
+
61
+ apdisc:DiscoveryExplanation a owl:Class ;
62
+ rdfs:subClassOf prov:Entity, dul:InformationObject ;
63
+ rdfs:label "DiscoveryExplanation" ;
64
+ rdfs:comment "Human-readable and machine-readable explanation attached to a candidate or trust determination." .
65
+
66
+ apdisc:queryHash a owl:DatatypeProperty ;
67
+ rdfs:domain apdisc:CandidateQuery ;
68
+ rdfs:range xsd:string ;
69
+ rdfs:label "queryHash" .
70
+
71
+ apdisc:sparqlHash a owl:DatatypeProperty ;
72
+ rdfs:domain apdisc:CandidateQuery ;
73
+ rdfs:range xsd:string ;
74
+ rdfs:label "sparqlHash" .
75
+
76
+ apdisc:usesGraphSnapshot a owl:ObjectProperty ;
77
+ rdfs:domain apdisc:CandidateQuery ;
78
+ rdfs:range apdisc:GraphSnapshot ;
79
+ rdfs:label "usesGraphSnapshot" .
80
+
81
+ apdisc:usesInferenceProfile a owl:ObjectProperty ;
82
+ rdfs:domain apdisc:CandidateQuery ;
83
+ rdfs:range apdisc:InferenceProfile ;
84
+ rdfs:label "usesInferenceProfile" .
85
+
86
+ apdisc:forIntent a owl:ObjectProperty ;
87
+ rdfs:domain apdisc:CandidateQuery ;
88
+ rdfs:range apint:Intent ;
89
+ rdfs:label "forIntent" .
90
+
91
+ apdisc:candidateAgent a owl:ObjectProperty ;
92
+ rdfs:domain apdisc:MatchCandidate ;
93
+ rdfs:range ap:Agent ;
94
+ rdfs:label "candidateAgent" .
95
+
96
+ apdisc:candidateRegistryEntry a owl:ObjectProperty ;
97
+ rdfs:domain apdisc:MatchCandidate ;
98
+ rdfs:range apreg:RegistryEntry ;
99
+ rdfs:label "candidateRegistryEntry" .
100
+
101
+ apdisc:hasTrustDetermination a owl:ObjectProperty ;
102
+ rdfs:domain apdisc:MatchCandidate ;
103
+ rdfs:range apdisc:TrustDetermination ;
104
+ rdfs:label "hasTrustDetermination" .
105
+
106
+ apdisc:hasEvidencePath a owl:ObjectProperty ;
107
+ rdfs:range apdisc:EvidencePath ;
108
+ rdfs:label "hasEvidencePath" .
109
+
110
+ apdisc:citesEvidence a owl:ObjectProperty ;
111
+ rdfs:domain apdisc:EvidencePath ;
112
+ rdfs:range prov:Entity ;
113
+ rdfs:label "citesEvidence" .
114
+
115
+ apdisc:trustScore a owl:DatatypeProperty ;
116
+ rdfs:domain apdisc:TrustDetermination ;
117
+ rdfs:range xsd:decimal ;
118
+ rdfs:label "trustScore" ;
119
+ rdfs:comment "Normalized score used for ranking. It must cite evidence; score alone is not authority." .
120
+
121
+ apdisc:matchScore a owl:DatatypeProperty ;
122
+ rdfs:domain apdisc:MatchCandidate ;
123
+ rdfs:range xsd:decimal ;
124
+ rdfs:label "matchScore" .
125
+
126
+ apdisc:confidence a owl:DatatypeProperty ;
127
+ rdfs:domain apdisc:TrustDetermination ;
128
+ rdfs:range xsd:decimal ;
129
+ rdfs:label "confidence" .
130
+
131
+ apdisc:explanationText a owl:DatatypeProperty ;
132
+ rdfs:domain apdisc:DiscoveryExplanation ;
133
+ rdfs:range xsd:string ;
134
+ rdfs:label "explanationText" .
135
+
136
+ apdisc:validationReport a owl:ObjectProperty ;
137
+ rdfs:range prov:Entity ;
138
+ rdfs:label "validationReport" ;
139
+ rdfs:comment "Link to a SHACL validation report or equivalent graph validation result." .
140
+
141
+ apdisc:namedGraph a owl:DatatypeProperty ;
142
+ rdfs:domain apdisc:GraphSnapshot ;
143
+ rdfs:range xsd:string ;
144
+ rdfs:label "namedGraph" .
145
+
146
+ apdisc:inferenceProfileId a owl:DatatypeProperty ;
147
+ rdfs:domain apdisc:InferenceProfile ;
148
+ rdfs:range xsd:string ;
149
+ rdfs:label "inferenceProfileId" .
package/tbox/identity.ttl CHANGED
@@ -24,11 +24,6 @@ apid:OidcSubject a owl:Class ;
24
24
  rdfs:label "OidcSubject" ;
25
25
  rdfs:comment "An OIDC issuer+subject claim recorded as a login facet, not custody (ADR-0017). Keyed on (iss, sub), never email." .
26
26
 
27
- aporg:Org a owl:Class ;
28
- rdfs:subClassOf ap:Agent ;
29
- rdfs:label "Org" ;
30
- rdfs:comment "An organization Agent with members (membership is informational; authority lives in custody/relationships)." .
31
-
32
27
  # ─── Properties ───────────────────────────────────────────────────────
33
28
 
34
29
  apcr:controls a owl:ObjectProperty ;
@@ -51,4 +46,5 @@ apnam:resolvesTo a owl:ObjectProperty ;
51
46
  aporg:memberOf a owl:ObjectProperty ;
52
47
  rdfs:label "memberOf" ;
53
48
  rdfs:domain ap:Agent ;
54
- rdfs:range aporg:Org .
49
+ rdfs:range ap:OrganizationAgent ;
50
+ rdfs:comment "An Agent is a member of an Organization Agent. Membership is informational; authority lives in custody/relationships." .
@@ -0,0 +1,227 @@
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
+
6
+ @prefix ap: <https://agenticprimitives.dev/ns/core#> .
7
+ @prefix approf: <https://agenticprimitives.dev/ns/profile#> .
8
+ @prefix apreg: <https://agenticprimitives.dev/ns/registry#> .
9
+ @prefix apatt: <https://agenticprimitives.dev/ns/attestation#> .
10
+ @prefix aps: <https://agenticprimitives.dev/ns/skill#> .
11
+ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
12
+ @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
13
+ @prefix owl: <http://www.w3.org/2002/07/owl#> .
14
+ @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
15
+ @prefix prov: <http://www.w3.org/ns/prov#> .
16
+ @prefix dul: <http://www.ontologydesignpatterns.org/ont/dul/DUL.owl#> .
17
+ @prefix skos: <http://www.w3.org/2004/02/skos/core#> .
18
+
19
+ apreg: a owl:Ontology ;
20
+ rdfs:label "Agentic Primitives — registry kit ontology" ;
21
+ owl:versionInfo "0.1.0" ;
22
+ rdfs:seeAlso <https://github.com/agentictrustlabs/agent-explorer/tree/main/apps/ontology/ontology> ;
23
+ 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." .
24
+
25
+ # ─── Core registry classes ─────────────────────────────────────────────
26
+
27
+ apreg:RegistryKitProfile a owl:Class ;
28
+ rdfs:subClassOf dul:Description ;
29
+ rdfs:label "RegistryKitProfile" ;
30
+ rdfs:comment "A description of a kit-built registry: membership policy, claim slots, lifecycle rules, and validation hooks." .
31
+
32
+ apreg:RegistryEntry a owl:Class ;
33
+ rdfs:subClassOf prov:Entity, dul:InformationObject ;
34
+ rdfs:label "RegistryEntry" ;
35
+ 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." .
36
+
37
+ apreg:RegistryEntryBindingProof a owl:Class ;
38
+ rdfs:subClassOf prov:Entity, dul:InformationObject ;
39
+ rdfs:label "RegistryEntryBindingProof" ;
40
+ rdfs:comment "A Smart-Agent-signed proof binding registryId, entryId, subjectAgent, cardHash, and claimHashes." .
41
+
42
+ apreg:RegistryClaimSlot a owl:Class ;
43
+ rdfs:subClassOf dul:Description ;
44
+ rdfs:label "RegistryClaimSlot" ;
45
+ rdfs:comment "A typed claim requirement in a registry profile. Claim bodies live in attestations, agent-skills, geo-features, or app-level credential packages." .
46
+
47
+ apreg:RegistryLifecycleEvent a owl:Class ;
48
+ rdfs:subClassOf prov:Activity ;
49
+ rdfs:label "RegistryLifecycleEvent" ;
50
+ rdfs:comment "A register, renew, suspend, revoke, expire, or claim-update activity emitted by a registry contract and projected into the A-box." .
51
+
52
+ apreg:RegistryMembershipPolicy a owl:Class ;
53
+ rdfs:subClassOf dul:Description ;
54
+ rdfs:label "RegistryMembershipPolicy" ;
55
+ rdfs:comment "A generic AP-native policy description for registry membership. Vertical-specific membership logic lives outside Ring 0." .
56
+
57
+ apreg:ExternalRegistryFacet a owl:Class ;
58
+ rdfs:subClassOf ap:Facet, prov:Entity ;
59
+ rdfs:label "ExternalRegistryFacet" ;
60
+ 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." .
61
+
62
+ apreg:RegistryLifecycleStatus a owl:Class ;
63
+ rdfs:subClassOf skos:Concept ;
64
+ rdfs:label "RegistryLifecycleStatus" ;
65
+ rdfs:comment "Controlled vocabulary for active, suspended, revoked, expired, and pending registry entry states." .
66
+
67
+ # ─── Properties ────────────────────────────────────────────────────────
68
+
69
+ apreg:registryId a owl:DatatypeProperty ;
70
+ rdfs:domain apreg:RegistryEntry ;
71
+ rdfs:range xsd:string ;
72
+ rdfs:label "registryId" .
73
+
74
+ apreg:entryId a owl:DatatypeProperty ;
75
+ rdfs:domain apreg:RegistryEntry ;
76
+ rdfs:range xsd:string ;
77
+ rdfs:label "entryId" .
78
+
79
+ apreg:subjectAgent a owl:ObjectProperty ;
80
+ rdfs:domain apreg:RegistryEntry ;
81
+ rdfs:range ap:Agent ;
82
+ rdfs:label "subjectAgent" ;
83
+ rdfs:comment "The canonical Smart Agent that this registry entry points at." .
84
+
85
+ apreg:hasBindingProof a owl:ObjectProperty ;
86
+ rdfs:domain apreg:RegistryEntry ;
87
+ rdfs:range apreg:RegistryEntryBindingProof ;
88
+ rdfs:label "hasBindingProof" .
89
+
90
+ apreg:cardHash a owl:DatatypeProperty ;
91
+ rdfs:range xsd:string ;
92
+ rdfs:label "cardHash" ;
93
+ rdfs:comment "Canonical hash of the AP-native signed AgentCard bundle." .
94
+
95
+ apreg:claimHash a owl:DatatypeProperty ;
96
+ rdfs:range xsd:string ;
97
+ rdfs:label "claimHash" ;
98
+ rdfs:comment "Hash of a claim, credential, or attestation satisfying a registry claim slot." .
99
+
100
+ apreg:claimSlot a owl:ObjectProperty ;
101
+ rdfs:domain apreg:RegistryKitProfile ;
102
+ rdfs:range apreg:RegistryClaimSlot ;
103
+ rdfs:label "claimSlot" .
104
+
105
+ apreg:requiredClaimSlot a owl:ObjectProperty ;
106
+ rdfs:subPropertyOf apreg:claimSlot ;
107
+ rdfs:label "requiredClaimSlot" .
108
+
109
+ apreg:membershipPolicy a owl:ObjectProperty ;
110
+ rdfs:domain apreg:RegistryKitProfile ;
111
+ rdfs:range apreg:RegistryMembershipPolicy ;
112
+ rdfs:label "membershipPolicy" .
113
+
114
+ apreg:lifecycleStatus a owl:ObjectProperty ;
115
+ rdfs:domain apreg:RegistryEntry ;
116
+ rdfs:range apreg:RegistryLifecycleStatus ;
117
+ rdfs:label "lifecycleStatus" .
118
+
119
+ apreg:externalSurface a owl:DatatypeProperty ;
120
+ rdfs:domain apreg:ExternalRegistryFacet ;
121
+ rdfs:range xsd:string ;
122
+ rdfs:label "externalSurface" ;
123
+ rdfs:comment "The source surface, e.g. erc8004, hcs10, hcs11, ans, dns-aid, oasf, a2a, mcp-registry." .
124
+
125
+ apreg:externalIdentifier a owl:DatatypeProperty ;
126
+ rdfs:domain apreg:ExternalRegistryFacet ;
127
+ rdfs:range xsd:string ;
128
+ rdfs:label "externalIdentifier" .
129
+
130
+ apreg:projectionOf a owl:ObjectProperty ;
131
+ rdfs:domain apreg:ExternalRegistryFacet ;
132
+ rdfs:range apreg:RegistryEntry ;
133
+ rdfs:label "projectionOf" ;
134
+ rdfs:comment "Links an external registry projection to the AP-native registry entry or signed-card anchor it projects." .
135
+
136
+ apreg:blockNumber a owl:DatatypeProperty ;
137
+ rdfs:range xsd:nonNegativeInteger ;
138
+ rdfs:label "blockNumber" .
139
+
140
+ apreg:transactionHash a owl:DatatypeProperty ;
141
+ rdfs:range xsd:string ;
142
+ rdfs:label "transactionHash" .
143
+
144
+ apreg:logIndex a owl:DatatypeProperty ;
145
+ rdfs:range xsd:nonNegativeInteger ;
146
+ rdfs:label "logIndex" .
147
+
148
+ # ─── Signed card + binding-proof projection (spec 279 §3.2/§3.3) ──────
149
+
150
+ apreg:SignedAgentCard a owl:Class ;
151
+ rdfs:subClassOf prov:Entity, dul:InformationObject ;
152
+ rdfs:label "SignedAgentCard" ;
153
+ 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." .
154
+
155
+ apreg:cardSubject a owl:ObjectProperty ;
156
+ rdfs:domain apreg:SignedAgentCard ;
157
+ rdfs:range ap:Agent ;
158
+ rdfs:label "cardSubject" ;
159
+ rdfs:comment "The canonical Smart Agent the signed card describes (signer = verifyingContract = subject in V1)." .
160
+
161
+ apreg:verifyingContract a owl:ObjectProperty ;
162
+ rdfs:domain apreg:SignedAgentCard ;
163
+ rdfs:range ap:Agent ;
164
+ rdfs:label "verifyingContract" ;
165
+ rdfs:comment "The ERC-1271 contract whose signature validates the card (the subject Smart Agent in V1)." .
166
+
167
+ apreg:cardChainId a owl:DatatypeProperty ;
168
+ rdfs:domain apreg:SignedAgentCard ;
169
+ rdfs:range xsd:nonNegativeInteger ;
170
+ rdfs:label "cardChainId" ;
171
+ rdfs:comment "Chain the card signature is bound to (anti cross-chain replay)." .
172
+
173
+ apreg:describesCard a owl:ObjectProperty ;
174
+ rdfs:domain apreg:RegistryEntry ;
175
+ rdfs:range apreg:SignedAgentCard ;
176
+ rdfs:label "describesCard" ;
177
+ rdfs:comment "Links a registry entry to the signed card its cardHash references." .
178
+
179
+ apreg:bindingProofHash a owl:DatatypeProperty ;
180
+ rdfs:domain apreg:RegistryEntry ;
181
+ rdfs:range xsd:string ;
182
+ rdfs:label "bindingProofHash" ;
183
+ rdfs:comment "sha256 of the off-chain RegistryEntryBindingProof this entry references (verified off-chain via the subject SA's ERC-1271)." .
184
+
185
+ apreg:proofHash a owl:DatatypeProperty ;
186
+ rdfs:domain apreg:RegistryEntryBindingProof ;
187
+ rdfs:range xsd:string ;
188
+ rdfs:label "proofHash" ;
189
+ rdfs:comment "sha256 over the canonical binding-proof body the subject Smart Agent signed." .
190
+
191
+ apreg:claimSlotId a owl:DatatypeProperty ;
192
+ rdfs:range xsd:string ;
193
+ rdfs:label "claimSlotId" ;
194
+ rdfs:comment "Identifier of the claim slot a claim hash fills (from the RegistryClaimUpdated event)." .
195
+
196
+ apreg:issuedAt a owl:DatatypeProperty ;
197
+ rdfs:range xsd:dateTime ;
198
+ rdfs:label "issuedAt" .
199
+
200
+ apreg:expiresAt a owl:DatatypeProperty ;
201
+ rdfs:domain apreg:RegistryEntry ;
202
+ rdfs:range xsd:dateTime ;
203
+ rdfs:label "expiresAt" ;
204
+ rdfs:comment "Entry expiry; absent (0 on-chain) = non-expiring. A past expiresAt projects to the apreg:expired liveness status." .
205
+
206
+ apreg:reasonHash a owl:DatatypeProperty ;
207
+ rdfs:domain apreg:RegistryLifecycleEvent ;
208
+ rdfs:range xsd:string ;
209
+ rdfs:label "reasonHash" ;
210
+ rdfs:comment "keccak of the off-chain reason string for a suspend / revoke lifecycle event." .
211
+
212
+ # ─── Lifecycle status codelist seeds ──────────────────────────────────
213
+
214
+ apreg:active a apreg:RegistryLifecycleStatus ;
215
+ skos:prefLabel "active" .
216
+
217
+ apreg:suspended a apreg:RegistryLifecycleStatus ;
218
+ skos:prefLabel "suspended" .
219
+
220
+ apreg:revoked a apreg:RegistryLifecycleStatus ;
221
+ skos:prefLabel "revoked" .
222
+
223
+ apreg:expired a apreg:RegistryLifecycleStatus ;
224
+ skos:prefLabel "expired" .
225
+
226
+ apreg:pending a apreg:RegistryLifecycleStatus ;
227
+ skos:prefLabel "pending" .
@@ -19,9 +19,9 @@ apres: a owl:Ontology ;
19
19
  # ─── Resolver classes ─────────────────────────────────────────────────
20
20
 
21
21
  apres:Resolver a owl:Class ;
22
- rdfs:subClassOf ap:Agent ;
22
+ rdfs:subClassOf ap:ServiceAgent ;
23
23
  rdfs:label "Resolver" ;
24
- rdfs:comment "An Agent that performs Intent resolution — translates opaque expressed Intent → ResolvedOrder. ERC-7683 Resolver-contract parallel." .
24
+ rdfs:comment "A Service Agent that performs Intent resolution — translates opaque expressed Intent → ResolvedOrder. ERC-7683 Resolver-contract parallel." .
25
25
 
26
26
  apres:ResolvedOrder a owl:Class ;
27
27
  rdfs:subClassOf prov:Entity ;