As depicted in Figure 4.3 through the 4D-SETL framework, the design time BORO UML
ontological models are transformed to become an integral part of a the graph database system
that can be utilised as an integral component of an information system that can be queried via
a graph traversal and that can be undated through ACID compliant transactions. The ontology
Graph Database
4D Data Load
Tabular data to Graph DB NB data source can contain ‘schema’ and/or instance level objects
4D Domain Ontology
Worksheet to BORO UML to Graph DB 4D BORO Foundation
Ontology (Patterns) BORO UML to Graph DB
Figure 4.3: Ontological Architecture
4.3.4 4D Foundational Ontic Categories
As described in Chapter two, Section 2.7, at the highest level of the ontological architecture,
the Business Object Reference Ontology (BORO) Foundation provides the fundamental ontic
categories of Elements, Types and tuples.
4.3.5 4D Foundation Patterns
Tuple Types and tuple Type instances are employed to establish the general relationship
patterns which are defined by BORO. The Table 2.7 provides a non-exhaustive list of a
number of the main patterns.
During the course of the framework and prototype instantiation, and its application, the
4.3.6 Ontology Design Patterns
Developing ontologies based on patterns, together with a recognised framework, can help
improve the quality of the overall results. Fowler (2002) states, in relation to software design,
that patterns capture the essence of good designs and suggests that they are discovered
through observations of what is happening in practice, rather than being the subject of a good
idea. In a similar way to software design, rather than starting from a blank sheet of paper, a
domain level ontology design can be constructed from the design patterns drawn from a
pattern library – in this case the BORO formational ontology.. Table 4.2 provides an outline
of the phases in the process.
Phases Description
1 Gather background and authoritative information related to the data which will be used as the basis for the ontology. 2 Analyse the concept to decide what each field represents in reality (3D) view
3 Convert to a 4D view (add temporal extent to 3D object)
4 Analyse what the data represents using the Rev-Eng process (see Figure4.7) – Element, Type or Tuple. 5 Analyse what pattern to apply (see Figure 4.8) such as:
A Name that names a state i.e. the state of being President of the USA. An l Element such as Barak Obama – that has constituent states
A physical location –relating an Element via a Located-at relationship (tuple) - Events that create and dissolve states and their temporal location happens-at/happens-to. An extensive description of these patterns is described by partridge (2005) .
Table 4.2: Ontology Design Phases
The ontology design process involves the analysis of the domain (universe of discourse) and
the selection, adaption and combination of the relevant patterns drawn from the foundation.
BORO Name Pattern
The Name pattern is core to the BORO foundation and will be elaborated within the
following paragraphs. The BORO (4D) foundational ontology considers ‘names’ to be a
record of an utterance event (Partridge, 2005), which is more complete that that employed in
the majority of information systems and adopts the philosophical stance expounded by
Strawson (1964a):
“The distinction between identifying reference and uniquely existential assertion is something quite undeniable. The sense in which the existence
of something answering to a definite description used for the purpose of
identifying reference, and its distinguishability by an audience from
anything else, is presupposed and not asserted in an utterance containing
such an expression, so used, stands absolutely firm, whether or not one
opts for the view that radical failure of the presupposition would deprive
the statement of a truth-value. It remains a decisive objection to the theory
of Descriptions … that … it amounts to a denial of these undeniable distinctions” (Strawson, 1964a, p.85).
Commenting on Strawson’s (1964a) view, Snowdon (2009) asserts that there is no choice
other than to apply common-sense to the nature of meaning and reference and that such
fundamental concepts do not require validation by the empiricists, or those of science. Thus
an instance of a character string (name or sign) encoded in electronic format within a dataset
is deemed to represent a record of an ‘utterance’ event. Furthermore, an utterance event will exist in both time and space and therefore is an element.
- A Name as a Defined Type: The foundation objects that represent a ‘Name’ (from the real or possible world) are a ‘Defined Type’. As by definition, a ‘Name’ can only be a
‘Name’ if it employed to name something. Therefore ‘Names’ are defined by their function and consequently are considered a ‘Defined Type’ (Partridge, 2005).
- Name as a Type: As within reality there can be, and usually are, many instances of a ‘Name’, for example a name such as ‘ACME Limited’ will exist in many paper based and electronic systems, BORO models a ‘Name’ not as an individual Element but as a ‘Type’
(or class) of ‘Names’, which contains as member utterances of that particular name.
Therefore, Names are modelled as a sub-type of Elements Powertype and
Representations. The object ‘Names’ within the foundation ontology is a second order
object (a Type that contains Types). As previously described, each ‘Name’ is represented
by a Type (rather than an individual) that contains all the individual character Strings
(sign objects) that are employed to ‘Name’ an object (Partridge, 2005).
- A Name as a Physical Object: ‘Names’ are related to the object they name by the ‘named-by’ tuple (relationship) which establishes this relationship. By adopting BORO, an ontological commitment is made to the assertion that an instance ‘Name String’ is a
physical object in the form of spatio-temporal extent (Element). A ‘Name String’ can
exist in many forms: printed paper; the patterns formed by magnetic poles on a storage
disk; electrical charges within a memory or processor chip; or an utterance in the form of
sound waves (Partridge, 2005).
- Name Spaces: Each ‘Name’ Type can also be a member of a ‘Name Space’ instance which is controlled by a naming authority that has responsibility for naming objects, such
numbers) which provides unique identifiers. The ‘Name Spaces Type’ is a third order
‘Type’ that contains ‘Name Space Types that in turn contain ‘Name Types’(Partridge, 2005).
- Names Model and Reality: Within the BORO foundational ontology, names are as much objects as the objects they refer to in reality. Consequently, ‘Names’ are model objects
which are members of both the model and reality (domain), partly outside the object
model and partly inside. Therefore, reality (the domain) and the ontology (the object
model) are not distinct; rather they overlap (Partridge, 2005).
Figure 4.5 depicts a BORO UML model of the name pattern, which is established by a
foundation pattern. This pattern is extended to the domain for the specific purposes of
modelling the Company Record Office (UK CROs) reference numbers (names), a sub-type of
Names and also an instance of a Naming Spaces that name UK Businesses. A relationship
Figure 4.4: Name Pattern (Partridge, 2005). Exemplar Names – Integration Points
There can be any number of utterances that can be used to name an objects therefore, as
previously described; a ‘Name’ is a Type (class) of strings that can exist in a number of
physical forms, including that of an electronic record. For the purposes of 4D-SETL, the time
of the utterance is the time of the publication of the dataset. In addition, the authority of the
publisher must be considered, for example the publisher may be a naming authority (or
closely related). These features are employed during the 4D-SETL analysis and integration
‘Exemplar Name’. If this is true, the name can be employed as an integration point –and datasets can be joined through this name. It should be noted that it is the elements that are
named that are integrated rather than the names.
Model Object Names: Within the 4D-SETL model, object names are employed that are unique for each model element (node or relationship edge). The foundation and domain
ontology object names that are generated by the ontology UML design tool have their own
unique names. These names are reused within the warehouse (following the enhancement
implemented for the second iteration). When an object is added to the warehouse that is
programmatically generated by the load process, a unique name (sixteen hexadecimal
characters) is generated. This ensures consistency as references within the graph database are
independent of the node and edge index scheme of the graph database (Neo4J). This is
important as both node and edge identifiers can be reused when an item is deleted. Human
readable labels are also included in the model to help with debugging and query
development.
Temporal Location Pattern
As a 4D spatio-temporal extent - extends in both time and space, it will have both temporal
and spatial coordinates. In terms of a temporal location, it will be contained, for example,
within the year 2015. As the foundational ontology asserts that the year 2015 represents all of
space during the 12 month period, a spatio-temporal extent may be located within this period,
or overlap with it. The location happens-in pattern has an associated creation and dissolution
events. These events are 3D as they have a zero temporal extension; however they are
Physical Location Pattern
A spatio-temporal extent may have some form of coordinates to specify its (relative) physical
location. The located-at pattern provides the facility to associate s temporal part of the spatio-
temporal extent at such a location.
Temporal Part Role Pattern
A spatio-temporal such as a company or person will be constituted from temporal parts. The
role of being a company director is a temporal part of both the company and the person who
is fulfilling the director role. In a similar manner, a company may have a business activity of
mobile phone manufacturing; therefore, this state will be part of the Type defined by the
Standard Industrial Classification system that has all such companies as members.