qudt:DigitalCurrencyUnit leaf node


URI

http://qudt.org/schema/qudt/DigitalCurrencyUnit

Label

Digital Currency Unit

Description

A currency-like unit for cryptographic or tokenized assets. Instances should reference an ISO 24165 Digital Token Identifier (DTI) when available.

Targets (1)

Property Constraints (4)

Focus nodes of this shape (qudt:DigitalCurrencyUnit) can have the following properties:

PROPERTY DESCRIPTION MIN MAX VALUE TYPE OTHER CONSTRAINTS
qudt:blockchainNetwork Primary network name (e.g., 'Bitcoin Mainnet', 'Ethereum Mainnet').
sh:message blockchainNetwork, if provided, must be a single string (e.g., 'Bitcoin Mainnet').
0 1 xsd:string
qudt:currencyCode Alphabetic Currency Code as defined by ISO 4217. For example, the currency code for the US dollar is USD.
sh:message currencyCode must be a single 2–10 character uppercase alphanumeric mnemonic (e.g., 'BTC', 'USDT').
0 1 xsd:string
sh:pattern ^[A-Z0-9]{2,10}$
qudt:currencyExponent The currency exponent indicates the number of decimal places between a major currency unit and its minor currency unit. For example, the US dollar is the major currency unit of the United States, and the US cent is the minor currency unit. Since one cent is 1/100 of a dollar, the US dollar has a currency exponent of 2. However, the Japanese Yen has no minor currency units, so the yen has a currency exponent of 0.
sh:message currencyExponent must be a single integer between 0 and 30 (e.g., BTC = 8, ETH = 18).
0 1 xsd:integer
sh:minInclusive 0
sh:maxInclusive 30
qudt:hasDTICode ISO 24165 Digital Token Identifier (12-character alphanumeric).
sh:message hasDTICode, if provided, must be a 12-character ISO 24165 DTI (A–Z, 0–9).
0 1 xsd:string
sh:pattern ^[A-Z0-9]{12}$

Implementation

@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

qudt:DigitalCurrencyUnit a rdfs:Class,
        sh:NodeShape ;
    rdfs:label "Digital Currency Unit"@en ;
    dcterms:description "A currency-like unit for cryptographic or tokenized assets. Instances should reference an ISO 24165 Digital Token Identifier (DTI) when available."@en ;
    qudt:informativeReference <https://dtif.org/>,
        <https://www.iso.org/standard/79891.html> ;
    rdfs:comment "A currency-like unit for cryptographic or tokenized assets. Instances should reference an ISO 24165 Digital Token Identifier (DTI) when available."@en ;
    rdfs:isDefinedBy <http://qudt.org/3.5.2/schema/shacl/qudt> ;
    rdfs:subClassOf qudt:CurrencyUnit ;
    sh:property [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:maxInclusive 30 ;
            sh:message "currencyExponent must be a single integer between 0 and 30 (e.g., BTC = 8, ETH = 18)."@en ;
            sh:minInclusive 0 ;
            sh:path qudt:currencyExponent ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:message "blockchainNetwork, if provided, must be a single string (e.g., 'Bitcoin Mainnet')."@en ;
            sh:path qudt:blockchainNetwork ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:message "currencyCode must be a single 2–10 character uppercase alphanumeric mnemonic (e.g., 'BTC', 'USDT')."@en ;
            sh:path qudt:currencyCode ;
            sh:pattern "^[A-Z0-9]{2,10}$" ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:message "hasDTICode, if provided, must be a 12-character ISO 24165 DTI (A–Z, 0–9)."@en ;
            sh:path qudt:hasDTICode ;
            sh:pattern "^[A-Z0-9]{12}$" ] .