https://ontology.unifiedcyberontology.org/uco/observable/TableFieldFacet
A database record facet contains properties associated with a specific table record value from a database.
Instances of observable:TableFieldFacet can have the following properties:
PROPERTY | TYPE | DESCRIPTION | RANGE |
---|---|---|---|
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 |
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 |
GLOBAL RANGE |
|
---|---|---|---|---|---|---|---|
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
|
@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 ] ] ) .