R3DM conceptual data model in Topic Map Data Model

Table of Contents

R3DM in brief

Any information Resource can be explicitly defined as a Binary Information Resource BIR or Term Information Resource TIR and it may have one or more References, Representations and Realizations hence the name of the new data model (R3DM). Think about resources as nodes in a graph, each resource is represented with a node. There are nodes that represent digital assets or concepts that exist in the digital world (computer/web) such as files and web documents, and there are nodes that represent things on our world such as persons, objects, and abstract entities.

Representations and Realizations are referenced differently. For example, take the “Programming Language” concept. You may use the “Wikipedia” reference work, see (REF), to check for a definition or do the same with the “Free Dictionary Vocabulary”. In general you may have multiple references for the same entity. On the other hand once you reach at the realization stage, you have access of the value of the specific representation. In that case the URL address of the web/computer resource (aka realization) serves as the primary mechanism to retrieve or update that value. It is exactly the same analogy with the use of variables in computer programming to access the content of a memory storage and manipulate the value there.

Examples in TMDM

Instance of PERSON type with observations

The table shows that for an instance of type PERSON (TIR), we may have several observations of properties of type AGE and HEIGHT. For each one of these observations we can have one or more realizations.

Example 1

Athanassios (p1) is 44 years old and his first name in Greek is Αθανάσιος

Occurrences with scope

  • {p1, AGE, “Athanassios is 44 years old”} /STRING /PRESENT /TEXT /ENGLISH /LITERAL
  • {p1, AGE, “== Athanassios is 44 years old”} /STRING /PRESENT /WIKI /ENGLISH /LITERAL

Occurrences without scope

  • hasProp(p1:PERSON, a1:AGE)
    • {a1, VAL, “44”}
    • {a1, DTYPE,“INTEGER”}
    • {a1, UNIT, “YEAR”}
    • {a1, TIME, “PRESENT”}

Associations ONLY

  • hasProp (p1:AGENT, a1:AGE)

    • hasReal (a1:AGE, INT:DTYPE, val03:VAL, NOW:TIME, YR:UNIT)
    • hasReal (a1:AGE, STR:DTYPE, val04:VAL, NOW:TIME, HTML:ENC, EN:LANG)
  • hasProp (p1:AGENT, n1:FNAM)

    • hasReal (n1:FNAM, STR:DTYPE, val09:VAL, TXT:ENC, GR:LANG)
    • hasReal (n1:FNAM, STR:DTYPE, val00:VAL, TXT:ENC, EN:LANG)

Visualization of Example 1 in Wandora application using ONLY associations

Example 2

Athanassios (p2) was 1 m high at the age of four

Occurrences with scope


Associations ONLY

  • hasProp (p1:AGENT, a2:AGE, h1:HEIGHT)
    • hasReal (a2:AGE, INT:DTYPE, val07:VAL, PAST:TIME, YR:UNIT)
    • hasReal (a2:AGE, TXT:DTYPE, val08:VAL, PAST:TIME, STR:ENC, EN:LANG)
    • hasReal (h1:HEIGHT, INT:DTYPE, val05:VAL, cm:UNIT)
    • hasReal (h1:HEIGHT, TXT:DTYPE, val06:VAL, STR:ENC, EN:LANG)

Visualization of Example 2 in Wandora application using ONLY associations

Example 3

Athanassios (p1) and Aki (p2) are now taller than 1m

Associations ONLY

  • hasProp(p1:AGENT, h2:HEIGHT)
  • hasProp(p2:AGENT, h2:HEIGHT)
    • hasReal (h2:HEIGHT, INT:DTYPE, val01:VAL, NOW:TIME, cm:UNIT)
    • hasReal (h2:HEIGHT, STR:DTYPE, val02:VAL, NOW:TIME, TXT:ENC, EN:LANG)

Visualization of Example 3 in Wandora application using ONLY associations

Comparison of R3DM with TMDM


TMDM: “Everything is a Topic” R3DM: “Everything is a Resource”

Abstraction levels and units

There are three abstraction levels united in one

Resource = Reference + Representation + Realization

and respectively define basic information resource (IR) units at each level

Term IR (TIR) = Reference IR (RIR) + Signal IR (SIR) + Datum IR (DIR)

In TMDM you have Topic and Topic characteristics where Topic name, Topic Occurrence, Topic Role = Signal Information Resource (SIR)

Address (Referencing)

In TMDM there are addressable and non-addressable subjects. This IS THE point of major confusion in many models. In R3DM addressing is dependent on the abstraction level.

In DIR the content of the datum is accessed by reference, ONLY. You MUST know the subscript of the multidimensional array. In R3DM everything is stored in a multidimensional array and there are projections in every other kind of data structure including Tables in RDBMS, Documents and Graph in NoSQL.

In RIR addressing means referencing in a broader sense and that includes modelling of many concepts here, context, scope (see TDMD), and provenance.

In SIR it is about construction of Signs (e.g. identifiers, names, labels, etc….)

Relationships (R3DM) - Associations (TMDM)

There is another hot topic that of Relations-Relationships again the same tactics are followed like addressing. It depends on the abstraction level we are discussing

For example in TIR we have relationships among Terms and in DIR we are discussing about data structures.

What I consider fundamental in both models is that everything has to be based on a common unit of information processing, i.e. Topic in TMDM vs UniformIR in R3DM. Another absolutely critical similarity is the explicit definition of an abstraction level that models concepts, i.e. subjects according to TMDM or TermIR according to R3DM. Another distant similarity can be traced at the Sign level, S2 of R3DM compared to the level of occurrences in TMDM. Needless to say that in R3DM all types of identifiers are treated equally at S2.


Athanassios I. Hatzis, PhD
Software Engineer - Researcher, Founder/Independent Contractor