types:Hash leaf node


URI

https://ontology.unifiedcyberontology.org/uco/types/Hash

Label

Hash

Description

A hash is a grouping of characteristics unique to the result of applying a mathematical algorithm that maps data of arbitrary size to a bit string (the 'hash') and is a one-way function, that is, a function which is practically infeasible to invert. This is commonly used for integrity checking of data. [based on https://en.wikipedia.org/wiki/Cryptographic_hash_function]

Target Classes (1)

Shape Properties

Instances of types:Hash can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

types:Hash
types:hashMethod 1 1 vocabulary:HashNameVocab
types:hashValue 1 1 xsd:hexBinary

Implementation

@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix types: <https://ontology.unifiedcyberontology.org/uco/types/> .
@prefix vocabulary: <https://ontology.unifiedcyberontology.org/uco/vocabulary/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

types:Hash a owl:Class,
        sh:NodeShape ;
    rdfs:label "Hash"@en ;
    rdfs:comment "A hash is a grouping of characteristics unique to the result of applying a mathematical algorithm that maps data of arbitrary size to a bit string (the 'hash') and is a one-way function, that is, a function which is practically infeasible to invert. This is commonly used for integrity checking of data. [based on https://en.wikipedia.org/wiki/Cryptographic_hash_function]"@en ;
    rdfs:subClassOf core:UcoInherentCharacterizationThing ;
    sh:property [ sh:datatype xsd:hexBinary ;
            sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path types:hashValue ],
        [ sh:datatype vocabulary:HashNameVocab ;
            sh:message "Value is outside the default vocabulary HashNameVocab." ;
            sh:path types:hashMethod ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:minCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:or ( [ sh:datatype vocabulary:HashNameVocab ] [ sh:datatype xsd:string ] ) ;
            sh:path types:hashMethod ],
        [ sh:message "Value is not member of the vocabulary HashNameVocab." ;
            sh:or ( [ sh:datatype vocabulary:HashNameVocab ;
                        sh:in ( "MD5"^^vocabulary:HashNameVocab "MD6"^^vocabulary:HashNameVocab "SHA1"^^vocabulary:HashNameVocab "SHA224"^^vocabulary:HashNameVocab "SHA256"^^vocabulary:HashNameVocab "SHA3-224"^^vocabulary:HashNameVocab "SHA3-256"^^vocabulary:HashNameVocab "SHA3-384"^^vocabulary:HashNameVocab "SHA3-512"^^vocabulary:HashNameVocab "SHA384"^^vocabulary:HashNameVocab "SHA512"^^vocabulary:HashNameVocab "SSDEEP"^^vocabulary:HashNameVocab ) ] [ sh:datatype xsd:string ] ) ;
            sh:path types:hashMethod ] ;
    sh:targetClass types:Hash .