Carries the third-generation-interop pattern shipped at
jouleclaw/vocab/v1 across every TX Science open standard. Every
sister standard now has a stable IRI for every wire field of
every major data type, plus a Turtle ontology covering classes,
enumerations, and properties.
What ships, per standard:
arl/vocab/ Claim, Session, Evaluation, Attestation;
the four axes (Validation Depth 1–9,
Convergence A–E, EnergyProfile, S0–S4);
ARL-S isolation tiers 0–3.
openpay/vocab/ Money, Currency, PaymentMethod, Receipt,
Refund, Dispute; the five rails (FedNow / PIX
/ SEPA Instant / USDC / USDT); the four card
schemes; the seven lifecycle states.
smart-byte/vocab/ Byte, Envelope, Issuer, Holder, KERI AID,
LockstepEvent; the cargo-class taxonomy
(Value / Coding / Identity / Telemetry /
Custom) and the shared HwShunt / ModelBased /
Estimator energy-provenance enum.
eoc/vocab/ Query, Resolution, EOC Receipt, the four
cascade stages (Cache / KeyValue / Graph /
Neural), CarbonRecord, VendorAPI binding.
wai/vocab/ Manifest, Capability, Codec; the two paths
(NeuralPath shared-prior + ZerothPath
registered codec menu); the six modalities;
the nine codecs in the v1 menu.
joule-code/vocab/ README.md complements the LEXICON.md / v1.jsonld
/ v1.ttl already shipped in b838b86.
Every JSON-LD `@context` pairs with a Turtle ontology. Every
ontology subclasses W3C PROV-O where the alignment is exact
(prov:Activity for sessions / resolutions / lockstep events,
prov:Entity for source trees, prov:Agent for issuers / agents).
Pattern is identical to jouleclaw/vocab/v1 so a downstream
consumer that already loads one vocabulary picks up the others
with no new code: same namespace shape, same JSON-LD context
binding, same Turtle conventions.
Standards documents stay unchanged on the wire: vocabularies are
optional additions, not modifications. A receipt or claim that
doesn't carry `@context` deserialises exactly as before; one that
does gains typed RDF semantics for free.
Licences match each standard's spec text — CC-BY-4.0 for ARL,
Smart Byte, EOC, joule-code; Apache-2.0 for OpenPay, WAI.
Deploy follow-up: extending the Caddyfile @-blocks of arl /
openpay / byte / eoc / wai / joulecode sites to serve `.jsonld`
files as `application/ld+json` is a separate small change. Until
then the vocab is reachable via the GitHub raw URL.
66 lines
2.8 KiB
Text
66 lines
2.8 KiB
Text
{
|
|
"@context": {
|
|
"@version": 1.1,
|
|
"op": "https://openpay.transaction.science/vocab/v1#",
|
|
"xsd": "http://www.w3.org/2001/XMLSchema#",
|
|
"prov": "http://www.w3.org/ns/prov#",
|
|
|
|
"Money": "op:Money",
|
|
"Currency": "op:Currency",
|
|
"PaymentMethod": "op:PaymentMethod",
|
|
"Receipt": "op:Receipt",
|
|
"Refund": "op:Refund",
|
|
"Dispute": "op:Dispute",
|
|
"Rail": "op:Rail",
|
|
"Driver": "op:Driver",
|
|
"Settlement": "op:Settlement",
|
|
"Idempotency": "op:Idempotency",
|
|
"Authorization": "op:Authorization",
|
|
"Capture": "op:Capture",
|
|
"Void": "op:Void",
|
|
|
|
"amount_minor_units": { "@id": "op:amountMinorUnits", "@type": "xsd:integer" },
|
|
"currency": { "@id": "op:currency", "@type": "@vocab" },
|
|
"method": { "@id": "op:method", "@type": "@vocab" },
|
|
"rail": { "@id": "op:rail", "@type": "@vocab" },
|
|
"driver_id": { "@id": "op:driverId", "@type": "xsd:string" },
|
|
"idempotency_key": { "@id": "op:idempotencyKey", "@type": "xsd:string" },
|
|
"captured_at": { "@id": "op:capturedAt", "@type": "xsd:dateTime" },
|
|
"authorized_at": { "@id": "op:authorizedAt", "@type": "xsd:dateTime" },
|
|
"settled_at": { "@id": "op:settledAt", "@type": "xsd:dateTime" },
|
|
"refunded_at": { "@id": "op:refundedAt", "@type": "xsd:dateTime" },
|
|
"merchant_id": { "@id": "op:merchantId", "@type": "xsd:string" },
|
|
"customer_id": { "@id": "op:customerId", "@type": "xsd:string" },
|
|
"vault_ref": { "@id": "op:vaultRef", "@type": "xsd:string" },
|
|
"wallet_ref": { "@id": "op:walletRef", "@type": "xsd:string" },
|
|
"scheme": { "@id": "op:scheme", "@type": "@vocab" },
|
|
"status": { "@id": "op:status", "@type": "@vocab" },
|
|
"iso20022_doc": { "@id": "op:iso20022Doc", "@type": "xsd:string" },
|
|
"fraud_score": { "@id": "op:fraudScore", "@type": "xsd:double" },
|
|
|
|
"Card": "op:Card",
|
|
"A2A": "op:A2A",
|
|
"Stablecoin": "op:Stablecoin",
|
|
"Wallet": "op:Wallet",
|
|
"EMV": "op:EMV",
|
|
|
|
"FedNow": "op:FedNow",
|
|
"PIX": "op:PIX",
|
|
"SEPAInstant": "op:SEPAInstant",
|
|
"USDC": "op:USDC",
|
|
"USDT": "op:USDT",
|
|
|
|
"Visa": "op:Visa",
|
|
"Mastercard": "op:Mastercard",
|
|
"Amex": "op:Amex",
|
|
"Discover": "op:Discover",
|
|
|
|
"Authorized": "op:Authorized",
|
|
"Captured": "op:Captured",
|
|
"Settled": "op:Settled",
|
|
"Refunded": "op:Refunded",
|
|
"Voided": "op:Voided",
|
|
"Disputed": "op:Disputed",
|
|
"Failed": "op:Failed"
|
|
}
|
|
}
|