ControlledVocabularyView

Purpose:

The ControlledVocabulary view is intended to allow for the structured description of a vocabulary in DDI4. A vocabulary can be described as a simple set of terms and definitions, or a set of terms and definitions with a structure such as a hierarchy.

Use Cases:

A DDI4 ExternalControlledVocabularyEntry could reference a vocabulary entry described in DDI4. This would allow processing by software able to interpret DDI4.

DDI4 has a set of controlled vocabularies https://www.ddialliance.org/controlled-vocabularies, currently described in Genericode. These could be published in DDI4 as well.

Vocabularies having a structure more complex than a simple table.

Target Audiences:

DDI4 user communities

Restricted Classes:

Concept is extended by Category, ConceptualVariable, RepresentedVariable, InstanceVariable, Population, UnitType and Universe

ExternalMaterial is extended by ExternalAid

General Documentation:

The representation of a controlled vocabulary in DDI4 consists of four classes:

ControlledVocabulary – The structured collection of vocabulary entries

VocabularyEntry – Assigns a definition to a term

VocabularyRelationStructure – Allows for the description of a complex structure among the terms, such as a hierarchy

ExternalMaterial – Points to material outside of a current DDI4 instance.

The ControlledVocabulary uses a set of VocabularyEntryIndicators to delineate the entries in the vocabulary. These may be ordered with an index. The VocabularyRelationStructure uses a set of VocabularyEntryRelations to describe relationships among the vocabulary entries. A “source” entry might have a relationship to several “target” entries, for example one entry (e.g. Vehicle) might be a more general term for several other terms (e.g. car, bike, skateboard). This relationship may be described with a semantic, a relationSpecification (e.g. GeneralSpecific), and whether the relation is total or not.

A functional view is a collection of classes in DDI that covers a functional use case. These are not namespaces.

Graph

digraph G { fontname = "Bitstream Vera Sans" fontsize = 8 overlap=false; compound=true; node [ fontname = "Bitstream Vera Sans" fontsize = 8 shape = "record" ] edge [ fontname = "Bitstream Vera Sans" fontsize = 8 mode="ipsep" ] DDI4_ControlledVocabulary [ label = "{<id>ControlledVocabulary | + type : CollectionType \l + name : ObjectName \l + purpose : InternationalStructuredString \l + contains : VocabularyEntryIndicator \l + isOrdered : \l \l \l| <ControlledVocabulary_isStructuredBy_association> isStructuredBy \l| <ControlledVocabulary_realizes_association> realizes \l| <ControlledVocabulary_definingConcept_association> definingConcept \l \l}" tooltip = "CustomMetadata:ControlledVocabulary" ] DDI4_ExternalMaterial [ label = "{<id>ExternalMaterial | + typeOfMaterial : ExternalControlledVocabularyEntry \l + descriptiveText : InternationalStructuredString \l + uri : \l + relationshipDescription : InternationalStructuredString \l + mimeType : ExternalControlledVocabularyEntry \l + usesSegment : Segment \l + citationOfExternalMaterial : Annotation \l \l \l| \l \l}" tooltip = "Utility:ExternalMaterial" ] DDI4_VocabularyEntry [ label = "{<id>VocabularyEntry | + entryTerm : InternationalStructuredString \l + definition : InternationalStructuredString \l \l \l| <VocabularyEntry_realizes_association> realizes \l \l}" tooltip = "CustomMetadata:VocabularyEntry" ] DDI4_VocabularyRelationStructure [ label = "{<id>VocabularyRelationStructure | + criteria : InternationalStructuredString \l + displayLabel : LabelForDisplay \l + usage : InternationalStructuredString \l + hasRelationSpecification : RelationSpecification \l + semantic : ExternalControlledVocabularyEntry \l + totality : TotalityType \l + hasMemberRelation : VocabularyEntryRelation \l \l \l| <VocabularyRelationStructure_realizes_association> realizes \l \l}" tooltip = "CustomMetadata:VocabularyRelationStructure" ] subgraph Conceptual { label = "Conceptual" node [ color = "#0000ff" ] DDI4_Concept [ label = "{<id>DDI_Concept}" tooltip = "Conceptual:Concept" href = "../Package/Conceptual/Concept/index.html" ] } subgraph CollectionsPattern { label = "CollectionsPattern" node [ color = "#0000ff" ] DDI4_CollectionMember [ label = "{<id>DDI_CollectionMember}" tooltip = "CollectionsPattern:CollectionMember" href = "../Package/CollectionsPattern/CollectionMember/index.html" ] DDI4_RelationStructure [ label = "{<id>DDI_RelationStructure}" tooltip = "CollectionsPattern:RelationStructure" href = "../Package/CollectionsPattern/RelationStructure/index.html" ] DDI4_StructuredCollection [ label = "{<id>DDI_StructuredCollection}" tooltip = "CollectionsPattern:StructuredCollection" href = "../Package/CollectionsPattern/StructuredCollection/index.html" ] } subgraph Identification { label = "Identification" node [ color = "#0000ff" ] DDI4_AnnotatedIdentifiable [ label = "{<id>DDI_AnnotatedIdentifiable}" tooltip = "Identification:AnnotatedIdentifiable" href = "../Package/Identification/AnnotatedIdentifiable/index.html" ] DDI4_Identifiable [ label = "{<id>DDI_Identifiable}" tooltip = "Identification:Identifiable" href = "../Package/Identification/Identifiable/index.html" ] } DDI4_ControlledVocabulary -> DDI4_AnnotatedIdentifiable [arrowhead=onormal color="#000000"]; DDI4_ControlledVocabulary:ControlledVocabulary_isStructuredBy_association -> DDI4_VocabularyRelationStructure [ arrowhead=none arrowtail=odiamond labeldistance=1.9 taillabel="0..n" headlabel="0..n" edgetooltip="isStructuredBy" fontcolor="black" color="#00000"]; DDI4_ControlledVocabulary:ControlledVocabulary_realizes_association -> DDI4_StructuredCollection [ arrowhead=none arrowtail=none edgetooltip="realizes" fontcolor="black" color="#00000"]; DDI4_ControlledVocabulary:ControlledVocabulary_definingConcept_association -> DDI4_Concept [ arrowhead=none arrowtail=odiamond labeldistance=1.9 taillabel="0..n" headlabel="0..n" edgetooltip="definingConcept" fontcolor="black" color="#00000"]; DDI4_ExternalMaterial -> DDI4_Identifiable [arrowhead=onormal color="#000000"]; DDI4_VocabularyEntry -> DDI4_AnnotatedIdentifiable [arrowhead=onormal color="#000000"]; DDI4_VocabularyEntry:VocabularyEntry_realizes_association -> DDI4_CollectionMember [ arrowhead=none arrowtail=none edgetooltip="realizes" fontcolor="black" color="#00000"]; DDI4_VocabularyRelationStructure -> DDI4_AnnotatedIdentifiable [arrowhead=onormal color="#000000"]; DDI4_VocabularyRelationStructure:VocabularyRelationStructure_realizes_association -> DDI4_RelationStructure [ arrowhead=none arrowtail=none edgetooltip="realizes" fontcolor="black" color="#00000"]; }