Reference number of working document: ISO/IEC JTC1 SC32 WG2N0722
Date: 2004-11-11
Reference number of document: ISO/IEC WD1 19773-06
[Release Sequence #1]
Committee identification: ISO/IEC JTC1 SC32 WG2
SC32 Secretariat: US
Information technology— Metadata Modules (MM) —
Part06: Data structure for unstructured array of designation-kind-value (DKV) tuples
Document type: International standard
Document subtype: if applicable
Document stage: (20) Preparatory
Document language: E
Warning
This document is not an ISO International Standard. It is distributed for review and comment. It is subject to change without notice and may not be referred to as an International Standard.
Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.
ISO/IEC WD119773-06 [Release Sequence #1]
Copyright notice
This ISO document is a working draft or committee draft and is copyright-protected by ISO. While the reproduction of working drafts or committee drafts in any form for use by participants in the ISO standards development process is permitted without prior permission from ISO, neither this document nor any extract from it may be reproduced, stored or transmitted in any form for any other purpose without prior written permission from ISO.
Requests for permission to reproduce this document for the purpose of selling it should be addressed as shown below or to ISO’s member body in the country of the requester:
ISO copyright office
Case postale 56
CH-1211 Geneva 20
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
Web
Reproduction for sales purposes may be subject to royalty payments or a licensing agreement.
Violators may be prosecuted.
ContentsPage
Foreword
Introduction
1Scope
2Normative references
3Terms and definitions
4Functional capabilities
5Conceptual model and object model
5.1General
5.2dkv_tuple_array and related classes
6Computational semantics and datatypes
6.1General
6.2Datatypes
7Bindings
8Conformance
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO member bodies). The work of preparing International Standards is normally carried out through ISO technical committees. Each member body interested in a subject for which a technical committee has been established has the right to be represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization.
International Standards are drafted in accordance with the rules given in the ISO/IECDirectives, Part2.
The main task of technical committees is to prepare International Standards. Draft International Standards adopted by the technical committees are circulated to the member bodies for voting. Publication as an International Standard requires approval by at least 75% of the member bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO shall not be held responsible for identifying any or all such patent rights.
ISO/IEC1977306 was prepared by Technical Committee ISO/IEC JTC1, Information Technology, Subcommittee SC32, Data Management and Interchange.
ISO/IEC19773 consists of the following parts, under the general title Information technology— Metadata Modules (MM):
Part01: Framework
Part02: Data structure for reference-or-literal (reflit)
Part03: Data structure for internationalized/localized multivalue/multidata
Part04: Data structure for internationalized/localized multistring/multitext
Part05: Data structure for designation-kind-value (DKV) tuple
Part06: Data structure for unstructured array of designation-kind-value (DKV) tuples
Part07: Data structure and syntax for selections of designation-kind-value (DKV) tuples
Part08: Data structure for UPU postal data
Part09: Data structure for ITU-T E.164 phone number data
Part10: Data structure for who-what-where-when-why-how (W5H) event data
Part11: Data structure for entity-person-group (EPG) contact data
Part12: Data structure for entity-person-group (EPG) security credentials data
Part13: Data structure for entity-person-group (EPG) relationships and grouping data
Part14: Profile of global and local references
Part15: Data structure for profile of spatiotemporal data
Part16: Data structure for workflow data
Part17: Data structure for references to workflow data
Part18: Data structure for datatypes and object classifiers
Part19: Profile of document descriptive data based upon ISO 15836 Dublin Core metadata
Part20:Data structure for concept description
Part21: Profile of concept system based upon ISO/IEC 13250 topic maps
Part22: Profile of terminological data based upon ISO 12620 terminological data categories
Part23: Data structure for digitally signed elements
Partxx: xxx
Introduction
The ISO/IEC 19773 series of standards specify small modules of data that be used or reused in applications. These modules are intended to harmonize with current and future versions of the ISO/IEC 11179 series that specifies metadata registries.
Part 05 is the data structure the provides the structure of designation-kind-value (DKV) tuples, a mechanism for describing individual data values via the 3-tuple of { designation , kind , value }.
Part 06 provides the data structure for bundling an array of unstructured (or structured) data values.
© ISO2004– All rights reserved / 1ISO/IEC WD119773-06 [Release Sequence #1]
Information technology— Metadata Modules (MM) —
Part06: Data structure for designation-kind-value (DKV) tuple
Editor's Note: Each part of 19773 is marked with a common sequence number ("[Release Sequence #N]") to indicate they are synchronized and harmonized among themselves. The mark "[Release Sequence #N]" does not imply that there are a complete set of N-1 prior drafts.
1Scope
This Part provides the data structure for bundling an array of unstructured (or structured) data values, based upon the designation-kind-value (DKV) 3-tuple structure defined in Part 05.
2Normative references
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
ISO/IEC1087-1:2000, Terminology work — Vocabulary — Part 1: Theory and application
ISO/IEC2832-05:1999, Information technology — Vocabulary — Part 5: Representation of data
ISO/IEC2832-07:2000, Information technology — Vocabulary — Part 7: Computer programming
ISO/IEC11404:—[1], Information technology — General Purpose Datatypes (GPD)
ISO/IEC19773-01:—[2], Information technology — Metadata Modules (MM) — Part 01: Framework
ISO/IEC19773-02:—[3], Information technology — Metadata Modules (MM) — Part 02: Data structure for reference-or-literal
ISO/IEC19773-03:—[4], Information technology — Metadata Modules (MM) — Part 03: Data structure for internationalized/localized multivalue/multidata
ISO/IEC19773-05:—[5], Information technology — Metadata Modules (MM) — Part 05: Data structure for designation-kind-value (DKV) tuple
ISO/IEC20944-02:—[6], Information technology — Metadata Interoperability and Bindings (MDIB) — Part 02: Common vocabulary
ISO/IEC20944-03:—[7], Information technology — Metadata Interoperability and Bindings (MDIB) — Part 03: Common provisions for conformance
3Terms and definitions
For the purposes of this document, the following terms, abbreviations, and definitions apply.
3.1
character string
string consisting solely of characters [ISO/IEC 2382-04:1999]
3.2
characterstring
ISO/IEC 11404 datatype for representing character strings [ISO/IEC 19773-02]
NOTEThe ISO/IEC 11404 characterstring datatype takes the parameter repertoire that indicates the logical set of characters. Typically, characterstring(iso-10646-1) is be used to portably store text data, i.e., its value will be preserved across all implementations of the datatype.
3.3
to dereference
to access the object to which a referent references [ISO/IEC 20944-02]
3.4
characterizing operations (of a datatype)
collection of operations on, or yielding, values of the datatype that distinguish this datatype from other datatypes with identical value spaces
3.5
datatype
set of distinct values, characterized by properties of those values, and by operations on those values [ISO/IEC 11404]
3.6
designation
representation of a concept by a sign which denotes it [ISO 1087-1]
3.7
DKV tuple
3-tuple comprised of a designation, a kind, and a value
3.8
dkv_tuple
datatype for the DKV tuple
3.9
identifier
designation that is intended to be dereferenced [ISO/IEC 20944-02]
NOTE 1An identifier is also a reference. The purpose of including this definition in this Part is to show the distinction between the concepts of identifier, designation, and reference (referent).
NOTE 2This definition is consistent with IETF RFC 2396 which describes the Uniform Resource Identifier (URI) syntax and semantics.
3.10
kind
data classification category within a classification system
NOTE 1Typically, a classification system classifies extensions, intensions, or both. Within this note, the terms extension (totality of objects to which a concept corresponds) and intension (set of characteristics which makes up a concept) correspond to their use in the field of terminology (see ISO 1087-1).
NOTE 2A datatype is a specialization of a kind (i.e., "a kind of a kind"). A datatype differs from a kind in the following ways: (1) a datatype implies a value space, which is a specialization of an extension (totality of values vs. totality of objects), (2) a datatype implies characterization by properties and characterizing operations, which is a specialization of an intension (data-like properties and characterizing operations vs. characteristics in general), and (3) a datatype implies both a defined extension and defined intension, whereas a kind does not require both an extension and an intension.
NOTE 3The term kind (a characteristic of an object) should not be confused with kind of (an indication of a general concept in a generic-specific relationship, e.g., a dog is a kind of mammal).
3.11
metadata module
unit of descriptive data [ISO/IEC 19773-01]
3.12
octet string
string consisting solely of octets [ISO/IEC 19773-02]
3.13
octetstring
ISO/IEC 11404 datatype for representing octet strings [ISO/IEC 19773-02]
NOTEAn octetstring datatype can be used to portably store binary data, i.e., its value will be preserved across all implementations of the datatype.
3.14
N-tuple
tuple of length N
EXAMPLEThe tuple <x,y,z> is a 3-tuple; the tuple <x,y> is a 2-tuple (also known as a pair); the tuple <x> is a 1-tuple (note that <x>x because <x> is a list and x is a scalar); and the tuple is a 0-type (also known in mathematics as the "unit type").
3.15
to reference, verb
to create an association with a particular object [ISO/IEC 20944-02]
3.16
referent
reference, noun
result of referencing [ISO/IEC 20944-02]
3.17
reflit
datatype whose value can be accessed directly as a literal value or accessed indirectly via a reference to a value [ISO/IEC 19773-02]
3.18
tuple
ordered list of elements
EXAMPLEThe tuple <x,y,z> contains the three values x, y, and z; and <x,y,z> is not equal to <z,y,x>. In contrast to the set (whose elements are unordered), the set {x,y,z} is equal to the set {z,y,x}.
3.19
value
object whose totality can be used for computation
NOTEIn contrast to an object (used in the sense of object-oriented computing), the totality and boundary of a value is known and determinate, whereas the totality or boundary of an object can be unknown or indeterminate.
3.20
value space
set of values for a given datatype [ISO/IEC 11404]
4Functional capabilities
This Clause describes intended capabilities and applications of this Part.
The DKV tuple array data structure allows the representation an unstructured array of DKV tuples. This Part does not impose a structure of the data tuples (e.g., choice of names and their nesting), but external specifications can be layered on top of this standard that provide structuring of the data tuples.
EXAMPLEThe following examples are from the 11179-3 metamodel:
example_11179_data_element : dkv_tuple_array_as_ttt =
(
(
"data_element_administration.creation_date",
"time",
"2004-10-31"
),
(
"data_element_administration.administrative_note",
"string",
"An example note."
),
(
"representation_class_qualifier",
"characterstring",
"quantity"
),
(
"data_element_precision",
"integer",
"2"
),
(
"exemplified_by.0.data_element_example_item",
"characterstring",
"9.00"
),
),
5Conceptual model and object model
5.1General
Conceptually, a DKV tuple is 3-tuple that represents a designation, a kind, and a value (defined in Part 05). Typically, DKV tuples are used in groups (defined in this Part) and used for general data interchange where datatypes might not be known prior to data interchange. The remainder of this Clause is an object-model description[8] of a DKV tuple array and its variants. This object model is mapped to binding-independent semantics in Clause 6.
5.2dkv_tuple_array and related classes
The following is a UML presentation of the dkv_tuple_array class:
Figure 1. UML presentation of dkv_tuple_array datatype.
There are similar UML classes for dkv_tuple_array_as_ttt, dkv_tuple_array_as_ttrl, dkv_tuple_array_as_ttmd, dkv_tuple_as_bbb, dkv_tuple_as_btb, dkv_tuple_as_btmd.
6Computational semantics and datatypes
6.1General
This Clause defines datatypes using ISO/IEC 11404 notation. Provisions embedded in 11404 comments are normative.
EXAMPLE 1The provision "all components optional" written as an 11404 comment means that (normatively) the obligation attribute is "optional" for all data elements contained within the structure.
EXAMPLE 2The provision "all sizes are SPM" written as an 11404 comment means that (normatively) the size values are smallest permitted maximum values
NOTEThroughout this Clause, the abbreviation SPM is used, which means "smallest permissible maximum". The SPM value is intended to give implementers a lower limit on conforming implementations. Applications should not assume that implementations support capabilities beyond the SPM value unless prior arrangements have been made.
6.2Datatypes
Subclause 5.2 defines the datatypes for each of the variants of the DKV tuple. The following is a summary of the datatype definitions in ISO/IEC 11404 notation.
ISO/IEC 11404 definition
type dkv_tuple_array = array (0..*) of dkv_tuple,
type dkv_tuple_array_as_ttt = array (0..*) of dkv_tuple_as_ttt,
type dkv_tuple_as_ttrl = array (0..*) of dkv_tuple_as_ttrl,
type dkv_tuple_array_as_ttmd = array (0..*) of dkv_tuple_as_ttmd,
type dkv_tuple_array_as_bbb = array (0..*) of dkv_tuple_as_bbb,
type dkv_tuple_array_as_btb = array (0..*) of dkv_tuple_as_btb,
type dkv_tuple_array_as_btmd = array (0..*) of dkv_tuple_as_btmd,
7Bindings
*** TO BE SUPPLIED ***.
8Conformance
ISO/IEC 20944-03, Clause 4, Conformance, is incorporated by reference.
© ISO2004– All rights reserved / 1[1]In revision, to be published. See " for the latest draft.
[2]To be published. See " for the latest drafts of the 19773 series.
[3]To be published.
[4]To be published.
[5]To be published.
[6]To be published. See " for the latest drafts of the 20944 series.
[7]To be published.
[8]In this Part, the classes can be considered "plain old data structures". Clause 5 presents the object-model, which is discussed in terms of classes, attributes, and relations. Clause 6 renders maps the object-model into datatypes, components, and subcomponents. While the terms "class" and "datatype" refer to different concepts, in this Part each individual class shares the same concepts with its corresponding datatype.