Re: Domain Definition

From: Bruce Rennie <bruce.rennie_at_shell.com.au>
Date: 9 Jan 2003 17:22:50 -0800
Message-ID: <8d821729.0301091722.7ee3db99_at_posting.google.com>


"D Guntermann" <guntermann_at_hotmail.com> wrote in message news:<H8F4oq.KEE_at_news.boeing.com>...
> Should a domain or collection of values be defined solely based on a default
> system representation of values independent of associated meaning, or should
> semantics of the values also play a part in determining and partitioning
> domains?

The domains being used are effectively logical in nature and as such have a semantic meaning. The system representaion of the values in the domains chosen could then be any of a number of representations that you choose to employ.

From this, even though two or more domains may have the same physical representation, the domains must remain separate and the testing of the values of any "field" should be restricted to the values from the relevant domain.

It is possible for a "field" to have a restricted range of values that are applicable to it. This is a contraint on the field and as such is addition to the contraint applied because of the domain it selects its values from.

>
> In other words, if two domains are equivalent in terms of the set of values
> they contain, but the description or meaning of the values of at least one
> element of both domains differs in terms of semantics, should the domains be
> considered not equivalent?

If the domains contain different sets of values (logically different) they are different domains, irrespective of the physical representation of the values.

>
> For example, I could have two equivalent domain defined as follows:
> Example1
> -------------------
> DomA={'Y','N'}
> DomB={'Y','N'}
>
> Hence, since DomA and DomB are equivalent as a consequence of the sets of
> values/elements being subsets of each other.
>
> However, if the domains are extended to incorporate semantic information
> concerning the values as part of the element definition, then should the
> domains still be considered equivalent?
>
> If I wanted to extend the definition of Domain A and Domain B above to
> reflect an extension of semantic representation, I could perhaps use a
> notation such as the following:
> Example2
> ----------------------
> DomA={'Y':'Yes', 'N':'No'}
> DomB={'Y':'Ready to Match', 'N':'Matched'},

The physical representation of the values may be 'Y' and 'N' but the values in each domain are

DomA = (#Yes#, #No#)

DomB = (#Ready to Match#, #Matched#)

Note: #...# represents the logical value not the string, i.e. a unique symbol or glyph to represent the value.

I personally think that a distinction must always be made between the logical values (with their semantic meaning) and their representations in the system implementation.

>
> using a rather informal expression syntax of:
> 1. <domain_name>={<comma-list of value definitions>}
> 2. <comma-list of value definitions> =
> <elementdef1>,<elementdef2>,...<elementdef-1>,<elementdefn>
> 3. <elementdef>=<'value':'semantic extension definition'>
>
> Though data/value type could play a part in such scenarios, I am interested
> in garnering thoughts, opinions, and responses based on the assumption that
> type (structure, manipulative, and integrity aspects) will be the same
> across the domains or collection of values (and relations) being compared,
> and thus would like to isolate the conversion from issues concerning
> type(s).
>
> Also, for purposes of clarity, assume that the word 'value' is synonymous
> with value in terms of a type's default representation.
>
> Should a relation (variable) attribute in a heading, identified by the
> attribute name, act as the 'function' (Chen) that maps any specific value in
> a domain to proper its semantic extension? If so, that would seem to imply
> that domains are still equivalent even when equivalent values are regarded
> as representing something semantically different, such as the case in
> Example2. This would also lead me to the conclusion that the two domains
> defined in Example2 would be defined as one domain independent of semantic
> extension, and that the attribute name mapping function (sometimes also
> called role) extends any specified value for a tuple to incorporate
> semantics independent of domain definition.
>
> Also, there seems there could be an major implication in that cases could
> exist where both attribute names are the same and the domain is the same
> (same name and collection of value elements), but values map to differing
> conceptual semantics. Such situations could lead to ambiguity and a lack of
> clarity in mapping relational elements to conceptual entities and
> properties.
>
> Which set of relation definitions would be correct provided that the we want
> to accurately express the semantics of the data from example2 above, but
> where attribute names are the same:
>
> RelationA=(TransID:Unique_Identifier, Process_Flag:DomA,
> PK: TransID);
> RelationB=(TransID:Unique_Identifier, Process_Flag:DomA
> PK: TransID);
>
> -vs-
>
> RelationA=(TransID:Unique_Identifier, Process_Flag:DomA,
> PK:TransID)
> RelationB=(TransID:Unique_Identifier, Process_Flag:DomB
> PK:TransID)
>
> I would also be greatly appreciative if any of you could provide pointers to
> any academic or industry papers that might provide insight or touch upon
> this topic.

Have a look at the work of Date and Darwen in The Third Manifesto.

>
> Thanks In Advance,
>
> Dan Guntermann
Received on Fri Jan 10 2003 - 02:22:50 CET

Original text of this message