Cardano Transaction Vocabulary (Phase A)
type: Ontology
description: Class and property declarations for Conway-tx RDF emission. Extends the cardano: namespace defined in cardano.ontology.ttl. Phase A: declarations only; SKOS LeafType ConceptScheme and OWL 2 RL reasoning axioms ship in later commits on the same PR.
version info: 0.1.0-phaseA
imports: cardano

Transaction
type: Class
description: A Cardano transaction in the Conway era: inputs, outputs, fee, validity interval, certificates, withdrawals, governance proposals, mint, witness set.

Input
type: Class
description: A spent UTxO reference; resolves to an Output from the resolved UTxO context.

Output
type: Class
description: A UTxO produced by a transaction: address, value, optional datum and reference script.

Address
type: Class
description: A Cardano address decomposed into its payment credential, optional stake credential, and bech32 form.

Credential
type: Class
description: Abstract credential carried by an address; subclasses distinguish payment vs stake.

PaymentCredential
type: Class
subclass of: Credential
description: The payment credential of an address (key or script hash).

StakeCredential
type: Class
subclass of: Credential
description: The stake credential of an address (key or script hash); absent for enterprise addresses.

Identifier
type: Class
description: A hashed leaf carrying its role-class type and canonical hex bytes; the OWL key (leafType, bytesHex) declared in Phase B unifies identifiers across leaves.
has key: leafType
has key: bytesHex

Entity
type: Class
description: An operator-declared on-chain identity; bound to one or more Identifier instances via cardano:hasIdentifier.

Asset
type: Class
description: A Cardano native asset: policy + asset name.

Datum
type: Class
description: A datum attached to a script-locked output, by hash or inline.

AuxiliaryData
type: Class
description: Auxiliary transaction data carried in the fourth Conway transaction tuple slot, including metadata and auxiliary scripts. Emitted as an opaque raw-CBOR leaf until a typed auxiliary-data vocabulary is introduced.

Redeemer
type: Class
description: The redeemer fed into a Plutus script during transaction validation.

Script
type: Class
description: A script witness — Plutus V1/V2/V3 or native — identified by its hash.
description: An on-chain script — a program that runs at transaction-validation time to authorize spending of script-locked outputs, minting under a policy, or evaluation of a staking-credential / DRep / committee role. Discriminated by language subclass (PlutusScript / NativeScript).

hasInput
type: Property
description: Relates a transaction to one of its consumed UTxO inputs.

hasOutput
type: Property
description: Relates a transaction to one of its produced UTxO outputs.

hasFee
type: Property
description: The fee paid by a transaction, in lovelace.

hasCurrentTreasuryValue
type: Property
domain: Transaction
range: integer
description: The optional Conway transaction body field 21 current_treasury_value, in lovelace.

hasDonation
type: Property
domain: Transaction
range: integer
description: The optional Conway transaction body field 22 treasury donation, in lovelace.

isValid
type: Property
domain: Transaction
range: boolean
description: The Conway transaction validation flag from isValidTxL. True means phase-2 scripts are expected to validate; false marks scripts-failed/collateral-paid transactions.

hasAuxiliaryData
type: Property
domain: Transaction
range: AuxiliaryData
description: Relates a transaction to its auxiliary data body when the fourth Conway transaction tuple slot is non-null. The target currently carries cardano:hasRawBytes with canonical auxiliary-data CBOR.

hasValidityInterval
type: Property
description: The validity interval (invalidBefore, invalidHereafter) bounding when the transaction may be included on chain.

hasCertificate
type: Property
description: A certificate carried by the transaction (stake registration, delegation, pool operations, governance certificates).

hasWithdrawal
type: Property
domain: Class
  union of: Transaction
  union of: TreasuryWithdrawals
range: Withdrawal
description: A reward-account withdrawal carried by the transaction body or by a TreasuryWithdrawals governance action.

hasProposal
type: Property
description: A Conway governance proposal submitted by the transaction.

hasMint
type: Property
description: A native-asset mint or burn entry attached to the transaction.

hasCollateralInput
type: Property
description: A collateral input pledged by the transaction in case of Plutus script failure.

hasReferenceInput
type: Property
description: A reference input observed but not spent by the transaction.

hasWitnessSet
type: Property
description: The witness set bundled with the transaction (keys, scripts, datums, redeemers).

atAddress
type: Property
description: The address at which an output sits.

hasPaymentCredential
type: Property
description: The payment credential decomposed out of an address.

hasStakeCredential
type: Property
description: The stake credential decomposed out of an address (absent for enterprise addresses).

bytesHex
type: Property
description: The canonical hex-encoded bytes of a hashed leaf.

leafType
type: Property
description: The role-class type of a hashed leaf (e.g. payment-key-hash, script-hash, pool-id, drep-id).

hasIdentifier
type: Property
description: Binds an operator-declared Entity to one of its on-chain Identifier instances.

bech32
type: Property
description: The bech32 string form of an address or hashed identifier.

network
type: Property
range: integer
description: The network discriminator (0 = testnet, 1 = mainnet) for a network-bearing address or account subject.

hasPolicy
type: Property
description: The minting policy script hash governing a native asset.

hasAssetName
type: Property
description: The asset-name byte string distinguishing assets under a common minting policy.

hasDatum
type: Property
description: Relates an output to its attached datum (by hash or inline).

hasReferenceScript
type: Property
description: Relates an output to a reference script attached to it.

hasRawBytes
type: Property
description: The raw CBOR/bytes payload of a datum, redeemer, or script.

decodedAs
type: Property
description: The decoded structured form of a datum or redeemer, when available.

decodeError
type: DatatypeProperty
range: string
description: Human-readable error message attached to a subject whose CBOR payload was present but failed CIP-57 blueprint typed-decoding (malformed bytes, wrong shape, missing schema, or unresolved $ref). Emitted alongside the opaque-bytes fallback (cardano:hasRawBytes) so a SPARQL view can detect decode failures without parsing emitter logs. Domain intentionally left open: any subject that could carry an opaque-bytes payload (Datum, Redeemer, Script, OpaqueLeaf, …) may also carry a decodeError when blueprint decoding fails — mirrors the permissive shape of cardano:hasRawBytes.

hasHash
type: Property
description: The hash of a datum, redeemer, script, or other hashable artifact.

hasVersion
type: Property
description: The Plutus language version of a script (V1, V2, V3) or analogous version tag.

resolvedTo
type: Property
description: Relates a transaction input to the Output it resolves to under the resolved UTxO context.
inverse of: hasResolution

hasResolution
type: Property
description: The inverse direction of cardano:resolvedTo: relates an Output to the Input that consumes it. Declared in Phase A so the Phase B owl:inverseOf axiom can reference a published term.

Cardano Leaf Type
type: ConceptScheme
description: Role classes for typed-leaf identifiers (credentials, script hashes, pool IDs, policy IDs, asset classes). Each member is both a SKOS concept (taxonomy) and an OWL/RDFS class (so `_:leaf a cardano:PaymentScript` is a valid role-class typing of an Identifier instance).

Payment Key
type: Concept
type: Class
in scheme: Cardano Leaf Type
label: PaymentKey
description: Hashed Ed25519 public key authorising spending at an address.
related: Payment Script

Payment Script
type: Concept
type: Class
in scheme: Cardano Leaf Type
label: PaymentScript
description: Plutus or native-script hash governing spending at an address.

Stake Key
type: Concept
type: Class
in scheme: Cardano Leaf Type
label: StakeKey
description: Hashed Ed25519 public key holding stake delegation rights.
related: Stake Script

Stake Script
type: Concept
type: Class
in scheme: Cardano Leaf Type
label: StakeScript
description: Script hash holding stake delegation rights (script-based reward accounts).

DRep Key
type: Concept
type: Class
in scheme: Cardano Leaf Type
label: DRepKey
description: Hashed Ed25519 public key registered as a delegated representative under Conway-era governance.
related: DRep Script

DRep Script
type: Concept
type: Class
in scheme: Cardano Leaf Type
label: DRepScript
description: Script hash registered as a delegated representative (multi-sig or contract DRep).

Pool ID
type: Concept
type: Class
in scheme: Cardano Leaf Type
label: PoolId
description: VRF hash identifying a stake pool.

Minting Policy
type: Concept
type: Class
in scheme: Cardano Leaf Type
label: Policy
description: Hashed minting policy script governing a native asset.

Asset Class
type: Concept
type: Class
in scheme: Cardano Leaf Type
label: AssetClass
description: Composite identifier (policy + asset name) for a native asset.

fromTxOutRef
type: Property
domain: Input
range: Literal
description: The TxIn reference '<txid>#<ix>' for a spending or reference or collateral input.

txOutRef
type: Property
domain: Input
range: string
description: Canonical flat '<txid>#<ix>' join key for a spending, reference, or collateral input, using 64 lowercase transaction-id hex characters and an unpadded zero-based decimal output index.

lovelace
type: Property
range: integer
description: An ADA-denominated value, in lovelace (1 ADA = 1_000_000 lovelace). Used on Output, Withdrawal, and any value-bearing subject.

quantity
type: Property
range: integer
description: A signed integer quantity (negative values denote burns in a mint context).

mintsAsset
type: Property
domain: Mint
description: Binds a mint entry to the (policy, asset-name) pair it touches.

hasAssetValue
type: Property
domain: Output
description: Binds an Output (or any value-bearing subject) to its multi-asset value list head (an rdf:List of asset-quantity entries). Distinct from cardano:mintsAsset which is mint-context-scoped.

withdrawalAccount
type: Property
domain: Withdrawal
description: Binds a withdrawal to its reward-account identifier (a stake credential).

networkId
type: Property
domain: Transaction
range: integer
description: The network id (0 = testnet, 1 = mainnet) declared on the transaction body when present.

scriptDataHash
type: Property
domain: Transaction
description: The script-data hash declared on the transaction body when any Plutus scripts are exercised.

auxiliaryDataHash
type: Property
domain: Transaction
description: The auxiliary-data hash declared on the transaction body when metadata or auxiliary data is attached.

intervalStart
type: Property
range: integer
description: The inclusive lower slot bound of a validity interval (Conway 'validityIntervalStart').

intervalEnd
type: Property
range: integer
description: The exclusive upper slot bound of a validity interval (Conway 'invalidHereafter' / TTL).

Voter
type: Class
description: A governance voter — a DRep, a stake pool, or a constitutional-committee member casting verdicts on governance actions. Discriminated by role subclass (VoterDRep / VoterStakePool / VoterCommitteeCold).

Certificate
type: Class
description: An on-chain certificate carried by a transaction body — stake key registration / deregistration, stake delegation, vote delegation, pool registration / retirement, DRep registration / unregistration / update, committee key resignation, committee hot-key authorization, etc. Discriminated by subclass.

DRep
type: Class
description: A Delegated Representative (CIP-1694). The on-chain identity an ada-holder may delegate voting power to in Conway-era governance.

Mint
type: Class
description: A single mint entry — one (policy, asset name, signed quantity) triple inside a transaction's mint field. Negative quantities denote burns.

NativeScript
type: Class
subclass of: Script
description: A native Cardano multi-sig / timelock script. Native scripts are emitted as recursive trees of ScriptPubkey, ScriptAll, ScriptAny, ScriptNofK, InvalidBefore, and InvalidHereafter nodes.

ScriptPubkey
type: Class
subclass of: NativeScript
description: A native-script leaf requiring a payment-key signature. Carries cardano:requiresSigner to the signer Identifier.

ScriptAll
type: Class
subclass of: NativeScript
description: A native-script internal node requiring every child script to validate. Children are linked with cardano:hasChild.

ScriptAny
type: Class
subclass of: NativeScript
description: A native-script internal node requiring at least one child script to validate. Children are linked with cardano:hasChild.

ScriptNofK
type: Class
subclass of: NativeScript
description: A native-script threshold node requiring cardano:requiredCount of its child scripts to validate.

InvalidBefore
type: Class
subclass of: NativeScript
description: A native-script timelock leaf corresponding to invalid_before. Carries cardano:hasSlot with the lower slot bound.

InvalidHereafter
type: Class
subclass of: NativeScript
description: A native-script timelock leaf corresponding to invalid_hereafter. Carries cardano:hasSlot with the upper slot bound.

OpaqueLeaf
type: Class
description: A Conway-era field whose canonical RDF shape has not yet been designed. Carries cardano:leafType (the Conway constructor name) + cardano:hasRawBytes (CBOR-encoded body) so the operator can read the field even before it gets a proper modelling. Used as the fallback in exhaustive Conway pattern-matching so the emitter never crashes on novel constructors.

Proposal
type: Class
description: A Conway governance proposal procedure submitted by a transaction. Carries the proposal deposit, return reward-account, anchor metadata, and a per-variant governance action payload.

GovAction
type: Class
description: A Conway governance action carried by a Proposal. Specific subclasses describe the typed payload for each governance-action constructor.

TreasuryWithdrawals
type: Class
subclass of: GovAction
description: A Conway governance action withdrawing lovelace from the treasury to one or more reward accounts, optionally guarded by a policy script hash.

ParameterChange
type: Class
subclass of: GovAction
description: A Conway governance action changing protocol parameters, with an optional prior action and optional guard policy.

ProtocolParamUpdate
type: Class
description: The typed protocol-parameter update payload carried by a ParameterChange governance action.

UpdateCommittee
type: Class
subclass of: GovAction
description: A Conway governance action updating the constitutional committee membership and quorum.

CommitteeAddition
type: Class
description: A committee member addition paired with the term-limit epoch for the added cold credential.

NewConstitution
type: Class
subclass of: GovAction
description: A Conway governance action adopting a new constitution document and optional guardrail script.

Constitution
type: Class
description: A proposed constitution payload: anchor metadata plus an optional guardrail script hash.

HardForkInitiation
type: Class
subclass of: GovAction
description: A Conway governance action initiating a hard fork to a target protocol version.

ProtocolVersion
type: Class
description: A Cardano protocol version decomposed into major and minor version numbers.

PoolVotingThresholds
type: Class
description: Pool voting thresholds inside a typed protocol-parameter update.

DRepVotingThresholds
type: Class
description: DRep voting thresholds inside a typed protocol-parameter update.

ExUnitPrices
type: Class
description: Protocol-parameter prices for execution memory and CPU steps.

Anchor
type: Class
description: An off-chain pointer to governance metadata, decomposed into a URL and content hash.

PlutusScript
type: Class
subclass of: Script
description: A reference script whose language is a Plutus version (V1, V2, V3, …). Carries cardano:hasVersion in addition to the hash + raw bytes.

Pool
type: Class
description: A stake pool — the on-chain identity an ada-holder may delegate stake to for block production rewards.

StakeDelegation
type: Class
subclass of: Certificate
description: A certificate delegating a stake credential's voting / reward share to a stake pool. Carries cardano:onCredential (the delegator stake credential) + cardano:toPool (the target pool).

TxOutRef
type: Class
description: A reference to a specific output of a previously-submitted transaction — the tuple of a transaction id and an output index. Used everywhere an Input names what it spends, references, or holds as collateral. Decomposed into cardano:hasTxId (an Identifier node) + cardano:hasIndex (a non-negative integer).

Governance Action ID
type: Class
type: Concept
in scheme: Cardano Leaf Type
label: Governance action identifier
comment: Identifier for a governance action: (txid, index) tuple identifying the proposing transaction and the proposal's position within that transaction.

Vote
type: Class
description: A single voting-procedure entry: one voter casting one verdict on one governance action. Carries cardano:hasVoter, cardano:hasVotingAction, cardano:hasVerdict, and optional cardano:hasAnchor for justifying metadata.

VoteDelegation
type: Class
subclass of: Certificate
description: A certificate delegating a stake credential's voting power to a DRep (or to one of the pre-defined voting targets: always-abstain, always-no-confidence). Carries cardano:onCredential + cardano:toDRep.

VoterDRep
type: Class
subclass of: Voter
description: A voter acting in the DRep role. The voter's identity is a DRep credential (key or script).

VoterStakePool
type: Class
subclass of: Voter
description: A voter acting in the stake-pool role. The voter's identity is a stake-pool cold key hash.

VoterCommitteeCold
type: Class
subclass of: Voter
description: A voter acting in the constitutional-committee role. The voter's identity is the committee cold key hash.

Withdrawal
type: Class
description: A single withdrawal entry — taking accumulated rewards out of a reward account or naming a treasury withdrawal recipient. Body-level withdrawals carry cardano:withdrawalAccount + cardano:lovelace; TreasuryWithdrawals actions carry cardano:toRewardAccount + cardano:hasLovelace.

hasRequiredSigner
type: Property
domain: Transaction
range: Identifier
description: Binds a transaction to a payment-key Identifier whose signature the script-validation phase requires. One triple per entry in the body's required-signers Set. Object is an Identifier node (sharing identity with any other position naming the same key) — never a literal.

hasChild
type: Property
domain: Class
  union of: ScriptAll
  union of: ScriptAny
  union of: ScriptNofK
range: NativeScript
description: Binds a composite native-script node to one child native-script node. Child bnodes are derived from the parent bnode and one-based child position.

requiresSigner
type: Property
domain: ScriptPubkey
range: Identifier
description: Binds a ScriptPubkey native-script leaf to the payment-key Identifier whose witness is required.

requiredCount
type: Property
domain: ScriptNofK
range: integer
description: The threshold count for a ScriptNofK native-script node.

hasSlot
type: Property
domain: Class
  union of: InvalidBefore
  union of: InvalidHereafter
range: integer
description: The slot number carried by a native-script timelock leaf.

totalCollateral
type: Property
domain: Transaction
range: integer
description: The total collateral declared on a Plutus-bearing transaction body, in lovelace. The ledger seizes this amount if the script-validation phase fails. Elided when no Plutus scripts are exercised.

hasCollateralReturn
type: Property
domain: Transaction
range: Output
description: Binds a transaction to the output where unspent collateral returns when script-validation succeeds (collateral minus totalCollateral).

hasTxId
type: Property
domain: Class
  union of: TxOutRef
  union of: Governance Action ID
range: Identifier
description: Binds a TxOutRef or GovActionId to its transaction-id Identifier (a 32-byte hash carried via cardano:bytesHex).

hasIndex
type: Property
domain: Class
  union of: TxOutRef
  union of: Governance Action ID
range: integer
description: The zero-based output index inside a TxOutRef, or proposal index inside a GovActionId.

hasAsset
type: Property
description: Binds a value-bearing subject to a single asset entry — one cardano:Asset node carrying a (policy, asset name) pair plus its quantity. Used in mint clusters and resolved multi-asset values.

hasDeposit
type: Property
domain: Proposal
range: integer
description: The deposit locked by a Conway governance proposal procedure, in lovelace. Emitted on the proposal subject alongside the raw-bytes fallback datum view.

hasReturnAddress
type: Property
domain: Proposal
range: Identifier
description: Binds a governance proposal to the reward-account credential that receives the returned deposit. Object is the same Identifier node scheme used for withdrawal reward accounts.

hasGovAction
type: Property
domain: Proposal
range: GovAction
description: Binds a Proposal to its typed Conway governance-action payload. The raw CBOR fallback remains available through cardano:hasDatum on the same proposal subject.

toRewardAccount
type: Property
domain: Withdrawal
range: Identifier
description: Binds a treasury-withdrawal recipient entry to the reward-account stake credential receiving lovelace.

hasLovelace
type: Property
domain: Withdrawal
range: integer
description: The lovelace amount carried by a treasury-withdrawal recipient entry.

hasGuardPolicy
type: Property
domain: TreasuryWithdrawals
range: Identifier
description: Optional policy script hash that guards a TreasuryWithdrawals governance action.

hasPriorAction
type: Property
range: Governance Action ID
description: Binds a governance action to the prior action it follows, when the ledger constructor carries one.

hasProtocolParamUpdate
type: Property
domain: ParameterChange
range: ProtocolParamUpdate
description: Binds a ParameterChange governance action to its protocol-parameter update payload.

hasMinFeeA
type: Property
comment: Per-byte component of the Conway transaction fee (`a` in `fee = a * size + b`).

hasMinFeeB
type: Property
comment: Constant component of the Conway transaction fee (`b` in `fee = a * size + b`).

hasMaxBlockBodySize
type: Property
comment: Protocol-parameter bound on the maximum block body size in bytes.

hasMaxTxSize
type: Property
comment: Protocol-parameter bound on the maximum transaction size in bytes.

hasMaxBlockHeaderSize
type: Property
comment: Protocol-parameter bound on the maximum block header size in bytes.

hasKeyDeposit
type: Property
comment: Lovelace deposit a stake credential must lock at registration time.

hasPoolDeposit
type: Property
comment: Lovelace deposit a stake pool must lock at registration time.

hasMaxEpoch
type: Property
comment: Maximum number of epochs into the future a pool retirement can be scheduled.

hasNOpt
type: Property
comment: Desired number of stake pools targeted by the saturation curve (`k` in stake-pool reward math).

hasPoolPledgeInfluence
type: Property
comment: Influence factor of pool pledge on rewards (`a0`).

hasExpansionRate
type: Property
comment: Per-epoch monetary expansion rate (`rho`).

hasTreasuryGrowthRate
type: Property
comment: Per-epoch fraction of expansion sent to the treasury (`tau`).

hasMinPoolCost
type: Property
comment: Minimum declared fixed cost a pool may set in its parameters.

hasAdaPerUtxoByte
type: Property
comment: Lovelace charged per byte of UTxO storage (Conway-era replacement for `minUTxOValue`).

hasCostModels
type: Property
comment: Plutus cost model table (one entry per supported Plutus language version).

hasExecutionCosts
type: Property
comment: Per-unit prices for Plutus execution budgets (memory + steps).

hasMaxTxExUnits
type: Property
comment: Maximum Plutus execution budget allowed for a single transaction.

hasMaxBlockExUnits
type: Property
comment: Maximum aggregate Plutus execution budget allowed for a single block.

hasMaxValueSize
type: Property
comment: Protocol-parameter bound on the encoded size of a single Value (lovelace + assets).

hasCollateralPercentage
type: Property
comment: Percentage of script fees that must be covered by collateral inputs.

hasMaxCollateralInputs
type: Property
comment: Protocol-parameter bound on the number of collateral inputs per transaction.

hasPoolVotingThresholds
type: Property
comment: Per-governance-action thresholds the SPO voting bloc must clear.

hasDRepVotingThresholds
type: Property
comment: Per-governance-action thresholds the DRep voting bloc must clear.

hasCommitteeMinSize
type: Property
comment: Minimum size of the constitutional committee.

hasCommitteeMaxTermLength
type: Property
comment: Maximum term length, in epochs, a committee member may serve.

hasGovActionLifetime
type: Property
comment: Number of epochs a governance action remains votable before expiring.

hasGovActionDeposit
type: Property
comment: Lovelace deposit required to submit a governance action.

hasDRepDeposit
type: Property
comment: Lovelace deposit required to register a DRep.

hasDRepActivity
type: Property
comment: Number of epochs of inactivity after which a DRep is considered dormant.

hasMinFeeRefScriptCoinsPerByte
type: Property
comment: Conway extra fee charged per byte of reference-script payload included via reference inputs.

hasSteps
type: Property
comment: Plutus execution-budget steps component.

hasMemory
type: Property
comment: Plutus execution-budget memory component.

hasPriceMemory
type: Property
comment: Per-unit price of Plutus memory inside `hasExecutionCosts`.

hasPriceSteps
type: Property
comment: Per-unit price of Plutus steps inside `hasExecutionCosts`.

hasMotionNoConfidence
type: Property
comment: Voting threshold for a motion of no-confidence governance action.

hasCommitteeNormal
type: Property
comment: Voting threshold for a normal committee update governance action.

hasCommitteeNoConfidence
type: Property
comment: Voting threshold for a committee update during no-confidence.

hasUpdateToConstitution
type: Property
comment: Voting threshold for a constitution update governance action.

hasHardForkInitiation
type: Property
comment: Voting threshold for a hard-fork-initiation governance action.

hasPPSecurityGroup
type: Property
comment: Voting threshold for protocol-parameter changes in the security parameter group.

hasPPNetworkGroup
type: Property
comment: Voting threshold for protocol-parameter changes in the network parameter group.

hasPPEconomicGroup
type: Property
comment: Voting threshold for protocol-parameter changes in the economic parameter group.

hasPPTechnicalGroup
type: Property
comment: Voting threshold for protocol-parameter changes in the technical parameter group.

hasPPGovGroup
type: Property
comment: Voting threshold for protocol-parameter changes in the governance parameter group.

hasTreasuryWithdrawal
type: Property
comment: Reward-account withdrawal entry inside a treasury-withdrawals governance action.

hasNewQuorum
type: Property
comment: New committee quorum threshold proposed by a committee-update governance action.

removesMember
type: Property
comment: Committee member removed by an update-committee governance action.

addsMember
type: Property
comment: Committee member added by an update-committee governance action.

termLimit
type: Property
comment: Epoch at which a committee member's term expires.

hasConstitution
type: Property
comment: Anchor of the constitution document referenced by a new-constitution governance action.

hasGuardrailScript
type: Property
comment: Optional guardrail script hash bound to the constitution.

hasProtocolVersion
type: Property
comment: Conway protocol-version record (major + minor) bound to a hard-fork-initiation action.

hasMajorVersion
type: Property
comment: Major protocol-version number.

hasMinorVersion
type: Property
comment: Minor protocol-version number.

hasVote
type: Property
domain: Transaction
range: Vote
description: Binds a transaction to a single Vote it casts in its votingProcedures block. One triple per (voter, governance-action) entry.

hasVoter
type: Property
domain: Vote
description: Binds a Vote to the voter identity casting it. Object is a subclass of cardano:Voter — VoterDRep / VoterStakePool / VoterCommitteeCold.

hasVotingAction
type: Property
domain: Vote
range: Governance Action ID
description: Binds a Vote to the governance-action identifier it votes on: a typed (txid, index) tuple using cardano:hasTxId and cardano:hasIndex.

hasVerdict
type: Property
domain: Vote
range: string
description: The verdict carried by a vote: "Yes", "No", or "Abstain".

hasAnchor
type: Property
description: Binds a governance-bearing subject (Vote, Proposal, certain certificates) to its anchor — an off-chain pointer to justifying metadata. Anchor decomposes into cardano:anchorUrl + cardano:anchorHash.

anchorUrl
type: Property
range: anyURI
description: The HTTP(S) URL of an off-chain anchor document (metadata, justification, manifesto, …).

anchorHash
type: Property
range: Identifier
description: The hash of the anchor document content, as an Identifier node so it can be cross-referenced with on-chain hashes elsewhere.

onCredential
type: Property
range: Identifier
description: Binds a credential-scoped subject (a certificate, an item in a withdrawal block) to the stake credential it acts on.

toPool
type: Property
domain: StakeDelegation
range: Identifier
description: Binds a stake-delegation certificate to its target stake-pool Identifier (the pool's cold key hash).

toDRep
type: Property
domain: VoteDelegation
description: Binds a vote-delegation certificate to its target — either a concrete DRep Identifier (key or script), or one of the pre-defined targets: always-abstain, always-no-confidence.

KeyWitness
type: Class
description: An Ed25519 signature witness — one entry in the witness set carrying a verification key and a signature over the tx body. The verification key is shared (by Identifier bnode) with any body-level cardano:hasRequiredSigner referencing the same key hash, enabling 1-hop SPARQL joins from signature to required-signer.

BootstrapWitness
type: Class
description: A Byron-era bootstrap witness — typically empty on Conway-era transactions. Present only for legacy spending paths that still hold Byron addresses; carries the verification key, signature, chain code, and address attributes as opaque CBOR.

ExUnits
type: Class
description: The execution-budget pair for a Plutus script invocation: memory units (memoryUnits) + cpu units (cpuUnits). Attached to a Redeemer when the validator runs.

hasRedeemer
type: Property
domain: Transaction
range: Redeemer
description: Binds a transaction to a Redeemer in its witness set. One triple per redeemer entry — the redeemer's hasPurpose + hasIndex select which body item the redeemer drives (a spending input, a mint policy, a cert, a withdrawal, a vote, or a proposal).

hasKeyWitness
type: Property
domain: Transaction
range: KeyWitness
description: Binds a transaction to an Ed25519 KeyWitness in its witness set. One triple per key signing the tx body.

hasDatumWitness
type: Property
domain: Transaction
range: Datum
description: Binds a transaction to a Datum supplied at witness-time (used when an input's output carries datumHash-only and the datum body must be provided in the witness set to validate). The Datum bnode shares identity with any body-level inline datum or hash-only reference carrying the same hash, via cardano:hasHash on the Identifier — enabling 1-hop SPARQL joins between witness datums and body output datums.

hasScriptWitness
type: Property
domain: Transaction
description: Binds a transaction to a Script (Plutus or Native) supplied at witness-time. Same bnode-identity sharing as datum witnesses: the script's hash Identifier matches any body-level hasReferenceScript on the same hash, supporting cross-witness/output SPARQL joins.

hasBootstrapWitness
type: Property
domain: Transaction
range: BootstrapWitness
description: Binds a transaction to a Byron-era BootstrapWitness. Typically absent on Conway; present only when spending legacy Byron-shaped UTxOs.

hasPurpose
type: Property
domain: Redeemer
range: string
description: The script purpose driving a Redeemer: one of "Spend" (validates a script-locked input), "Mint" (runs a minting policy), "Cert" (validates a stake credential cert), "Withdraw" (validates a reward-account withdrawal), "Vote" (Conway), or "Propose" (Conway). The hasIndex picks the entry within the corresponding body list.

hasData
type: Property
domain: Redeemer
range: Datum
description: Binds a Redeemer to its PlutusData argument (the value the operator passed to the script). Surfaced as a Datum subject carrying hasHash + hasRawBytes (opaque CBOR) until CIP-57 blueprint typed decoding (cardano-tx-tools#50).

hasExUnits
type: Property
domain: Redeemer
range: ExUnits
description: Binds a Redeemer to its execution-budget pair.

memoryUnits
type: Property
domain: ExUnits
range: integer
description: The memory-execution-unit count declared on the redeemer's execution budget.

cpuUnits
type: Property
domain: ExUnits
range: integer
description: The CPU-execution-unit count (steps) declared on the redeemer's execution budget.

hasSignature
type: Property
domain: KeyWitness
range: hexBinary
description: The 64-byte Ed25519 signature, hex-encoded, that this KeyWitness carries over the transaction body's hash.

hasVerificationKey
type: Property
domain: KeyWitness
range: Identifier
description: Binds a KeyWitness to its Ed25519 verification-key Identifier. The Identifier's bytesHex is the 28-byte BLAKE2b-224 key hash, sharing bnode identity with any body-level cardano:hasRequiredSigner referencing the same key — so SPARQL views can join witness signatures to required signers without literal comparison.

AuthCommitteeHotKey
type: Class
comment: Conway certificate authorising a hot key for an existing constitutional committee member.

DRepAlwaysAbstain
type: Class
comment: Predefined DRep target that always votes abstain on every governance action.

DRepAlwaysNoConfidence
type: Class
comment: Predefined DRep target that always votes no-confidence on every governance action.

MultiHostName
type: Class
comment: Stake-pool relay variant naming a multi-host DNS record (round-robin / failover entry).

PoolMetadata
type: Class
comment: Off-chain pool metadata anchor: URL plus a hash of the canonical metadata JSON.

PoolParams
type: Class
comment: The full Conway-era stake-pool parameter record: operator key, VRF key, pledge, costs, margin, reward account, owners, relays, optional metadata anchor.

PoolRegistration
type: Class
comment: Stake-pool registration certificate that binds a new pool's parameters to the chain.

PoolRetirement
type: Class
comment: Stake-pool retirement certificate declaring the epoch at which the pool will deregister.

RegDRep
type: Class
comment: Conway certificate registering a DRep with a deposit and an optional metadata anchor.

RegDeposit
type: Class
comment: Conway certificate registering a stake credential and locking the registration deposit.

Relay
type: Class
comment: Stake-pool relay entry: either a single host (IP or DNS) or a multi-host DNS record.

ResignCommitteeColdKey
type: Class
comment: Conway certificate resigning a constitutional committee member's cold key.

SingleHostAddr
type: Class
comment: Stake-pool relay variant naming a single host by IPv4 / IPv6 address and optional port.

SingleHostName
type: Class
comment: Stake-pool relay variant naming a single host by DNS name and optional port.

StakeRegDeleg
type: Class
comment: Conway combined certificate that registers a stake credential and delegates it to a pool in one step.

StakeVoteRegDeleg
type: Class
comment: Conway combined certificate that registers a stake credential, delegates it to a pool, and binds it to a DRep in one step.

UnRegDRep
type: Class
comment: Conway certificate deregistering a DRep and returning its deposit.

UnRegDeposit
type: Class
comment: Conway certificate deregistering a stake credential and returning its registration deposit.

UpdateDRep
type: Class
comment: Conway certificate updating a registered DRep's metadata anchor without changing its deposit.

VoteRegDeleg
type: Class
comment: Conway combined certificate that registers a stake credential and binds it to a DRep in one step.

delegatesToDRep
type: Property
comment: Delegation edge: a stake credential's voting power is bound to the named DRep.

delegatesToPool
type: Property
comment: Delegation edge: a stake credential's block-production stake is bound to the named stake pool.

hasCommitteeColdCredential
type: Property
comment: Cold credential of a constitutional committee member.

hasCommitteeHotCredential
type: Property
comment: Hot credential of a constitutional committee member, authorised by an `AuthCommitteeHotKey` certificate.

hasCost
type: Property
comment: Pool-parameter declared fixed cost the pool charges per epoch before margin.

hasDRepCredential
type: Property
comment: Credential identifying a registered DRep.

hasDnsName
type: Property
comment: DNS-name field of a pool relay entry.

hasIPv4
type: Property
comment: IPv4 address field of a pool relay entry.

hasIPv6
type: Property
comment: IPv6 address field of a pool relay entry.

hasMargin
type: Property
comment: Pool-parameter operator margin: the fraction of rewards retained by the pool operator.

hasOperator
type: Property
comment: Pool key hash of the pool operator's cold key.

hasOwner
type: Property
comment: Stake-key hash of one of a pool's registered owners.

hasPledge
type: Property
comment: Pool-parameter declared pledge (lovelace the operator commits to the pool).

hasPoolMetadata
type: Property
comment: Off-chain metadata anchor of a stake pool (URL + hash).

hasPoolOperator
type: Property
comment: Pool key hash identifying the pool an operation targets.

hasPoolParams
type: Property
comment: Reference to the pool-parameter record bundled with a `PoolRegistration` certificate.

hasPort
type: Property
comment: Optional TCP port of a single-host pool relay entry.

hasRelay
type: Property
comment: Pool-parameter relay entry (single-host, multi-host, or DNS).

hasRewardAccount
type: Property
comment: Reward account into which a stake pool's epochly rewards are paid.

hasUrl
type: Property
comment: URL of an off-chain anchor (metadata, anchor doc).

hasVrfKeyhash
type: Property
comment: Pool-parameter VRF key hash used for block production.

retireAtEpoch
type: Property
comment: Epoch at which a stake-pool retirement certificate scheduled the pool to retire.

MetadatumValue
type: Class
description: Abstract decoded transaction-metadatum value; every concrete node is also typed with exactly one kind subclass (MetaInt, MetaBytes, MetaText, MetaList, MetaMap).

MetaInt
type: Class
subclass of: MetadatumValue
description: Integer metadatum leaf; carries cardano:intValue (xsd:integer).

MetaBytes
type: Class
subclass of: MetadatumValue
description: Byte-string metadatum leaf; carries cardano:bytesHex (lowercase hex). Distinguishable from MetaText so a hex byte value is never confused with UTF-8 text.

MetaText
type: Class
subclass of: MetadatumValue
description: Text-string metadatum leaf; carries cardano:textValue (xsd:string).

MetaList
type: Class
subclass of: MetadatumValue
description: List metadatum; carries ordered cardano:hasElement edges to MetadatumElement wrappers. Element order and arity are preserved exactly — no joining.

MetaMap
type: Class
subclass of: MetadatumValue
description: Map metadatum; carries cardano:hasEntry edges to MetadatumMapEntry wrappers. Every key->value pair is preserved; keys are full value nodes.

MetadatumEntry
type: Class
description: A top-level label->value association on an AuxiliaryData node, reached by cardano:hasMetadatum; carries the integer cardano:metadataLabel and a cardano:metadatumValue.

MetadatumElement
type: Class
description: Positional wrapper for one element of a MetaList; carries the 0-based cardano:elementIndex and a cardano:metadatumValue.

MetadatumMapEntry
type: Class
description: One key->value pair of a MetaMap; carries the 0-based cardano:entryIndex, a cardano:metaKey, and a cardano:metaValue.

hasMetadatum
type: Property
comment: Relates an AuxiliaryData node to one MetadatumEntry per top-level metadata label.

metadataLabel
type: Property
comment: The integer (Word64) label of a MetadatumEntry (xsd:integer).

metadatumValue
type: Property
comment: Links a MetadatumEntry or MetadatumElement to its decoded MetadatumValue.

intValue
type: Property
comment: Integer payload of a MetaInt leaf (xsd:integer).

textValue
type: Property
comment: Text payload of a MetaText leaf (xsd:string).

hasElement
type: Property
comment: Relates a MetaList to one MetadatumElement wrapper per on-chain element, in order.

elementIndex
type: Property
comment: 0-based position of a MetadatumElement within its MetaList (xsd:integer).

hasEntry
type: Property
comment: Relates a MetaMap to one MetadatumMapEntry per key->value pair, in order.

entryIndex
type: Property
comment: 0-based position of a MetadatumMapEntry within its MetaMap (xsd:integer).

metaKey
type: Property
comment: Links a MetadatumMapEntry to its key, itself a MetadatumValue (not assumed to be a string).

metaValue
type: Property
comment: Links a MetadatumMapEntry to its value MetadatumValue.