V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

49
1 NEDERLANDSE CONCEPTENBIBLIOTHEEK VOOR DE BOUW (CB-NL) 1 MODELING GUIDE Version 1.2, October 2013 Editor Linda van den Brink (Geonovum) Authors Mick Baggen (RWS) Jaap Bakker (RWS), Chair CB-NL Jakob Beetz (TU/e) Michel Böhms (TNO) Elton Manoku (RWS) Bram Mommers (Arcadis), Secretary CB-NL Ron Nagtegaal (ProRail) Mieke van Nierop (RWS) 1 In English: ‘Dutch Concept Ontology’

Transcript of V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

Page 1: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

1

NEDERLANDSE CONCEPTENBIBLIOTHEEK VOOR

DE BOUW (CB-NL)1

MODELING GUIDE

Version 1.2, October 2013

Editor Linda van den Brink (Geonovum) Authors Mick Baggen (RWS) Jaap Bakker (RWS), Chair CB-NL Jakob Beetz (TU/e) Michel Böhms (TNO) Elton Manoku (RWS) Bram Mommers (Arcadis), Secretary CB-NL Ron Nagtegaal (ProRail) Mieke van Nierop (RWS)

1 In English: ‘Dutch Concept Ontology’

Page 2: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

2

Colofon

Publishing

Information

Project BIR/CB-NL

Author(s) Michel Böhms, Bram Mommers, Mick Baggen, Jaap Bakker, Elton

Manoku, Mieke van Nierop, Ron Nagtegaal, Jakob Beetz, Linda van

den Brink, Jennifer Oldfield

Date 17-06-2013

Status Approved

Version 1.0

History Version Date Changes Distribution

0.1 04-03-

2013

First draft (Kees Woestenenk) ICT-werkgroep

0.2 11-03-

2013

Second draft (Kees Woestenenk) ICT-werkgroep

0.3 10-04-

2013

Initial feedback & CMO/OWL-info Michel

Böhms processed (Mieke van Nierop)

ICT werkgroep

0.4 15-04-

2013

Restructuring (Michel Böhms & Elton

Manoku)

ICT werkgroep

0.5 21-04-

2013

After meeting Michel/Elton & Input Ron ICT werkgroep

0.5a 21-04-

2013

Add Linda’s URI strategy; added cmo

modeling guidelines

ICT werkgroep

0.6 08-05-

2013

After meeting 21/4 ICT werkgroep

0.7 27-05-

2013

After meeting 13/5 ICT werkgroep

0.8 05-06-

2013

After meeting 29/5 ICT werkgroep

0.9 17-6-

2013

After remote review ICT werkgroep

1.0 17-6-

2013

Released

1.1 Adaptations and clarifications;

BuildingSample added.

1.2 Additional remarks, see AL1.2

Page 3: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

3

Page 4: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

4

Content

1 Introduction ........................................................................................................................ 6

1.1 Background.................................................................................................................. 6

1.2 Goal of this Guide & Target Audience ........................................................................ 7

1.3 Scope ........................................................................................................................... 8

1.4 Process ......................................................................................................................... 9

1.5 Reading Guide ............................................................................................................. 9

2 Positioning CB-NL: a future proof approach .................................................................... 10

2.1 Positioning CB-NL as country-specific ontology ...................................................... 10

2.2 CB-NL as an autonomous ontology ........................................................................... 11

2.3 Contexts in CB-NL ...................................................................................................... 13

3 Requirements .................................................................................................................... 15

3.1 Introduction .............................................................................................................. 15

3.2 Prerequisites ............................................................................................................. 15

3.3 Principles ................................................................................................................... 16

3.3.1 Modeling constructs ........................................................................................... 16

3.3.2 Unique identification .......................................................................................... 16

3.3.3 Properties ........................................................................................................... 17

3.3.4 Datatypes, quantities and units ......................................................................... 17

3.3.5 Specialization hierarchy (taxonomy) .................................................................. 17

3.3.6 Decomposition hierarchy (whole – part) ........................................................... 17

3.3.7 Topological relationship ..................................................................................... 17

3.3.8 General interrelationships.................................................................................. 17

3.3.9 Cardinalities for properties and relationships ................................................... 17

3.3.10 Constraints ......................................................................................................... 17

3.3.11 Versioning ........................................................................................................... 18

3.3.12 Metadata ............................................................................................................ 18

3.3.13 Archetypes / top level classes ............................................................................ 18

3.3.14 Links/references to external information .......................................................... 18

4 Modeling Approach .......................................................................................................... 19

4.1 Introduction .............................................................................................................. 19

Page 5: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

5

4.2 Modeling Language ................................................................................................... 19

4.3 Introduction Web Ontology Language (OWL) ......................................................... 20

4.3.1 OWL2 Subset used ............................................................................................. 22

4.3.2 OWL2 extension for concept modeling .............................................................. 23

4.4 MODELING GUIDELINES ............................................................................................ 24

4.4.1 Introduction ........................................................................................................ 24

4.4.2 Guidelines ........................................................................................................... 24

4.5 Top-level CB-NL ......................................................................................................... 35

4.5.1 Top-level classes ................................................................................................. 35

4.5.2 Top-level relationships ....................................................................................... 36

4.5.3 Extra CB-NL guidelines based on top-level ....................................................... 37

4.6 Five simple steps for end users ................................................................................ 37

4.7 Validation Approach ................................................................................................. 38

5 Sample ontology: BuildingSample.owl .............................................................................. 38

6 Glossary ............................................................................................................................. 42

7 References ......................................................................................................................... 44

8 Open issues ....................................................................................................................... 48

Page 6: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

6

1 Introduction

1.1 BACKGROUND

In 2012 the BIR2 decided to start the development of the CB-NL (the Dutch concept library).

This decision was based on the pilot phase in which the need and objective, but also the

configuration, requirements and workplan for the CB-NL were determined. This was

reported in the document “Nederlandse conceptenbibliotheek (CB-NL) Hoofdrapportage

Pilotfase”.

This document is an elaboration of the (modeling) principles as described in the report of the

pilot phase.

The Nederlandse Conceptenbibliotheek (CB-NL) is a library or collection of concepts for the

building knowledge domain. This library is in fact an ontology, which defines concepts and

semantic relations between these concepts.

The starting point for CB-NL is [OWL2]. CB-NL conforms with [ISO 12006-3].

One aspect of the CB-NL ontology is its use as a vocabulary:TODO it contains terms and

definitions in Dutch and English. These terms function as labels or symbols for the concepts

in the library. But this is only a part of the ontology. It also contains a taxonomy: the

concepts are structured in a hierarchy. In this taxonomy concepts can be a subclass of more

than one concept. The ontology also contains non-hierarchical relations between concepts,

making it possible to capture all kinds of knowledge about the world.

The terms vocabulary and ontology are often used to mean

the same or similar things. TODO Usually, the term

controlled vocabulary is used for simple collections of

terms, while the term ontology is most often used when

referring to more complex collections of terms and their

interrelations3.

In this document, we use the terms to mean distinct things.

The controlled vocabulary is seen as the simplest form of a

collection of terms, to which a dictionary, taxonomy and

2 BouwInformatieRaad (Building Information Council). An platform in which different sectors of the construction industry are represented with the objective to increase the use of BIM in the industry. 3 http://www.w3.org/standards/semanticweb/ontology

VOCAB

ULARY

DICTIONARY

TAXONOMY

ONTOLOGY

FIGURE 1: FROM VOCABULARY TO ONTOLOGY

Page 7: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

7

ontology each add a layer of information and complexity.

A vocabulary is a collection of terms [ISO 16354] or in other words, a set of domain-

dependent predicates and functions that provide the basis for the statement of facts

[Brachman et al 2004, p32, 209].: all the concepts that play a role in some domain, are

named in the vocabulary. A vocabulary is just a list of names of things. Part of the CB-NL

ontology is a vocabulary. The vocabulary contains terms in Dutch and/or English. These

terms function as labels for the concepts in the library.

A dictionary enriches the terms from a vocabulary with descriptions of their meanings.

A taxonomy is an ordering of concepts in a tree-like structure. The concepts have a name

(vocabulary) and meaning (dictionary). A taxonomy is organized hierarchically, with the

most general concepts at the top and the more specialized ones further down. [Brachman et

al 2004, p172]. The top concepts of the hierarchy are predefined in CB-NL and described

later on in this guideline (see 4.5, Top-level CB-NL).

An ontology, as the term is used in the field of Knowledge Representation, is a catalogue of

the kinds of objects (constants, functions, relations) that are important in a domain4, the

properties those objects will be thought to have, and the relationships among them5. The

kinds of objects in an ontology are also called concepts. The relationships in an ontology are

not necessarily hierarchic. In CB-NL, relationships between concepts such as composition

and behavior (function) are used for their definition.

1.2 GOAL OF THIS GUIDE & TARGET AUDIENCE

The goal of this guide is to describe a complete modeling approach and to provide explicit

requirements to be used by modelers who define concepts in the Nederlandse

Conceptenbibliotheek (CB-NL) ontology. The modeling process consists of modelers

capturing construction knowledge from experts in the Dutch construction domain, and

translating that knowledge into the ontology of CB-NL. The construction domain comprises

all life stages of construction works: client’s brief, design, construction and maintenance.

The target audience are the expert modelers capturing construction knowledge provided by

clients like RWS, RGD and ProRail, consultancy/engineering firms like Arcadis and Movaris,

and contractors like Ballast Nedam, Heijmans and VolkerWessels.

4 a sphere of knowledge, influence, or activity – Merriam Webster dictionary

Page 8: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

8

This guide does not describe implementation details. It is one of three documents written by

the ICT working group:

1. This document: defines the modeling approach for the definition of the CB-NL

ontology;

2. “Nederlandse Conceptenbibliotheek – implementation guide”: will define an

organizational implementation approach. It will describe the roles and functions

necessary for the maintenance of CB- NL, procedures for entering new concepts, etc.;

3. “Nederlandse Conceptenbibliotheek – software implementation guide”: will describe

the technical requirements of the software required to realize the CB-NL.

The CB-NL is not a goal in itself. It will be used/exploited in the following three ways in

Building and Civil Infrastructure domains’ life-cycles and supply-chains:

1. For Management: As Knowledge Management framework

2. For Integration: In Information Exchange and Sharing

3. For Innovation: As enabler for new advanced software functionalities

1.3 SCOPE

This report discusses only the modeling approach for CB-NL.

Apart from a limited ‘guiding’ top-level part of CB-NL it does not define CB-NL itself.

In this guide we only focus on semantic aspects like classes and properties defining building

objects in a meaningful way. Representation or even presentation/visualization-aspects like

for shape (‘geometry’) are not in scope although we pay attention to the way such

information can be linked to our semantic definitions.

FIGURE 2: DIFFERENT LEVELS OF SEMANTICS

Individuals or instances are not in scope. TODO This guideline focusses on the semantics of

the CB-NL ontology, and its vocabulary, taxonomy, concept properties, and relationships.

The real content of CB-NL is out of scope TODO, apart from a set of top-level concepts of

which other concepts are derived. ‘Classifications’ as nouns are in scope because they are

equivalent with the meta-concept of taxonomy denoting a specialization hierarchy of

classes.

Finally, this guide is also not a functional specification for CB-NL compliant software

functionalities although decisions made in this guide determine to a large extent the

Page 9: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

9

demands and wishes for the open interfaces such software functionalities must, should or

could support.

1.4 PROCESS

We follow an iterative/incremental process where first specifications of this guide by the CB-

NL ICT group are given to the expert modelers to play with and give feedback for

improvement in the form of changes and extensions needed.

A good example here is the need to model ‘topology aspects’ or in simple words: how things

are connected and or bound by each other, quite a relevant topic when modeling

infrastructure networks but also building spaces bounded by walls etc.

Together with CB-NL itself, this modeling guide is a living document and will evolve in time.

The first edition is edited by the ICT group of CB-NL. Together with the growing content of

the ontology the guide will evolve in time as a consequence of feedback from modelers,

implementers and end-users.

Because of the inherent complexity of the subject we will try to constantly relate the theory

and technicalities to examples from daily construction practice.

1.5 READING GUIDE

This document contains the ‘Modeling guide’ for the CB-NL. The document is initially meant

to be used by modeling experts working on the CB-NL and can therefore be considered as

complex and abstract for readers without any modeling knowledge. The reader should be

aware of this because of the risk of misinterpretation. For questions related to the content,

please contact members of the ICT group of the CB-NL.

As described, this document was initially written for CB-NL modelers. But this document is

also very useable for other organizations. For example if third parties want to connect their

ICT systems, tools or own ontologies or classifications (vocabulary) with the CB-NL, and

require more inside in the modeling principles of the CB-NL. But it can also be used only for

inspiration.

Page 10: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

10

2 POSITIONING CB-NL: A FUTURE PROOF APPROACH

We observe a strong tendency away from traditional, top-down/centralized, static

information structures to distributed, flexible and highly interconnected and interactive

dynamic ‘clouds of ontologies’. This time there is no small committee thinking up one truth

for the world to stick to but many initiatives, sources and individuals all having their own

valid view and truth.

It’s like the world wide web but now in a “database” perspective, more structured, more

meaningful (‘semantic’), not only for people but also for the software they use.

We can classify different ontologies in the cloud according to different coverage layers:

International/European (like bSDD, the buildingSmart Data Dictionary),

Country-specific (like this CB-NL),

Organization-specific (like for ProRail),

Project-specific (like the RWS Schiphol, Amsterdam, Almere (SAA) project), or even

Individual-specific (like a MickBaggenTaxonomy)

In each layer we can position both open standards and proprietary specifications like those

associated to specific software applications. So an ontology related to the input or output of

Autodesk Revit or Civil3D would be positioned in the international layer and the RWS DISK

(on existing tunnels , bridges etc.) database would be in the organization-specific layer.

2.1 POSITIONING CB-NL AS COUNTRY-SPECIFIC ONTOLOGY

An ontology such as CB-NL could hold an infinite number of concepts. But the CB-NL is not a

standalone collection of concepts. It is part of the larger whole of international ontologies

and standards on the one hand and organizational ones on the other. Positioning CB-NL in

this international and national context is important.

On a higher, international level, there exist lawfully binding agreements such as INSPIRE6, to

which all European countries must adhere, and relevant international ontologies like bSDD7.

CB-NL is an extension of these international ontologies. The relationship is possibly complex.

Classes in CB-NL can be equivalent to properties TODO from an international ontology and

vice versa. Our own national concepts in CB-NL are either subclasses of the concepts from

these international agreements, or mapped to these concepts as having the same meaning.

In the international layer, only those concepts that are common for all countries are present.

CB-NL plays the same role on the national level: it defines only those concepts that are

specific to the Dutch context, but also relevant for all Dutch stakeholders. Thus, CB-NL is a

framework that more specific, organizational ontologies can extend with subclasses of their

6 http://www.geonovum.nl/dossiers/inspire 7 http://www.buildingsmart.org/standards/ifd

Page 11: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

11

own. The figure below shows the positioning of CB-NL in an international and national

context.

2.2 CB-NL AS AN AUTONOMOUS ONTOLOGY

Like stated in 2.1, the CB-NL is part of a network of ontologies. This network is open and

accessible for everybody to use or publish their own ontologies. But we also acknowledge

the fact that some ontologies in this network are more relevant to us than others. For

example the bSDD is an important ontology because it is our international gateway to the

construction industry. We support the communication schema of the bSDD (ISO12006-3

V16, IFD) and we even sync information with the bSDD. TODO But besides this cooperation

it must be clear that the CB-NL is completely autonomous. The CB-NL is responsible for

managing the national semantics. The primary processes of the Dutch stakeholders will

depend on the CB-NL. These stakeholders should have total control on the CB-NL and

therefore the CB-NL should stay autonomous in the network of distributed libraries. TODO

FIGURE 3: POSITIONING CB-NL

Page 12: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

12

There are three levels of integration / connection of existing national knowledge systems /

standards to CB-NL.

FIGURE 4: LEVELS OF CONNECTION TO CB-NL

Level 1: standards as content of CB-NL

Concepts from standards which are very important to CB-NL are entered as content TODO of

CB-NL. These are: Semantic Concepts and Cheobs. These standards represent common

ground already present in the Dutch building community. Maintenance of these standards is

transferred to the CB-NL organization. T

TODO plaatje over CB-NL core en contexten toevoegen

The concepts from the standard are mapped to concepts that are already present in CB-NL

Core, using, for example, a specialization relationship (other relationships are also possible).

Example: concept ‘door’ from CB-NL gets a subclass ‘outer wall openings’, the lowest level of

the NL-Sfb standard. In addition, the CB-NL concept ‘door’ can get a subclass ‘doors outside’,

which is a concept from the SEL standard. TODO beter bescrhijven. SEL is een context

standard en verwijst naar CB-NL core.

AL1.2

Level 2: References from CB-NL to external concepts

Whenever possible, external references are made from concepts in CB-NL to concepts in

knowledge systems of participating knowledge institutes.

Part of CB-NL content Maintained by

knowledge

institutes .

Maintained by

knowledge

institute

Properties for voor

specific contract:

- Property1

- Property2

- …

Business libraries

Project libraries

Maintained by knowledge

institute

List of properties

- Property1

- Property2

1

2

3

3

Page 13: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

13

For example, a concept ‘round air channel’ in CB-NL could have a mapping (equivalent class)

to a class ‘roundairchannel’ from ETIM8, using its unique ID. In ETIM, the properties of the

class are defined. The class is maintained by the responsible knowledge institute. TODO

vaststellen wat nou werkelijk de bedoeling is.

Level 3: References from external knowledge systems to CB-NL

Whenever possible, external knowledge systems contain references from their own

concepts to CB-NL concepts, using the CB-NL concept’s unique ID. The CB-NL does not

maintain external concepts which are associated with CB-NL in this way. TODO

AL1.2

Example:

In a document detailing the costs of a building project references are made to concepts from

CB-NL. If these concepts are used in a BIM model, knowledge of these costs can be linked to

the objects in the BIM. The CB-NL does not maintain any knowledge that refers to BIM in this

way.

Even though CB-NL is ‘higher’ in the hierarchy than an organizational ontology, this does not

mean that it is a strict, unchangeable truth that lower ontologies must adhere to. CB-NL is

the place where commonly shared concepts live. If several stakeholders discover they have a

concept in common, but it is not present in CB-NL, then it can be added. Instead of fixing CB-

NL for say four years, a collaborative, iterative/incremental ‘growth’ process is supported. A

consequence of this is that the history of an ontology and versioning of its concepts is

essential. Earlier content must remain available for projects or organizations who use it.

It also becomes important to know who actually ‘said what about what’ and other

governance aspects like the status of content (accepted, draft, etc).

2.3 Contexts in CB-NL

As becomes clear from the previous paragraph, CB-NL is an ontology based on input from

several existing classifications, vocabularies etc. already in use. CB-NL makes explicit that

different classifications/vocabularies co-exist within the CB-NL ontology9 as separate

contexts. A context indicates for which domain a term is valid and usable.TODO

AL1.2

Besides these collections of terms that are based on existing classifications, a CB-NL “core” is

defined to which the terms from classifications are mapped. Existing classifications are not

mapped to each other, but only to CB-NL core, which acts as an intermediary upper or pivot

8 A standardization organization in the Dutch building domain. 9 In het stuk over de URI strategie leg ik uit dat we verschillende contexten met een vast onderdeel in de URI identifier onderscheiden.

Page 14: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

14

ontology. In this way, the most efficient mapping is achieved (it requires far less references

to link all the terms from different contexts to the core, than it does to link them all to each

other).

(Core-)Concepts have a semantic definition, which follows from their place in the CB-NL

ontology, e.g. their super classes and additional defining properties or relationships.

Semantic definitions are needed to be able to map concepts from different sources.

Initially, the CB-NL-core will have at least all defining properties AL12. TODO we hebben

besloten dat we geen datamodel maken maar een woordenboek. Dus wel discriminatoren,

maar geen datamodelleringsconstructies. The management of other properties and

relationships always relates to a context, as a (part of a) name space. These contexts are

maintained by the respective stakeholders such as individual organizations, domain expert

groups or those who make the norms and regulations for the specific contexts.

Name spaces are part of CB-NL, but are managed by their respective owners. TODO term

namespace hier niet goed gebruikt. Concepts in collections from a context provider and

owner must have either a semantic definition, a definition provided in natural language

terms or both. TODO owners mogen in hun eigen context doen wat ze willen?

Verduidelijken. AL1.2 Concepts in collections can be mapped to the core elements in the CB-

NL.

Concepts in collections are related (mapped) to CB-NL core by marking them as equivalent,

using subclassing, composition, or with explicit equivalence relations. AL1.2 TODO Michel

bohms

Page 15: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

15

3 REQUIREMENTS

3.1 Introduction

The requirements are split in two categories: prerequisites that are base requirements often

determined externally, and principles, as starting points, typically based on our own

decisions as CB-NL group for CB-NL and its modeling and implementation approach.

3.2 Prerequisites

1. CB-NL will be, just like this guide, a fully open standard that can be accessed and used

by anybody free of charge. Development and maintenance cost will not be covered

by having people to pay for the usage taking away any obstacle for acceptance and

usage and thereby maximize the critical mass.

2. The CB-NL will as much as possible (re)use existing national and international

information standards (like information modeling languages, access mechanisms but

also guidelines or even information structures themselves) AL1.2 where possible,

maximizing reuse and minimizing double work and incompatibilities. Examples

include W3C Semantic Web technology like the Web Ontology Language [OWL2],

BuildingSmart’s Industry Foundation Classes [IFC] and upcoming [IFCforInfra], and

INSPIRE information models.

3. CB-NL should accommodate AL1.2 a variety of stakeholder views where concepts are

defined once and used many times (In Dutch: “eenmalige vastlegging, meervoudig

gebruik”).The scope of CB-NL covers the whole life span and supply-chain ‘matrix’

and involved ‘ disciplines’ of a construction artifact or “ structure”, from the

programming phase (dealing with requirements), via the design and construction

phase to the actual operational and maintenance phase. In other words: the total

Asset Management and Asset Usage management (like ‘ traffic management’).

4. The context of CB-NL covers all construction-related domains: Buildings (residential,

utilities), civil infrastructures, including installation plants and environmental (in the

interpretation of the ‘surroundings’) objects.

5. CB-NL will only cover information structures as determined by laws and regulations

or that are common and relevant for multiple organizations in the construction

sector as a whole. Sub-domains (like UNETO-VNI/2BA for installations, RIONED for

sewerage, or BouwConnect for supplied products) can have their own extensions

(like organizations, projects, individuals etc.). The exact interaction between CB-NL

Page 16: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

16

and those ‘ external’ extensions or sub-ontologies should be defined carefully. TODO

wordt elders besproken.

6. Existing information structures like ontologies, dictionaries, libraries, classifications

etc. are taken as starting point for the initial definition of CB-NL where they can be

interrelated (via mechanisms like equivalence rules, subclassing, synonyms etc.). A

good example is the Inspire Transport Network schema [INSPIRE TN] providing high

level concepts like RailwayNode and RoadLink.

7. The use of CB-NL should not in any way limit flexibility.

8. Great care should be taken to ensure CB-NL’s internal consistency. TODO

9. CB-NL will not be a static information structure. It will be a ‘living’ thing where

classes, properties etc. are changed and created all the time. Care should be given in

keeping content and interfaced functionalities compatible in time by retaining the

history in snapshots of the ontology where needed. TODO

10. CB-NL will be developed step-wise where partial results can be utilized and in each

step a cost-benefit analysis will be performed. Modularity is an important

characteristic to enable this.AL1.2 TODO

11. Only the maintainer of CB-NL has authority to change CB-NL content. This maintainer

will be appointed by the Bouw Informatieraad.

3.3 Principles

This paragraph describes the principles of the CB-NL (based on, for example, laws and

regulations like the European Inspire Directives).

3.3.1 MODELING CONSTRUCTS

Modeling constructs in CB-NL are: Classes, Properties for those classes, Datatypes for those

properties (base types like string and integer but also user-defined ones like enumeration

types) and various Interrelationships. TODO

“Concepts” in CB-NL are all things that are modeled as a class, property, datatype, or

interrelationship.

3.3.2 UNIQUE IDENTIFICATION

Each Concept has one unique ID in the scope where it is defined, one semantic definition,

one or more potentially multi-lingual labels and zero or more descriptions.TODO

Page 17: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

17

3.3.3 PROPERTIES

Properties are defined in CB-NL as independent entities; by default, a property can be used

with any class. It is possible to make a property mandatory for a class, to define restrictions

for property values, and to give a property a fixed value for a certain class.

3.3.4 DATATYPES, QUANTITIES AND UNITS

The allowed values of data type properties (i.e. properties that have simple values as

content) can be restricted. In case of quantitative properties, a quantity kind must be

indicated on class level (a base quantity kind or a derived quantity kind). In CB-NL quantity

kinds are used as data types for data type properties (i.e. CB-NL states that there is a

property ‘height’ which has as data type the quantity kind ‘Length’). This restriction is

applied sparsely, i.e. only when the value (and unit) is the sole discriminator from other

concepts in its immediate context.

3.3.5 SPECIALIZATION HIERARCHY (TAXONOMY)

There is a predefined interrelationship for concepts to model specialization/generalization,

resulting in subclasses/superclasses. Specialization implies inheritance of all properties of

superclasses to the subclasses.

3.3.6 DECOMPOSITION HIERARCHY (WHOLE – PART)

There is a predefined interrelationship for concepts to model composition/decomposition,

resulting in wholes/parts.

3.3.7 TOPOLOGICAL RELATIONSHIP

It is possible to model how things are connected to and/or bounding each other. For

example, to model civil infrastructure we need to be able to model ‘infra networks (road

and rail networks).

3.3.8 GENERAL INTERRELATIONSHIPS

Besides the previously mentioned predefined relationships, it is possible to model general,

user-defined interrelationships (other than specialization/decomposition/topology).

3.3.9 CARDINALITIES FOR PROPERTIES AND RELATIONSHIPS

A mechanism is available to restrict the minimum and/or maximum cardinality of a property

or relationship in the context of a class. This restriction is applied sparsely, i.e. only when the

multiplicity is the sole discriminator from other concepts in its immediate context.

3.3.10 CONSTRAINTS

Mechanisms are available to define class-level constraints, for example value ranges for

properties. This restriction is applied sparsely, i.e. only when this restriction is crucial for

understanding the nature of the concept described.

Page 18: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

18

3.3.11 VERSIONING

Concepts retain the same identification under changes in time or status. The definition of a

concept may change over time, provided that a modified concept is issued as a new version.

Concepts cannot be deleted, invalid concepts are indicated as such by their status.

Snapshots of CB-NL at a certain moment in time are also versioned.

Versioning is a complex subject and still under discussion by the ICT working group. TODO

3.3.12 METADATA

For ontology/concept management mechanisms are available to model various meta-

information (information about information, provenance information) items like source info,

version info, status, etc.

3.3.13 ARCHETYPES / TOP LEVEL CLASSES

There is a pre-modeled top-level of CB-NL. For example, In CB-NL we distinguish between

Spaces and Physical Objects and their relationships like the fact that physical objects form

the boundary of spaces.

3.3.14 LINKS/REFERENCES TO EXTERNAL INFORMATION

It is possible to refer from a concept to external information like explaining documents,

geometry, drawings etc. using a link.

Page 19: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

19

4 Modeling Approach

4.1 INTRODUCTION

The modeling approach has three main components: (1) the modeling language chosen, (2) a

set of modeling guidelines for using that language and (3) a top-level part of CB-NL with

extra guidelines of using that top-level in the elaboration of CB-NL.

The choice of language is the first thing, but many modeling guidelines have to be specified

on top of that. Example: the fact that we have ‘concepts’ and give them names is in the

language but the fact that we start with a Capital for the name is a modeling guideline.

Finally we want to define some start of CB-NL (a small number of top level concepts, not

being part of the language but of the CB-NL contents) to kick-start and further guide the

expert modelers.

The proposed modeling approach, as a combination of language, guidelines and CB-NL

specific top-level, covers all prerequisites and principles we specified in chapter 3. The Dutch

contractors who work together in CB-NL have defined this modeling approach as a basis for

information exchange.

This chapter contains the rules for modeling concepts in CB-NL. The definition of CB-NL will

be done fully complaint tot these rules. Deviations will lead to mutually incompatible parts

of CB-NL.

4.2 MODELING LANGUAGE

In CB-NL we decided to use the Web Ontology Language (OWL) as base language. This

language is a good fit for the requirements and principles described in chapter 3. Also, OWL

is an emerging technology that is being adopted by more and more organizations.

This section describes the use of OWL as the CB-NL modeling language. To be more precise

we will use OWL Version 2 [OWL2]. OWL is developed by the World Wide Web Consortium

(W3C) and is a mathematically/logically very well-defined, international and fully generic

open standard for modeling ontologies (and hence ‘concept libraries’). It covers about 90%

of our CB-NL requirements, while not even all the available OWL2 language constructs are

needed. Only a subset of the OWL semantics is used in CB-NL; what this subset is will be

elaborated below. OWL has various, mutually equivalent, syntax forms or ‘serializations’. We

will use the most elegant and user-friendliest of them: Turtle.

The 10% of our language requirements not covered by OWL can be accommodated by

defining a so-called upper ontology covering those missing items that are included/imported

in any further CB-NL compliant end-user ontology. But before defining our own constructs,

Page 20: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

20

we reuse elements from existing upper ontologies as much as possible, such as Dublin Core10

[DC], [QUDT]11, and possibly [SKOS]12 (for synonyms, preferred labels etc), and

[GeoSPARQL]13 (for geometry classes).

Beside the Semantic Web and more specifically OWL as system for CB-NL we will make sure

we can tightly connect to two other, secondary, worlds of library modeling from the building

domain:

bSI’s IFD/bSDD

The Dutch COINS BIM (CBIM) initiative

Links to these world are in principle bi-directional. We want to make OWL ontologies

available as IFD and/or COINS libraries and, the other way round, we want to be able to

reuse existing information structures from these worlds as first fillings in CB-NL. TODO

4.3 Introduction Web Ontology Language (OWL)

OWL is the key result of the so-called ‘Semantic Web Activity’ within the World Wide Web

Consortium (W3C), the organization also responsible for the open web standards that drive

the World Wide Web on top of the Internet (HTTP, URI, HTML, XML, XSD, XPath, XQuery, etc.

etc.).

As the name suggest it is a, fully open, international and generic, standard to model

ontologies defined as abstract, simplified views of a part of the world that we wish to

represent for some purpose. What we historically call “Libraries” (knowledge libraries, object

libraries, product libraries, concept libraries) or even Dictionaries (like bSI’s bSDD) are in fact

in OWL-speak “Ontologies”.

The basic principle of the semantic web according to its inventor Tim Berners-Lee is three-

fold:

Anyone can say anything about anything

No one knows everything about anything

My system is most valuable because of its interconnection to its peers

From the earlier ideas on a future-proof approach it is clear that these principles fit very

nicely even if we do not want to put the principle to work to the extreme: we want to

incorporate many views in CB-NL, but in a controlled way. We also know these views will

10 Provides a standardized vocabulary for metadata. 11 Provides a standardized ontology for Quantities, Units, Dimensions and Data Types. 12 Simple Knowledge Organization System 13 Provides a core RDF/OWL vocabulary for geographic information based on ISO standards such as Simple Features [ISO 19125-1].

Page 21: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

21

never be complete but will grow in time. Finally a lot of concepts in CB-NL become more

meaningful when related to other views on the same concept.

The principle of the semantic web and its use of ontologies result in some differences with

traditional modeling in EXPRESS, NIAM, UML etc. of the past. For users of these traditional

modeling languages it requires a new way of thinking. We will therefore briefly explain the

differences of this new school of modeling below.

Open World Assumption (OWA)

The basic idea of the OWA is that things not said/stated are “unknown”, instead of “not

true/false”. In traditional modeling the Closed World Assumption (CWA) is used where

things are assumed “false” if not stated “true”. If a CWA database does not state that I have

children it is assumed I have no children, in OWA I could have children but it is unknown.

Other information could be provided at a later date or by someone else, adding to the

knowledge about me. This approach, which is well suited for dynamic concept

libraries/ontologies such as the CB-NL, results in an ever-growing and flexible knowledge

base.

Classes/Sets instead of Types

Some object-oriented modeling approaches allow you to subtype in such a way that some

super type properties are not valid anymore. In the semantic web approach, types are

replaced by more rigorous classes or sets with a very clear semantic meaning. One

consequence is that a subclass always inherits ALL properties of its superclass (since the

subclass stands for a subset of the individuals of the superclass).

Properties are “first class citizens” (just like Classes)

Traditionally many modeling languages start with classes (or entities, or types, or..) as main

modeling construct. Properties are assigned to these classes/entities/types as secondary

concepts. In OWL, Classes and Properties are on equal footing and can be flexibly combined.

Combined with OWA this means that any property can be in principle a property of any class

if not constrained (including object properties like decomposition/“hasPart”: everything

could in principle be a part of anything else, again, if not constrained explicitly).

Properties also cover Relationships (two kinds of properties: data type properties and

object properties)

Traditionally modeling languages split between attribute types and relationship types. Not in

OWL where they are all properties: data type properties in case the range of a property is a

data type (these can be compared with the traditional attribute types) and object properties

if the range of a property is not a data type but another class, referencing individuals of that

class.

Page 22: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

22

Traditional: classes/types first, now individuals/instances first

All traditional modeling language start making information structures and then instantiate

them with instances/individuals which should be valid against that schema. With

ontologies/knowledge engineering this is often not the typical way. Ontologies are

developed, but the link between instances and the classes in the ontologies is often derived:

instances are “classified” based on their properties. Because the first focus of CB-NL is the

modeling of an ontology and not the individuals complying to this ontology, this issue will

not directly arise for us. TODO vaag. Besluit nodig over instanties

Besides these principles we have to discuss some special characteristics:

Triples as information atoms

All ontologies and data sets are basically sets of triples and this is made explicit in RDF/OWL.

Every triple functions as a kind of information atom that is in principle independent from any

other triple. This makes it easier to split and merge ontologies and to have alternative views

on the same domain. You could say that triples never change, they are just added or deleted.

Merging ontologies is done by adding all triples together, deleting the double ones and

making sure the result is consistent in itself.

Identification via globally unique web-based Uniform Resource Identifiers (URIs)

Identifiers are globally unique but not globally decided. Every party/authority can have its

own name space where the parties knowledge about concepts and individuals resides, using

their own URI scheme. Explicit modeling constructs are available to say that concepts or

individuals from different name spaces are actually the same or not the same (if this is not

stated explicitly, the OWA applies and it is “unknown”).

4.3.1 OWL2 SUBSET USED

OWL2 is a layered language itself: OWL is using

[RDFS] (and RDF) and RDFS is using [RDF].

Defining a subset of OWL2 means that we

actually define a subset of RDF, RDFS and OWL2

constructs.

OWL2, RDFS, and RDF constructs we use are: FIGURE 5: SEMANTIC WEB LAYERED PROTOCOL STACK

Page 23: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

23

owl:Class

reflecting our need for ‘concepts’.

owl:DatatypeProperty

reflecting our needs for ‘properties’

owl:ObjectProperty

reflecting our needs for ‘interrelationships’

also used for predefining decomposition

owl:Restriction

reflecting our needs for defining ‘constraints’ on properties

making use of constructs like owl:onProperty, owl:minCardinality,

owl:maxCardinality, owl:hasValue

owl:Thing

reflecting our needs for a top-level ontology

owl: versionInfo

reflecting our need to specify the version of the construct

rdfs:Datatype

reflecting our needs for ‘datatypes’, defining allowed values for datatype properties

rdfs:subClassOf

reflecting our needs for ‘specialization’

rdfs:label

reflecting our need to ‘name’ things

rdfs:comment

reflecting our need to record ‘descriptions’ of things TODO

rdfs:range

reflecting our need to restrict the values of a property

4.3.2 OWL2 EXTENSION FOR CONCEPT MODELING

In addition to RDFS and OWL, we use a small number of additional upper ontologies. All of

these are maintained by standards organizations or come from big, stable organizations (for

example NASA). The upper ontologies used are:

dct: Dublin Core Terms, http://purl.org/dc/terms/, by DCMI14.

o dct:modified is used to record version dates

o dct:rightsHolder is used to record the owner of a concept TODO

o dct:partOf is used for modeling class-level decomposition. hasPart is not used.

o dct:references is used for referring to related resources (images, geometry,

documents, etc) TODO

o dct:alternative, used to provide alternative ‘names’ (synonyms) for things

o dct:conformsTo, used to reference standards. TODO

14 http://dublincore.org/about-us/

Page 24: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

24

qudt: Quantities, Units, Dimensions and Types http://qudt.org/1.1/vocab/quantity,

by NASA. Quantities (as special data types, next to base type and enumeration types)

are reused from the NASA quantity & unit model (www.qudt.org).

geosparql: GeoSPARQL, http://www.opengis.net/ont/geosparql, by OGC15 for

modeling topological relationships.

For some constructs no ontology was yet found that could be reused.

cbnl:status, for the status of the concept.

cbnl:sourceid TODO arjanfor the identifier that links the concept to the source, if the

concept was extracted from a pre-existing source.

4.4 MODELING GUIDELINES

4.4.1 INTRODUCTION

This chapter contains a more detailed description of the previous sections, with specific rules

for the CB-NL ontology regarding its vocabulary, taxonomy, modeling of properties,

composition, etc.

Together with the language defined earlier in this chapter, modeling guidelines will

enable/support the right ‘quality’ of CB-NL in terms of consistency and completeness.

Besides using the same language, all collaborating expert modelers ‘filling’ CB-NL (under the

top-level) should follow these guidelines for the best, compatible results.

Sources for these rules are several existing standards:

[ISO 16354]: Guidelines for knowledge libraries and object libraries

[ISO 19150-2] (draft): Geographic information - Ontology - Part 2: Rules for

developing ontologies in the Web Ontology Language (OWL)

4.4.2 GUIDELINES

4.4.2.1 CLASSES

CB-NL consists of a collection of interrelated classes.

All newly defined classes should be directly or indirectly a subclass of the predefined

archetype classes of the top-level.

Classes should be context and view independent on the higher specialization levels allowing

for alternative contexts/views through subclasses of these levels.

Classes do not only cover tangible things like bridges and buildings but also intangible things

like involvement, interconnection. A good example of such a class (though out of scope) is a 15 http://www.opengeospatial.org/ogc

Page 25: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

25

‘marriage’ which can be modeled as a relationship between people but also as a class

(having properties and interrelationships of its own)16.

Each class is encoded as an OWL Class:

cbnl:WallElement

rdfs:label “Wall Element”@en;

rdf:type owl:Class ; TODO

4.4.2.2 CLASS NAMES

Each class has names attached to it as labels. There is at least one name in English and one

name in Dutch (English is required because of connection to international standards),

additional names and additional languages are allowed. The set of names (terms) together

form the CB-NL vocabulary. rdfs:label is used to encode concept names, including a language

tag: TODO

rdfs:label "Wall element"@en , "Wandelement"@nl;

Naming convention for Class labels

• Uppercase-starting

• Singular

• Example: “Sliding door”

4.4.2.3 CONCEPT METADATA

Concepts may have a lexical description: a free-text account of the concept. In addition, each

class and property has attributes for version, version date, status and owner. Owner

information is encoded using Dublin Core [DC] elements.

Versioning metadata on concept level could either be encoded with Dublin Core elements or,

alternatively, CB-NL could use the versioning methods offered in the temporary modeling

environment based on Protégé, the NeON Toolkit and OMV17. This is still under investigation.

TODO

The description can be added in several languages and must always have a language tag. The

description is intended for extra information, but NOT intended to give a definition of the

concept or property. The semantic definition is given by a concept’s place in the ontology,

i.e. a class is defined by its discriminating properties and relationships to other classes.

TODO

For example, description of a fly-over:

16 Typically such objectified relationships are existing dependent of at least 2 or more other cocnepts they are related with (“no marriage for one person”) 17 Ontology Metadata Vocabulary (OMV), http://omv2.sourceforge.net/

Page 26: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

26

rdfs:comment “The upper road (above ground) of a grade-separated

junction"@en , "De bovenste weg (boven maaiveld) van een vrije

kruising."@nl ;

Version date: date when the class or property was last changed. The [ISO 8601]

representation of date and time is used (YYYY-MM-DD).

AL1.2 TODO

dct:modified18 “2013-05-22”;

Status: indicates the stage of acceptance of the concept or property in the CB-NL ontology.

Possible values are:

“approved”: the concept/property is an accepted/approved CB-NL member

“checked”: the concept/property is a candidate member of CB-NL, but still under

development and not yet approved.

“draft”: the concept is entered in CB-NL but not yet checked by the CB-NL team.

“final draft”: the concept is checked by the CB-NL team but should be accepted by

external users. For example, a full integrity check of the ontology or the relation with

context ontologies.

“invalid”: the concept is not (no longer) valid to be used.

“transferred”: the concept is merged with another concept.

TODO

The status of every concept is at bootstrap (after conversion) set to “approved”; this means

that only by changing the status to some other value the ontology is in transition (at that

location). Th ontology is published when all statuses are set to “approved”.

There is no Dublin Core term for status metadata, so CB-NL will either define its own:

cb-nl:status “approved”;

Owner: the party responsible for making the resource available.

dct:rightsHolder19 “CB-NL”; TODO

4.4.2.4 IDENTIFICATION: URI-STRATEGY

The concepts defined in CB-NL will be re-used by many organizations for communication within the construction domain. While CB-NL is a central concept library, it is part of a distributed web of more specific concept libraries. For these reasons, it is essential that each CB-NL concept (including its versions) is uniquely and reliably identifiable. W3C recommends20 http-URI’s as identifiers. CB-NL adopts the draft URI strategy for the Netherlands for its identifiers for concepts. The URI pattern prescribed by the draft NL URI strategy and applied in the CB-NL is shown below: 18 http://purl.org/dc/terms/modified 19 http://purl.org/dc/terms/rightsHolder

Page 27: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

27

For individual objects (individuals/instances): http://{domain}/{type}/{concept}/{reference}

which translates to CB-NL URI format: http://www.cb-nl.nl/cb/id/{reference}

Note: CB-NL does not contain /doc/ URIs . For definitions of ontology terms:

http://{domain}/def#{concept}

which translates to CB-NL URI format: http://www.cb-nl.nl/cb/def/{concept}

The domain of the URI is: http://www.cb-nl.nl/cb.

CB-NL is an ontology based on input from several existing semantic standards, vocabularies

etc. already in use. It is possible that collisions (i.e. the same terms occurring in several

collections of terms) will occur. To deal with this, the context in which the concept has a

certain meaning must somehow be part of the identifier. For this, the {path} part of the

{domain} is used. This means that CB-NL makes explicit that different semantic

standards/vocabularies co-exist within the CB-NL ontology. TODO

For example:

{domain} {path} {type} {concept}

http://www.cb-nl.nl/cb/ imgeo def Viaduct

http://www.cb-nl.nl/cb/ nen2767-4 def Viaduct

Because of the use of {path} to indicate the context, it is possible to avoid name clashes in CB-NL. A concept named ‘Viaduct’ in both IMGeo and NEN2767-4 can be identified as belonging to either IMGeo or NEN2767-4 by looking at the {path} part of its URI, and can also be distinguished from the corresponding concept ‘Construction’ in the CB-NL core. {concept} This indicates the thing the URI identifies. Concepts in CB-NL are identified with a abbreviated form of the concept label, in british english. An advantage of using concept names as identifiers is that it results in more readable, user-friendly URLs. A possible disadvantage is that different concepts could have the same name. If they are from a different context, this is not a problem because the context is part of the URI. If they are from the same context, care must be taken to distinguish the different concepts by giving them different names; e.g. not ‘bank’, but ‘river bank’ and ‘savings bank’.

20 http://www.w3.org/DesignIssues/LinkedData.html

Page 28: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

28

This “disambiguation” step can be taken when and where the issue arises. New concepts with an identical name can be disambiguated by, preferrably, adding the name of the immediate superclass to the name. For example: bank becomes: RiverPart_Bank, as the superclass URI concept name is RiverPart. In conclusion: If one of the alternatives is used in the identifying URI, a UUID could nevertheless be used to ensure the interoperability with IFC and IFD libraries such as bSDD. This UUID could be stored, for example, in a dc:identifier field. An extra check is then necessary to ensure that there are no two things in the ontology with the same identifier. TODO

To point to versions, the NL URI strategy prescribes the use of dates in the URIs after

{concept}. The [ISO 8601] representation: yyyy-mm-dd is used. TODO

URIs for different versions of concepts are constructed. CB-NL needs versioned URI’s,

because:

Realization of construction projects often takes years. Standards that are part of the

tender/contract can change while a building project is still going on. It is therefore

necessary to refer to a certain version of a relevant standard.

In the same way, construction contracts will refer to concepts from CB-NL. If a

relevant concept in CB-NL changes while construction is still going on, this could

create confusion or problems. It must be possible to refer to the specific version of

the concept that was meant in the contract.

It must however also be possible to refer to the latest, current version of a concept. The

draft NL URI strategy does not yet describe how to do this. In CB-NL, the concept’s URI

without version is used for this. If someone uses a URI that does not include the concept’s

version, it is interpreted to refer to the latest, current version of the concept.

Example:

[A] http://www.cb-nl.nl/cb/def/[someName]/2012-02-01 -- old version

[B] http://www.cb-nl.nl/cb/def/[someName]/2013-01-01 -- current version

[C] http://www.cb-nl.nl/cb/def/[ someName]>> redirects to [B]

4.4.2.5 PROPERTY GUIDELINES

Datatype Properties give information about a thing in the form of simple values. They are

defined as independent entities as instances of owl:DatatypeProperty.

Each property has names attached to it as labels. The guidelines for property names are

similar to the guidelines for class names. There is at least one name in English and one name

in Dutch (English is required because of connection to international standards), additional

names and additional languages are allowed. The set of names (terms) together form the

CB-NL vocabulary. rdfs:label is used to encode names, including a language tag:

rdfs:label "wall length"@en , "wandlengte"@nl;

Naming convention for Property labels

Page 29: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

29

• Lowercase-starting

• Singular

• Example: “door height”

In OWL, properties are independent things that are not by definition properties of a certain

class like in traditional languages such as EXPRESS or UML. It is possible to make explicit to

which class(es) a property belongs using domain clauses. In CB-NL however, properties are

not hard-coded to belong to a certain class. This means that we do not use domain clauses

for data type properties to keep maximum flexibility (i.e. a property can be used by any class

in accordance with the open world assumption).

When a property is essential to a class, this is defined in CB-NL by stating that this property is

mandatory (i.e. it has a minCardinality=1). In the same way it is possible to state that a

property cannot be used with a certain class by giving it maxCardinality=0.

For example, to define that a class Car has wheels, at least one:

ns:Car a owl:Class ;

rdfs:subClassOf [

a owl:Restriction ;

owl:onProperty ns:hasWheel ;

owl:minCardinality "1"^^xsd:nonNegativeInteger

] .

Every data type property should have a data type defined as range. This can be a standard

data type such as the base types from XML Schema (xs:string, xs:date, etc), or a user defined

data type. Special attention is paid to quantities and units, see paragraph 4.4.2.11.

For example, a property brand with as range the base type xsd:string (=alphanumeric text):

:brand rdfs:range xsd:string .

Properties that are required to discriminate between similar concepts in its direct vicinity

(superclass, sibling classes) may be added this way. The introduction of such properties must

be applied only when no other method is feasible. Other properties can also be added to

CB-NL. TODO

For example, an informal definition of a lock (NL: ‘een sluis’) could be that it is a movable

construction which connects two water bodies with the function of stopping water. The

property ‘isMovable’ is therefore a discriminating property of the concept Lock and is made

a mandatory property (minCardinality=1) of the class Lock. Another property could be the

average amount of times the Lock is moved in a year. This, however, is not part of the

semantic definition (a movable construction which is closed and opened at least xx times a

year…) and therefore this property is not mandatory for the class Lock (although it can be

Page 30: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

30

part of CB-NL content), even though it may hold important knowledge for the maintenance

of the lock. TODO fasering

4.4.2.6 CLASS-LEVEL PROPERTY VALUES

Extra semantics can be added to classes by explicitly modeling class level property values.

These values hold for every individual of that class (per definition); they are not ‘free

variables’ anymore for the instances. Typically specialization discriminators can be made

explicit this way.

For example, a 15 inch wheel is a subclass of Wheel where the property ‘diameter’ has a

fixed value:

:Wheel15inch

rdf:type owl:Class ;

rdfs:subClassOf :Wheel ;

rdfs:subClassOf

[ rdf:type owl:Restriction ;

owl:hasValue 0.38 ;

owl:onProperty :diameter

] .

Note that the fixed value is not 15, but 0.38. This is because the default, SI unit of diameter is

meter, not inch. 0.38 meter is 15 inch (see 4.4.2.11 for more on this topic).

4.4.2.7 SPECIALIZATION GUIDELINES

In order to give concepts a place in the taxonomy (the hierarchy of concepts, see 1.1),

specialization relationships are used to connect more specific concepts to more general

(increasingly abstract) ones. In this relationship, we call the general class superclass, and the

specific class subclass.

It is often possible to think of different hierarchies depending on the context of the user. For

example, map makers divide the concept Road into different subclasses by their traffic

function (highway, regional road, local road, cycle path, etc.), road builders according to the

materials used (asphalt road, brick road, dirt road), and maintainers of roads by their

amount of use (main road, area access road, local access road, private access road). Which

property (function, usage, material, or some other criterion) is used to divide a class into

specialized subclasses depends on the context in which the vocabulary is used. The modeler

should be aware of this and only use a single property as a criterion for creating a hierarchy,

not several at the same time. TODO This is in all cases the property inheritance hierarchy:

what holds for any superclass also holds for the subclass. Properties are thus “inherited”.

To indicate that individuals of some concept are a part of individuals of another concept,

specialization is not used. There is a special relationship, ‘composition’, defined for this in

paragraph 4.4.2.8.

Page 31: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

31

In addition, the following guidelines must be taken into account when modeling

specialization:

Every class must have at least one superclass (more general class).

Superclasses can have zero or more subclasses and subclasses can have one or more

superclass.

Set theory applies: a clean inheritance approach in which a subclass inherits its

definition (and narrows it down) and inherits all properties from its superclass. The

fact that a class is a subclass of another class means that there is a difference with

this superclass (usually an additional discriminator).

No loops: it is not allowed to model a superclass A with a subclass B, and a class C as

subclass of B, when A is a subclass of C.

Every user-defined class is directly or indirectly a subclass of one of the CB-NL top-

level classes.

Exclusivity among subclasses is modeled explicitly where applicable

Concepts can only specialize into other concepts from the same kind of top level

classes. Spaces specialize in more specific spaces, not in PhysicalObjects etc.

4.4.2.8 COMPOSITION GUIDELINES TODO LIEKE

When a concept is modeled as a construction of parts or elements, we use a composition

relationship (often called: decomposition) to relate the whole to the parts. Only when it is

semantically discriminating, the composition is made part of CB-NL (like with properties).

To encode composition, dct:hasPart21 is used. For example, a Wall is composed of Wall

elements:

:Wall

dct:hasPart :WallElement.TODO fout voorbeeld

Guidelines for composition:

Cardinalities (min or max or both) can be constrained on class level constraining the

instance composition property for certain ranges. To be used when a concept has, by

definition, a minimum and/or maximum number of total parts or specific types of

parts. TODO voorbeeld, bv eenwielige circusfiets.

On class level a ‘whole’ can have zero or more typical ‘parts’ and ‘parts’ can have

zero or more typical ‘wholes’. For example, a pillar can be part of a bridge or part of a

house. TODO fout

No loops. If B is a part of A, and C is a part of B, A cannot be a part of C.

No self-reference. A thing cannot be a part of itself.

21 http://purl.org/dc/terms/hasPart [DC]

Page 32: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

32

4.4.2.9 GUIDELINES FOR GENERAL INTERRELATIONSHIPS

In cases where a interrelationship is relevant to a class, but not semantically covered by one

of the available relationships (specialization, composition, topology, or another one defined

in the CB-NL top level), a relationship can be defined for this based on owl:ObjectProperty.

Example: defining a relationship ‘hasPosition’ for the semantic definition of spatial object22.

cbnl:hasPosition

rdfs:label “hasPosition”;

rdf:type owl:ObjectProperty .

4.4.2.10 INTERACTION BETWEEN CLASS, PROPERTY AND DATA TYPE SPECIALIZATION HIERARCHIES

When specializing a class in a subclass we usually want to define a restriction on a (for that

class typical) data type property or object property (relationship). This can be accomplished

by restricting some cardinality (min, max or both) and/or by constraining the values resp.

references the range of the property can take.

This can be done in several ways so we need good guidelines here to get compatible results.

Let’s analyze the two cases.

Case 1: Specializing classes where data type properties are restricted.

In this case we can assume we always deal with value restrictions (it is hard to think up an

example where you specialize according to the cardinality of a data type property). An

example is a RedCar which is a Car having value “Red” for color. To model this, there are

several possibilities:

1. In principle we can just specialize the class and add a restriction at the subclass

specifying that property ‘color’ must have the value “Red” for this subclass. So no

change of property.

:RedCar rdfs:subClassOf [ rdf:type owl:Restriction ;

owl:hasValue “Red” ;

owl:onProperty :color] .

2. Alternatively you could make a sub property redColor (of color) that has a restriction

at this new property for the value. The data type is not changed.

:redColor rdfs:subPropertyOf :color ;

Owl:hasValue “Red” ;

:RedCar rdfs:subClassOf

[ rdf:type owl:Restriction ;

owl:minCardinality “1” ;

owl:onProperty :redColor;] .

3. Finally it is possible to define a new data type “RedColor” having just one

enumeration value being based on the original Color data type that is used as new

range data type for the new property. This seems overly complex in this example, but

22 [ISO 19101]

Page 33: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

33

would be logical when the restriction is to a subset of the original values (i.e. the

original list of colors has different shades of red, data type “RedColor” is restricted to

only these colors indicating shades of red).

Option 1 is recommended, except when the restriction is not to a single value but to a subset

of the original values. Then, option 3 is needed. TODO michel

Case 2: Specializing classes where object properties are restricted.

In this case we can have sometimes cardinality restrictions (Unicycles are Cycles with one

Wheel) sometimes value restrictions (17InchWheelCar, a Car having only 17InchWheels as

parts). In case of a value restriction the same situation as above applies involving so-called

QCR’s, Qualified Cardinality Restrictions where the range class is restricted to a certain

subclass.

4.4.2.11 QUANTITIES AND UNITS

For quantities (sometimes also called measures) and units an existing international unit

ontology, QUDT, is used. QUDT stands for “Quantities, Units, Dimensions and Types” and is

being developed by NASA and TopQuadrant. QUDT has two goals:

to provide a unified model of, measurable quantities, units for measuring different

kinds of quantities, the numerical values of quantities in different units of measure

and the data structures and data types used to store and manipulate these objects in

software;

to populate the model with the instance data (quantities, units, quantity values, etc.)

required to meet the life-cycle needs of the Constellation Program engineering

community23.

QUDT has all the definitions and several ways (or use cases as they call it) to use them in

your own ontologies, including the use via data types as applied in CB-NL. If you do not

model units directly but apply quantity kinds on class-level, capturing the more essential

information, there are several ways to treat units. One way is to exchange units in your data

(you should in that case use an allowed unit according to QUDT and use the right value

entities from QUDT). Another approach is to not model/exchange units at all but assume SI

units24 (base and derived). We will for now follow this last approach, especially since

instantiation is not the first priority of CB-NL (this does not mean that we are not interested

at all since class-level constraints also need value instantiation).

Example:

Class: Wheel

23 http://www.qudt.org 24 The International System of Units (SI) specifies a set of seven base units from which all other units of measurement are formed

Page 34: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

34

Property: diameter

Data type: Length

Instance/individual:

Value: 0.43 (assuming SI: meter)

QUDT provides us with predefined quantity kinds and units to use in the CB-NL ontology. In

CB-NL, quantity kinds instead of units are used as data types for data type properties whose

value is a quantity of something. Which unit is used for values, is only relevant in specific

contexts or on the data level. Only on rare occasions, when properties are restricted to a

specific value, the unit is relevant in the CB-NL core ontology (see 4.4.2.6).

To link a data type property, for example ‘height’, to a quantity kind, for example ‘Length’,

the range of the property is defined to be of one of the quantity kinds in QUDT:

cbnl:height

rdfs:label “height”

rdfs:range qudt:Length .

QUDT assumes default SI unit for each quantity kind, for example, meter for Length. Thus it

is not necessary to model units in CB-NL or even to make them explicit in ontologies or in the

data. Given the quantity kind used, QUDT knows the corresponding SI unit. This goes for

simple units like meter but also for more complex derived units like meter per second. As

long as the unit is known that way, on the data exchange level it is always possible to

transform values to another unit, or a different unit than the default can be specified on the

data level (in which case the unit of measure is added as metadata to the value).

In cases where class level data type properties are defined, we rely on the QUDT default SI

units.

If we want to deviate from the default units defined in QUDT, we have to specify this in the

CB-NL. It is not yet clear if there is a need for this in CB-NL. If so, this section will be expanded

with information on how to do this.

4.4.2.12 REFERENCES TO EXTERNAL RESOURCES

To refer from a concept to external information like explaining documents, geometry,

drawings etc. using a link, the Dublin Core element dct:references25 is used.

Example:

:Wegmarkering

dct:references “http://nl.wikipedia.org/wiki/Wegmarkering”^^xsd:anyURI;

25 http://purl.org/dc/terms/references

Page 35: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

35

Geometry

In CB-NL we (ideally) want to model 100% in a pure semantic way. Semantic properties like

width, height, that define the shape of a thing, can be modeled in CB-NL. When the shape of

a thing is too complex to model in this way and yet needs a geometric representation, this is

added as a reference.

4.4.3 MEMBERSHIP RELATION

AL1.2 A concept may be a member of a collection, which is itself introduced as a collection

concept. This relation is called membership and takes the form of a cbnl:isMemberOf

relation.

For example, a Bridge is a “Spanning construction” but also a member of “Artifical works”

(“Kunstwerk”).

cbnl:ArtificalWorks

rdfs:subClasssOf cbnl:Collection .

cbnl:Bridge

cbnl:isMemberOf cbnl:ArtificalWorks .

AL1.2L

4.5 TOP-LEVEL CB-NL TODO LINDA

Now that we have the language and the guidelines for using that language in place we could

start modeling the CB-NL. It is however wise to do some (limited) pre-modeling for the top-

level of CB-NL. With ‘top-level’ we mean a set of global and/or generic classes, properties,

data types, etc. that all other details/specifics (typical parts and subclasses) by future

modelers have to “stay under”.

In a sense, the top-level of CB-NL (together with the modeling language and modeling

guidelines) should give the modeler exactly the right freedom:

Not too much, as this would result in getting incompatible results for different

modelers, and

Not too little, limiting his/her needs for expression.

The top level structure as presented in the next paragraphs is still under discussion by the CB-

NL ICT working group. TODO linda

4.5.1 TOP-LEVEL CLASSES

For the sake of simplicity, the initial top level structure of CB-NL is a linear list of subclasses

of owl:Thing. Classes may be added to this top level structure if necessary. The suggested

top level classes are: TODO lieke

Page 36: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

36

Function

Space

PhysicalObject.

Material

Activity

Document

Party (organization or person)

Mechanism/Tool

A physical object is a manifestation of matter and/or energy and has physical properties such

as mass, color, etc), whereas a Space cannot have these properties.

In addition, the CB-NL top-level structure will accommodate network topology for the

modeling of roads, railways, etc. as network structures. Top-level classes, for example ‘Link’

and ‘Node’ could be added to the top-level classes, potentially on micro, meso and macro26

level. Another option is to add classes and relationships for network topology to a separate

namespace. Network topology in CB-NL will be based on the INSPIRE generic network model

[INSPIRE GNM].

4.5.2 TOP-LEVEL RELATIONSHIPS

Predefined relationships, ‘arch-relationships’, are also available, for example for behavior.

This relationship indicates that a class has a certain behavior, function, or activity (often this

is a defining property for classes). Functions and Function Fulfillers are distinguished from

each other and their typical relationships modeled in CB-NL: relations ‘isFullfilledBy’ and its

inverse ‘fulfills’.

Some important relationships are already available in RDFS/OWL (specialization:

rdfs:subClassOf) or Dublin Core (composition: dct:hasPart). In addition, several top level

relationships are defined in the CB-NL top structure:

Subject relationship Object

Space or PhysicalObject fulfills (Function)

Function or Activity involves (PhysicalObject OR Party)

Space or PhysicalObject isBoundedBy (Space or PhysicalObject)

Space or PhysicalObject dct:hasPart (Space or PhysicalObject)

Physical object madeOf (Material)

Spaces and physical objects both have a spatial manifestation, which means they have a

location and a geometry. This means that all spatial relations like isBoundedBy can occur

26 In the case of roads think about road lanes, sections and segments respectively

Page 37: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

37

between spaces and other spaces, spaces and physical objects, or physical objects and other

physical objects.

In addition, the CB-NL top-level structure will accommodate network topology for the

modeling of roads, railways, etc. as network structures. One or more predefined relationships

for modeling topology, i.e. interconnections between nodes and links, could be added to the

CB-NL top level if necessary. These could be based on [ISO 19125-1 which in turn is based on

ISO 19101]. Another possibility is re-using the implementation of these relationships (e.g.

‘disjoint’, ‘touches’, …) in GeoSPARQL. TODO linda

In addition, it is possible to model general relationships (see paragraph 4.4.2.9).

4.5.3 EXTRA CB-NL GUIDELINES BASED ON TOP-LEVEL

This section gives extra integrity rules that apply to the interrelationships between concepts.

Concepts can only decompose in other concepts from the same kind of archetypes. Spaces decompose in spaces, not in PhysicalObjects etc.

Strictness: Mandatory

An activity/function can only be fulfilled by a space/physical object.

Strictness: Mandatory

Two concepts can have an interrelationship only if they are in the same decomposition level. Note: The decomposition level is defined by going up in the decomposition hierarchy

until reaching the top concept.

Strictness: Mandatory

4.6 FIVE SIMPLE STEPS FOR MODELERS

Above we defined all modeling constructs and guidelines used for OWL within CB-NL. Below

we define the subset that is relevant for a modeler defining simple ontologies of his own, as

part of CB-NL using ‘Must-have’ modeling constructs only.

STEP 1: Model relevant classes (English name/label only)

STEP 2: Model data type properties (again (English name/label only) including data

type ranges being often an available ‘quantity’, sometimes an xsd base data type and

sometimes a user-defined enumeration data type

STEP 3: Connect classes and data type properties

Page 38: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

38

STEP 4: Connect classes among themselves via specialization

STEP 5: Connect classes among themselves via composition

FIGURE 6: ONTOLOGY IN 5 SIMPLE STEPS

Note that this schematic figure does not give a complete image of CB-NL content. Not all

classes are a specialization of a more generic concept, there are no examples of classes that

have more than one super class, etc. A more complete figure may be provided in a later

version of this modeling guide.

4.7 VALIDATION APPROACH

When validating (parts of CB-NL) we consider two dimensions:

1. the level of validation:

a. OWL only

b. a + Modeling Guidelines

c. a+ b + CB-NL Top Level

2. the degree of automation:

a. implicit by chosen meta-model (“you cannot do it wrong”),

b. explicitly checked automatically,

c. things that cannot be checked automatically (need manual process)

Rules that are categorized under 1c have to do with interaction between concepts in the CB-

NL top level. These extra integrity rules that apply on the interrelationships between

concepts are summarized in paragraph

5 SAMPLE ONTOLOGY: BUILDINGSAMPLE.OWL TODO

Page 39: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

39

In order to illustrate the constructs mentioned in this Modeling Guide we provide a Turtle

ontology on a Building sample. This applies in a very restricted fashion all constructs

introduced. In order to understand the buildup of the model, we provide an UML class

diagram; this of course is not the basis for the OWL ontology, but an illustration.

The UML semantics are not followed in a strict sense; we intend to show that all concepts

(and subclasses) must have a sourceid, that all Doors (and subclasses) must have a

hasRotation property, that all Walls (and subclasses) must have a borders object property,

and so on.

All concepts may or must have the specified metadata. For example, Building is encoded as:

cbnl:Building

rdf:type owl:Class ;

rdfs:comment "Een bouwwerk"@nl ;

rdfs:label "Building"@en , "Gebouw"@nl ;

rdfs:subClassOf cbnl:Concept ;

dc:creator "AL"@en ;

terms:alternative "Building construct"@en , "Bouwsel"@nl ;

terms:modified "2013-10-01"^^xsd:string ;

class Model

Building

House

+ cbnl:numberOfQuarters: int

Bridge

Skyway

BuildingPart

+ cbnl:hasHeight: qudt:LengthUnit [0..1]+ cbnl:hasWidth: qudt:LengthUnit [0..1]

Door

+ hasRotation: cbnl:DoorRotations [0..1]

Foundation

Footbridge

Block Material

«enumeration»

cbnl:DoorRotations

Slide Rotate Swing

ApartmentBuildingSlidingDoor

SlidingDoor.type is fixed to "Slide"

AppartmentBuilding.quarters is larger than 1

Wall

Concept

+ cbnl:sourceid: char+ cbnl:status: cbnl:status+ dc:contributor: dct:Agent+ dct:alternative: char [0..*]+ dct:modified: date+ dct:rightsHolder: dct:Agent+ owl:versionInfo: char

Terrain

This association represents the group of terrains and buildings.

A Skyway joins 2 or more Buildings (not Terrains).

A Block is a context ontology is the same asa Building Part in the core ontology..

BuildingParts do not need to specify height and width; this only is relevant when the property is discriminating.

«enumeration»

dct:Agent

CBNL AL LB LV

«enumeration»

cbnl:status

approved checked draft invalid transferred

cbnl:supports

equivalence

0..*geo:coveredBy 1..*

0..*

dct:partOf

0..*

cbnl:borders

1..* 0..*

cbnl:isSetIn

1..2

joins

2..*

0..*

dct:partOf 0..*

Page 40: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

40

terms:rightsHolder cbnl:CBNL ;

cbnl:hasStatus cbnl-instance:Draft ;

cbnl:sourceid "300-2" ;

cbnl:supports cbnl:Building ;

owl:disjointWith cbnl:BuildingPart ;

owl:versionInfo "1.0.1"@nl .

Building part is part of a Building part or a Building:

cbnl:BuildingPart

terms:isPartOf cbnl:BuildingPart , cbnl:Building .

A Door has a property isSetIn, which is in all cases a Wall. This relation is specific to this

ontology. cbnl:Door

rdfs:comment "Een daartoe ontworpen toegang tot een bouwwerk"@nl ;

cbnl:isSetIn cbnl:Wall .

The relation isSetIn is not confined to doors or walls; it can be applied any way convenient.

cbnl:isSetIn

a owl:ObjectProperty ,

owl:IrreflexiveProperty ;

rdfs:comment "A construct is fluently made part of another construct"@en ;

rdfs:label "is set in"@en .

In comparison, Relations between concepts may be expressed using domains and ranges

when this discriminates the relation from other similar relations. An example is the adjoins

relation, which only applies to buildings:

cbnl:adjoins

a owl:ObjectProperty ,

owl:IrreflexiveProperty ,

owl:SymmetricProperty ;

rdfs:label "raakt"@nl , "adjoins"@en ;

rdfs:comment "Adjoins is a relation between two buildings"@en ;

rdfs:domain cbnl:Building ;

rdfs:range cbnl:Building .

The property hasRotation, which is defined by CB-NL, can be applied to any Door, but no

other types of building parts (this is a discriminating property for hasRotation). Sliding door

is a specialization of Door; the Sliding door has a fixed value for the property hasRotation.

cbnl:hasRotation

rdf:type owl:ObjectProperty ;

rdfs:comment "Door rotation type"@en ;

Page 41: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

41

rdfs:label "has rotation"@en ;

rdfs:domain cbnl:Door .

cbnl:SlidingDoor

cbnl:hasRotation cbnl-instance:Slide .

An Apartment building is a House which has more than 1 quarters. This feature is required as

it sets it apart from other types of houses.

cbnl:AppartementBuilding

a owl:Class ;

rdfs:subClassOf cbnl:House ;

rdfs:subClassOf

[ a owl:Restriction ;

owl:onProperty cbnl:numberOfQuarters ;

owl:someValuesFrom

[ a rdfs:Datatype ;

owl:onDatatype xsd:integer ;

owl:withRestrictions

([ xsd:minExclusive 2 ])

]

] . TODO

A Skyway is a Building as well as a Building part; it

joins two buildings (and cannot join a terrain):

cbnl:Skyway

a owl:Class ;

rdfs:label "Traverse"@nl , "Skyway"@en ;

rdfs:subClassOf

cbnl:BuildingPart ,

cbnl:Bridge .

Finally, we specify that a Block in some context ontology is the same as a BuildingPart in the

CB-NL:

:Block a owl:Class ; rdfs:label "Block"@en ; … owl:equivalentClass cbnl-core:BuildingPart .

(Note that cbnl-core prefix is mapped onto the CB-NL core as show above.)

Page 42: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

42

6 GLOSSARY

bSDD buildingSMART Data Dictionary. This is the planned ontology by

the bSI. Although not fully clear, the idea is that countries can

submit national parts to this central ontology where they can be

harmonized. The language they plan to use is the International

Framework for Dictionaries (IFD) (ISO 12006-3).

BuildingSMART Initiatve (bSI) International organization for interoperability in the

construction sector. Results are: IDM, IFC (now in version IFC4)

(upcoming: IFCforInfra), IFD, bSDD.

Composition Composition of a compound object from component objects

(example: door = composition of frame, leaf and filling). Inverse

of decomposition.

Concept A description of an abstract (not tangible) ‘thing’, consisting of

(1) terms/labels, (2) definition en (3) properties. Concepts are

associated with other concepts through relationships such as

specialization and decomposition.

Decomposition Inverse of Composition. Indicates from what parts something is

made.

Function The intended workings of a designed object. The process of

designing something generates solutions for functional needs in

the form of function fulfillers. Its function is the reason of

existence for an object.

Function fulfiller An object which is capable of fulfilling a certain function.

Example: a pen is a function fulfiller which makes the function

‘writing’ possible.

Generalisation Inverse of specialisation. Abstraction of a class by removing

properties (example: ‘frame’ is a generalization of ‘door frame’).

Literally: making something more general.

Index An index is a list of contents, sometimes hierarchically,

sometimes a list of keywords. An example index is Nl-SfB, the

Dutch version of the international SfB classification system.

Class A set of concepts that fulfill the same primary function. For

Page 43: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

43

example: door, wall, etc.

Object An instance/individual of a concept.

Object library A common term which is used to indicate a library of concepts.

Space Space can be unbounded, but the term usually indicates a

bounded space. The boundaries can be physical or virtual

Specialization Inverse of generalization. Divides a class into subclasses based

on a discriminator. For example, ‘Sliding door’ and ‘Revolving

door’ are specializations of ‘Door’.

Page 44: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

44

7 REFERENCES

[BIR]

Nederlandse Conceptenbibliotheek (CB-NL), Hoofdrapportage Pilotfase, november

2012,versie 1.0.

[Brachman et al 2004]

Ronald J. Brachman, Hector J. Levesque Knowledge Representation and Reasoning, Morgan

Kaufmann, 2004 ISBN 978-1-55860-932-7

[CBIM]

NL COINS BIM version 1.0.

http://www.coinsweb.nl/wiki/index.php/COINS_Bouw_Informatie_Model_-_CBIM

[CITYGML]

OGC City Geography Markup Language version 2.0. OGC, 04-04-2012.

http://www.opengeospatial.org/standards/citygml

[CHEOBS]

Cheobs GWW-Objectenbibliotheek. CROW. http://www.gww-ob.nl/

[CMO]

TNO/RDF/CSTB Concept Modeling Ontology (CMO),

http://www.modelservers.org/public/cmo.pptx.

[CROW]

CROW nationaal kennisplatform voor infrastructuur, verkeer, vervoer en openbare ruimte.

http://www.crow.nl/

[DC]

“DCMI Metadata Terms”, 14. Juni 2012,

http://dublincore.org/documents/2012/06/14/dcmi-terms/

[GeoSPARQL]

“OGC GeoSPARQL - A Geographic Query Language for RDF Data” Version 1.0, 2012-09-10.

http://www.opengis.net/doc/IS/geosparql/1.0

[GML]

“Geography Markup Language (GML)” version 3.3, OGC, 07-02-1012.

http://www.opengeospatial.org/standards/gml

Page 45: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

45

[IFC]

(IFC)-ISO/PAS16739. Industry Foundation Classes (IFC). buildingSmart Initiative:

http://www.buildingsmart-tech.org/specifications/ifc-overview

[IMGEO]

“Informatiemodel Geografie”, version 2.1. Geonovum, December 2012.

http://geonovum.nl/dossiers/bgtimgeo/destandaard

[INSPIRE GNM]

“D2.10.1: INSPIRE Data Specifications – Base Models – Generic Network Model” Version

1.0rc3, 2013-04-05.

http://inspire.jrc.ec.europa.eu/documents/Data_Specifications/D2.10.1_GenericNetworkMo

del_v1.0rc3.pdf

[INSPIRE TN]

“D2.8.I.7 INSPIRE Data Specification on Transport Networks – Guidelines” version 3.0.1,

2009-10-02.

http://inspire.jrc.ec.europa.eu/documents/Data_Specifications/INSPIRE_DataSpecification_

TN_v3.0.pdf.

[ISO 12006-3]

NEN-ISO 12002-3:2007 “Building construction - Organization of information about

construction works - Part 3: Framework for object-oriented information”, 1. May 2007

[ISO 16354] ISO 16354 "Guidelines for knowledge libraries and object libraries”, 15. March 2013, http://www.nen.nl/NEN-Shop/Norm/NENISO-163542013-en.htm

[ISO 19101]

ISO 19101:2002 “Geographic information -- Reference model”, 2002.

[ISO 19125-1]

“ISO 19125-1:2004 Geographic information -- Simple feature access -- Part 1: Common

architecture”

Also published as “OpenGIS Implementation Specification for Geographic information -

Simple feature access - Part 1: Common architecture” version 1.2.1, 28. May 2011.

http://portal.opengeospatial.org/files/?artifact_id=25355

ISO 19150-2] “Text final CD for DIS, ISO/CD 19150-2 Geographic information - Ontology -

Part 2: Rules for developing ontologies in the Web Ontology Language (OWL)”. 2013-04-17

[ISO 8601]

Page 46: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

46

ISO 8601 : 1988 (E). Data elements and interchange formats - Information interchange -

Representation of dates and times.

[SKOS]

“SKOS Simple Knowledge Organization System Reference” W3C Recommendation 18 August

2009 http://www.w3.org/TR/2009/REC-skos-reference-20090818/

[NEN-ISO/IEC 15288]

NEN-ISO/IEC 15288:2008 “Systems and software engineering - System life cycle processes”

April 2008.

[NEN 2767-4]

NEN 2767-4-1:2011 nl. Conditiemeting - Deel 4: Infrastructuur - Deel 1: Methodiek. 01-07-

2011.

[NEN 3610]

NEN 3610:2011 “Basismodel Geo-informatie - Termen, definities, relaties en algemene

regels voor de uitwisseling van informatie over aan de aarde gerelateerde ruimtelijke

objecten”. Maart 2011.

[NTA 8611]

NTA 8611:2003 nl. Richtlijnen voor objectenbibliotheken. 01-10-2003.

[OWL2]

“OWL 2 Web Ontology Language: Structural Specification and Functional-Style Syntax.” W3C

Recommendation 11 December 2012. http://www.w3.org/TR/2012/REC-owl2-syntax-

20121211/

[QUDT]

Ralph Hodgson and Paul J. Keller “QUDT - Quantities, Units, Dimensions and Data Types in

OWL and XML” 11. September, 2011. http://www.qudt.org/.

[RDF]

“Resource Description Framework (RDF): Concepts and Abstract Syntax”. W3C

Recommendation 10 February 2004. http://www.w3.org/TR/2004/REC-rdf-concepts-

20040210/, http://www.w3.org/RDF/

[RDFS]

“RDF Vocabulary Description Language 1.0: RDF Schema”. W3C Recommendation 10

February 2004. http://www.w3.org/TR/2004/REC-rdf-schema-20040210/

Page 47: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

47

[RWS/SAA OTB]

Project SSA A1-A6 Diemen – Almere Havendreef. Sample SSA Objecttypenbibliotheek. Version

1.0, 12-12-2012. http://home.kpn.nl/mbaggen/Bibliotheek%20Mick%20Baggen/index.html

[RWS IB2.0]

RWS InformatieBehoeften (IB2.0, properties for NEN-2767-4)

[SC]

Semantic Concepts. Version 3.1, 2103. http://semanticconcepts.nl/_docsAbout/about_EN.php

[SPARQL]

“SPARQL 1.1 Query Language” W3C Recommendation 21 March 2013.

http://www.w3.org/TR/sparql11-query/

[STABU]

STABU LexiCon. http://www.stabu.org/index.php?id=1439

[UNETO-VNI]

BestandsBeheer Artikelen (2BA) http://2ba.nl/

Page 48: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

48

8 OPEN ISSUES

This is a list of open issues that, if they prove to be relevant, may be addressed in later

versions of this modeling guide.

Grouping of concepts (classes, properties) according to different views, disciplines, or

aspects. Could be handled by having a separate “name space” per view, by allowing

different alternative decompositions (e.g. with aspect criterium, one with spatial

criterium), using skos:Collection, etc. Example: properties of building from a Spatial

Quality (NL: “Welstand”) perspective. (source of issue: ICOP + CHEOBS/CROW)

“requirement-properties” such as “min-area”, as opposed to a property “area” which

can be constrained with a requirement (of type “min”). One form can be transformed

in the other. Requirements modeling could be kept entirely outside CB-NL and

positioned more in the application of CB-NL.

In a decomposition, individuals are often not explicitly summed up, but only one

specific individual which occurs a “certain number” of times. Even though this is an

instantiation issue (i.e. it is an issue on the instance level, not the ontology level), the

modeling guide should address this. Possibly, in CB-NL data should be encoded as

real individuals.

More structure in the top-level classes. The linear list of top-level classes could be a

little more structured. A proposal for this:

Starting with a view of the world based on a division in space-like and time-like

things, the following taxonomy results:

SpaceClass

- Space

- PhysicalObject

- Material

- Party (organization or person)

- Mechanism/Tool

- Document

TimeClass

- Function

- Activity

With a little more structure added this becomes:

SpaceClass

- Space

- PhysicalObject

- Material

- Party (organization or person)

- Mechanism/Tool

Page 49: V-Con report D3.4.1 Appendix B - CB-NL Modeling Guide_v1 pdf 1 ...

49

- Document

TimeClass

- Function

- Activity

The structure is then starting to look a bit like COINS … In addition we need logical,

non-tangible objects like objectified relationships (“marriage”):

SpaceClass (compare Semantic Concepts “Appearance”)

- SpatialObject

- PhysicalObject

- Material

- Party

- Organization

- Person

- Mechanism

- Document

- LogicalObject

TimeClass (compare Semantic Concepts “Energy”)

- Function

- Activity