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.

Usage

Instances of observable:MemoryFacet can have the following properties:

PROPERTYTYPEDESCRIPTIONRANGE
From class owl:Thing
types:threadNextItem owl:ObjectProperty The link to a next item in a thread. owl:Thing
types:threadPreviousItem owl:ObjectProperty A direct link to a previous item in a thread. owl:Thing

Property Shapes

By the associated SHACL property shapes, instances of observable:MemoryFacet can have the following properties:

PROPERTY

PROPERTY TYPE

DESCRIPTION

MIN COUNT

MAX COUNT

LOCAL RANGE
(type range for property on this class)

GLOBAL RANGE
(type range for property globally)

observable:MemoryFacet
observable:blockType owl:DatatypeProperty The blockType property specifies the block type of a particular memory object.
1 vocabulary:MemoryBlockTypeVocab
owl:Thing
observable:isInjected owl:DatatypeProperty The isInjected property specifies whether or not the particular memory object has had data/code injected into it by another process.
1 xsd:boolean
xsd:boolean
observable:isMapped owl:DatatypeProperty The isMapped property specifies whether or not the particular memory object has been assigned a byte-for-byte correlation with some portion of a file or file-like resource.
1 xsd:boolean
xsd:boolean
observable:isProtected owl:DatatypeProperty The isProtected property specifies whether or not the particular memory object is protected (read/write only from the process that allocated it).
1 xsd:boolean
xsd:boolean
observable:isVolatile owl:DatatypeProperty The isVolatile property specifies whether or not the particular memory object is volatile.
1 xsd:boolean
xsd:boolean
observable:regionEndAddress owl:DatatypeProperty The regionEndAddress property specifies the ending address of the particular memory region.
xsd:hexBinary
xsd:hexBinary
observable:regionSize owl:DatatypeProperty The regionSize property specifies the size of the particular memory region, in bytes.
1 xsd:integer
xsd:integer
observable:regionStartAddress owl:DatatypeProperty The regionStartAddress property specifies the starting address of the particular memory region.
xsd:hexBinary
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 .