observable:MemoryFacet leaf node


URI

https://ontology.unifiedcyberontology.org/uco/observable/MemoryFacet

Label

MemoryFacet

Description

A memory facet is a grouping of characteristics unique to a particular region of temporary information storage (e.g., RAM (random access memory), ROM (read only memory)) on a digital device.

Target Classes (1)

Shape Properties

Instances of observable:MemoryFacet can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

observable:MemoryFacet
observable:blockType 1 vocabulary:MemoryBlockTypeVocab
observable:isInjected 1 xsd:boolean
observable:isMapped 1 xsd:boolean
observable:isProtected 1 xsd:boolean
observable:isVolatile 1 xsd:boolean
observable:regionEndAddress xsd:hexBinary
observable:regionSize 1 xsd:integer
observable:regionStartAddress xsd:hexBinary

Implementation

@prefix core: <https://ontology.unifiedcyberontology.org/uco/core/> .
@prefix observable: <https://ontology.unifiedcyberontology.org/uco/observable/> .
@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 vocabulary: <https://ontology.unifiedcyberontology.org/uco/vocabulary/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

observable:MemoryFacet a owl:Class,
        sh:NodeShape ;
    rdfs:label "MemoryFacet"@en ;
    rdfs:comment "A memory facet is a grouping of characteristics unique to a particular region of temporary information storage (e.g., RAM (random access memory), ROM (read only memory)) on a digital device."@en ;
    rdfs:subClassOf core:Facet ;
    sh:property [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:isInjected ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:isMapped ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:isProtected ],
        [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:isVolatile ],
        [ sh:datatype xsd:hexBinary ;
            sh:nodeKind sh:Literal ;
            sh:path observable:regionEndAddress ],
        [ sh:datatype xsd:hexBinary ;
            sh:nodeKind sh:Literal ;
            sh:path observable:regionStartAddress ],
        [ sh:datatype xsd:integer ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:regionSize ],
        [ sh:datatype vocabulary:MemoryBlockTypeVocab ;
            sh:message "Value is outside the default vocabulary MemoryBlockTypeVocab." ;
            sh:path observable:blockType ;
            sh:severity sh:Info ],
        [ sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:or ( [ sh:datatype vocabulary:MemoryBlockTypeVocab ] [ sh:datatype xsd:string ] ) ;
            sh:path observable:blockType ],
        [ sh:message "Value is not member of the vocabulary MemoryBlockTypeVocab." ;
            sh:or ( [ sh:datatype vocabulary:MemoryBlockTypeVocab ;
                        sh:in ( "Bit-mapped"^^vocabulary:MemoryBlockTypeVocab "Byte-mapped"^^vocabulary:MemoryBlockTypeVocab "Initialized"^^vocabulary:MemoryBlockTypeVocab "Overlay"^^vocabulary:MemoryBlockTypeVocab "Uninitialized"^^vocabulary:MemoryBlockTypeVocab ) ] [ sh:datatype xsd:string ] ) ;
            sh:path observable:blockType ] ;
    sh:targetClass observable:MemoryFacet .