types:ProperDictionary leaf node


URI

https://ontology.unifiedcyberontology.org/uco/types/ProperDictionary

Label

ProperDictionary

Description

A proper dictionary is list of (term/key, value) pairs with each term/key existing no more than once.

Usage

Instances of types:ProperDictionary 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 types:ProperDictionary 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)

types:Dictionary
types:entry owl:ObjectProperty A dictionary entry.
types:DictionaryEntry
types:DictionaryEntry

Implementation

@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 types: <https://ontology.unifiedcyberontology.org/uco/types/> .

types:ProperDictionary a owl:Class,
        sh:NodeShape ;
    rdfs:label "ProperDictionary"@en ;
    rdfs:comment "A proper dictionary is list of (term/key, value) pairs with each term/key existing no more than once."@en ;
    rdfs:subClassOf types:Dictionary ;
    owl:disjointWith types:ImproperDictionary ;
    sh:sparql [ a sh:SPARQLConstraint ;
            sh:message "A key in a proper dictionary can appear no more than once."@en ;
            sh:select """
			PREFIX types: <https://ontology.unifiedcyberontology.org/uco/types/>
			SELECT $this ?value
			WHERE {
				$this
					types:entry/types:key ?value ;
					.
			}
			GROUP BY ?value
			HAVING (COUNT(?value) > 1)
		""" ] ;
    sh:targetClass types:ProperDictionary .