Copyright: SIPC From Ontology to Data Model: Choices and Design Decisions Matthew West Reference Data Architecture and Standards Manager Shell International Petroleum Company Ontolog Forum “Database and Ontology” mini- series Session-2 16-Nov-2006
Mar 27, 2015
Cop
yri
gh
t: S
IPC
From Ontology to Data Model: Choices and Design Decisions
Matthew West
Reference Data Architecture and Standards Manager
Shell International Petroleum Company
Ontolog Forum
“Database and Ontology” mini-series Session-2
16-Nov-2006
2
Introduction
• An ontology describes the types of things that exist, and rules that govern them, a data model defines records about things, and is the basis for a database design. Not all the information in an ontology may be needed (or can even be held) in a data model and there are a number of choices that need to be made. For example, some of the ontology may be held as reference data instead of as entity types. This talk will explore these choices, with illustrations from the ISO 15926-2 data model.
3
Relationship between an Ontology and Enterprise Systems
• Ontology
– Rules
– Classes
– Objects
• Enterprise Systems
– Business Processes (manuals)
– Application Processes and Stored Procedures
– Database Structure
– Records
4
Relationship between an Ontology and Enterprise Systems
• Ontology
– Rules
– Classes
– Objects
• Enterprise Systems
– Business Processes (manuals)
– Application Processes and Stored Procedures
– Database Structure
– Records
5
Relationship between an Ontology and Enterprise Systems
• Ontology
– Rules
– Classes
– Objects
• Enterprise Systems
– Business Processes (manuals)
– Application Processes and Stored Procedures
– Database Structure
– Records
6
Relationship between an Ontology and Enterprise Systems
• Ontology
– Rules
– Classes
– Objects
• Enterprise Systems
– Business Processes (manuals)
– Application Processes and Stored Procedures
– Database Structure
– Records
7
Relationship between an Ontology and Enterprise Systems
• Ontology
– Rules
– Classes
– Individuals
• Enterprise Systems
– Business Processes (manuals)
– Application Processes and Stored Procedures
– Database Structure
– Records
Hard
er (m
ore
expensiv
e) to
ch
ange
Easie
r to e
nfo
rce
limited
8
Data Models: Capabilities and Limitations
thing
X class of X
some X
some other X
Subtype/ supertype relationship
member of
9
Data Models: Capabilities and Limitations
thing
X class of X
some X
some other X
Subtype/ supertype relationship
Member of relationship
My X a member of My class of X
10
Data Models: Capabilities and Limitations
thing
X class of X
some X
some other X
Subtype/ supertype relationship
Member of relationship
My X a member of My class of X
11
Data Models: Some Options
thing
X class of X
Subtype of
member of
12
Data Models: Some options
thing
X class of X
Subtype of
X
some X
some other X
member of
13
Data Models: Some options
thing
class of X
Subtype of
X
some X
some other X
14
Reference Data Model and the Business Information Model level
Product•Name•Price•Price Currency•Date Introduced•Date Withdrawn
Market•Name•Start Date•End Date
Brand•Name•Date Introduced•Date Withdrawn
Sold in Sold under
15
A (3D) Logical Data Model for some Reference Data
Identification•Start Date•End Date
Thing Name• String
Product• Date Introduced
• Date Withdrawn
Market•Start Date•End Date
Brand• Date Introduced
• Date Withdrawn
Selling of productunder Brand•Start Date•End Date
Selling of product in Market•Start Date•End Date
of identifier
in of
ofunder
Product Price• Value•Start Date•End Date
Currency•Start Date•End Date
in
for
16
A denormalized Physical Data Model for Product, Brand, and Market
PRODUCT_T• ID (Key)• Version (key)• Name• Brand1ID (FK)• Brand1Name• Brand2ID (FK)• Brand2Name• Market1ID (FK)• Market1Name• Market2ID (FK)• Market2Name• Price• PriceCurrency
(FK)• DateCreated• DateLastModified• DateWithdrawn
BRAND_T• ID (Key)• Version (Key)• Name• DateCreated• DateLastModified• DateWithdrawn
MARKET_T• ID (Key)• Version (key)• Name• DateCreated• DateLastModified• DateWithdrawn
17
A Generic Physical Data Model for Reference Data
THING_T•ID•ThingType (FK)•StartDate•EndDate
ASSOCIATION_T•ID•AssociationType (FK)•Table1•ID1 (FK)•Table2•ID2 (FK)•StartDate•EndDate
VALUE_T•ID•PropertyType (FK)•ValueType (FK)•String•Number•UnitOfMeasure
18
Some Data Modelling Choices made in ISO 15926-2
• Relations modelled as entity types (not attributes)
• Key entity types for 4D paradigm included
• Subtypes of X not held when they can be held as instances of class_of_X, especially when numbers of subtypes are large
• Explicit model of representation (names and numbers) included to support multiple names and descriptions
• Meta-model included for extensibility, the ontology makes an open world rather than closed world assumption
19
Some choices made in ISO 15926
(ABS)thing
16,1 possible_individual
6,1 possible_individual
(ABS)abstract_object
2,1 class
18,2 representation_of_Gregorian_date_and_UTC_time
18,2 representation_of_Gregorian_date_and_UTC_time
18,2 representation_of_Gregorian_date_and_UTC_time
17,1 class_of_information_representation
11,1 relationship
4,1 multidimensional_object
*id STRING
record_copy_created
record_created
record_creator
record_logically_deleted
why_deleted
20
Some choices made in ISO 15926
possible_individual
arranged_individual
9,1 event
period_in_time
physical_object
materialized_physical_object
functional_physical_object
stream
spatial_location
9,2 activity
actual_individual
whole_life_individual
composition_of_individual
1
arrangement_of_individual
1
assembly_of_individual
feature_whole_part
(RT) whole
whole
temporal_whole_part
9,3 participation
9,4 temporal_bounding
part
Note: has no subtypes
21
Some choices made in ISO 15926
class_of_arranged_individual
1
class_of_atom
phase
class_of_biological_matter
class_of_functional_object
class_of_compound
class_of_molecule
class_of_composite_material
crystalline_structure
class_of_sub_atomic_particle
class_of_information_presentation
17,1 class_of_information_representation
class_of_particulate_material
class_of_organization
10,1 class_of_activity
class_of_information_object
class_of_feature
1
class_of_organismclass_of_person
class_of_inanimate_
physical_object
Subtypes of arranged_individual can be found here as instances
22
The split of classes between entity types and instances in ISO 15926
ISO 15926-2
Generic Classes
Standard Classes
Proprietary Classes
Data Model (201 classes)
Reference Data Library Standard and Proprietary classes (some 24,000 classes currently under development)
Reference Data Library generic classes (some 10,000 classes due for publication as ISO 15926-4)
23
Representation (by e.g. text or numbers)
6,1 possible_individual
6,1 possible_individual
6,1 possible_individual
representation_of_thing
definition(RT) represented
represented 1,1 thing
2,1 class
identification
description
sign
usage_of_representation
used user
responsibility_for_
representation
controlled controller
e.g. piece of paper with text on it.
24
Class of representation
6,1 possible_individual
6,1 possible_individual
class_of_information_representation
1
18,1 class_of_EXPRESS_information_representation
18,2 representation_of_Gregorian_date_and_UTC_time
class_of_representation_
translation
class_of_first
class_of_second
class_of_usage_of_representation
class_of_used
class_of_representation_
of_thing
class_of_identification
class_of_definition
(RT) represented
represented 1,1 thing
2,1 class
class_of_description
pattern
user
class_of_responsibility_for_
representation
class_of_controlled controller
e.g. the text on one or more pieces of paper.
25
Part of the Meta-Model
class
specialization
subclass
superclass
classificationclassified
1,1 thingclassifier
26
Another part of the Meta-Model
role_and_domain
role
class_of_relationship_
with_signature
specialization_by_domain
(RT) subclass
specialization_by_role
(RT) subclass
(RT) superclass
class_of_end_1
class_of_end_2
27
From Data Model to Database - Considerations
• First cut, each entity type maps to a table, but only if
– Each table has some distinct attributes, or
– There is some reason to segregate records (volume or access requirements)
28
From Data Model to Database
possible_individual
arranged_individual
9,1 event
period_in_time
physical_object
materialized_physical_object
functional_physical_object
stream
spatial_location
9,2 activity
actual_individual
whole_life_individual
29
From Data Model to Database
possible_individual
arranged_individual
9,1 event
period_in_time
physical_object
materialized_physical_object
functional_physical_object
stream
spatial_location
9,2 activity
actual_individual
whole_life_individual
PossibleIndividuals
•IsWholeLifeIndividual
•IsActualIndividual
•IsArrangedIndividual
•IsEvent
•IsPeriodInTime
•IsActivity
•IsPhysicalObject
•IsFunctionalPhysicalMaterial
•IsStream
•IsSpatialLocation
30
Conclusions
• Data Models are a key component for getting ontologies used in Information Systems
• There are a wide range of options when making design decisions both in moving from Ontology to Data Model/Reference Data, and from Data Model to Database
• Which options are best is likely to depend on the particular circumstances of and purposes of an application