observable:TableFieldFacet leaf node


URI

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

Label

TableFieldFacet

Description

A database record facet contains properties associated with a specific table record value from a database.

Usage

Instances of observable:TableFieldFacet 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:TableFieldFacet 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:TableFieldFacet
observable:recordFieldIsNull owl:DatatypeProperty Whether the specified database record field is null.
0, 1 xsd:boolean
xsd:boolean
observable:recordFieldName owl:DatatypeProperty A field name of a database record value being identified.
1 xsd:string
xsd:string
observable:recordFieldValue owl:DatatypeProperty The field value of a specified database record.
0, 1 owl:Thing
observable:recordRowID owl:DatatypeProperty The unique ID that identifies a database record, supplied by the originating database engine.
1 owl:Thing
observable:tableName owl:DatatypeProperty The table containing a specified database record.
1 xsd:string
xsd:string
observable:tableSchema owl:DatatypeProperty The schema that contains the identified database record.
1 xsd:string
xsd:string

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 xsd: <http://www.w3.org/2001/XMLSchema#> .

observable:TableFieldFacet a owl:Class,
        sh:NodeShape ;
    rdfs:label "TableFieldFacet"@en ;
    rdfs:comment "A database record facet contains properties associated with a specific table record value from a database."@en ;
    rdfs:subClassOf core:Facet ;
    sh:property [ sh:datatype xsd:boolean ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:recordFieldIsNull ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:recordFieldName ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:tableName ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:path observable:tableSchema ],
        [ sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:or ( [ sh:datatype xsd:base64Binary ] [ sh:datatype xsd:decimal ] [ sh:datatype xsd:integer ] [ sh:datatype xsd:string ] ) ;
            sh:path observable:recordFieldValue ],
        [ sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:or ( [ sh:datatype xsd:integer ] [ sh:datatype xsd:string ] ) ;
            sh:path observable:recordRowID ] ;
    sh:targetClass observable:TableFieldFacet ;
    sh:xone ( [ a sh:NodeShape ;
                sh:property [ sh:hasValue false ;
                        sh:path observable:recordFieldIsNull ] ] [ a sh:NodeShape ;
                sh:property [ sh:hasValue true ;
                        sh:path observable:recordFieldIsNull ],
                    [ sh:maxCount 0 ;
                        sh:path observable:recordFieldValue ] ] [ a sh:NodeShape ;
                sh:property [ sh:maxCount 0 ;
                        sh:path observable:recordFieldIsNull ] ] ) .