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
core:informalType owl:DatatypeProperty Informal Type serves as a parent property for string-valued properties meant to describe a type without implementing a class design. This property hierarchy supports a balancing point between semantic specificity and operational agility. The known benefits of describing types rather than implementing them include swift extensibility of some existing, or possibly non-existing, subclass hierarchy in UCO without requiring training in ontological development, taxonomic specification, or OWL, SHACL, or RDF maintenance logistics. The known detractions of using string-literals for type descriptions include that used vocabularies may require careful maintenance among data-sharing parties; that vocabularies require independent logistics (external to UCO) for providing definitions (i.e., dictionary-style semantics) to string-literals chosen; and that string-literals cannot by themselves encode hierarchical structure or entailments, such as the informal device type string 'ExamplePhone 8 P4321' entailing 'ExamplePhone 8', 'ExamplePhone', or 'ExamplePhone models discontinued in 2020'. Usage of Informal Type to house strings should be weighed against usage of classes when classes are available, and should periodically be reviewed for potential additions to UCO's class hierarchy or downstream extensions thereof. 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 xsd:string
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 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#> .

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 xsd:string ;
            sh:message "As of UCO 1.4.0, the datatype to use for observable:blockType should be xsd:string.  Not using xsd:string will be an error in UCO 2.0.0." ;
            sh:path observable:blockType ;
            sh:severity sh:Warning ],
        [ sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:blockType ],
        observable:MemoryFacet-blockType-in-shape ;
    sh:targetClass observable:MemoryFacet .