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.

Target Classes (1)

Shape Properties

Instances of observable:TableFieldFacet can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

observable:TableFieldFacet
observable:recordFieldIsNull 1, 0 xsd:boolean
observable:recordFieldName 1 xsd:string
observable:recordFieldValue 1, 0
observable:recordRowID 1
observable:tableName 1 xsd:string
observable:tableSchema 1 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 ] ] ) .