Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMO:Concept Modelling Ontology

Similar presentations


Presentation on theme: "CMO:Concept Modelling Ontology"— Presentation transcript:

1 CMO:Concept Modelling Ontology
Michel Böhms and Peter Bonsma 24. April 2014 Co-developed/applied in EU Odysseus, EU Proficient, EU V-Con, EU EcoDistrict By TNO (NL), CSTB (FR) and RDF (BG) Aligned with the Dutch BIR CB-NL initiative

2 Overview Background Introduction Semantic Web Syntax Semantics
April 24, 2014 CMO:Concept Modelling Ontology Overview Now... that should clear up a few things around here Background Introduction Semantic Web Syntax Semantics Modelling Guidelines End-user View Software Tools Initiatives Abbreviations References Development Team Issues More information © Horrocks, Oxford University

3 Background EU SWOP Project: Product Modelling Ontology (PMO)
April 24, 2014 CMO:Concept Modelling Ontology Background EU SWOP Project: Product Modelling Ontology (PMO) OWL IFC + Role for Optimization like Genetic Algorithms

4 Background EU SWOP Project: Configurators & Distribution
April 24, 2014 CMO:Concept Modelling Ontology Background EU SWOP Project: Configurators & Distribution Main Configurator User-Driven & Optimization (GA) Supported Main Ontology Sub Configurator Sub Ontology Sub Ontology Scenario 1 Scenario 2 Scenario 3

5 Background W3C Incubator Group on SW for Product Modelling
April 24, 2014 CMO:Concept Modelling Ontology Background W3C Incubator Group on SW for Product Modelling

6 Introduction, Ontology
April 24, 2014 CMO:Concept Modelling Ontology Introduction, Ontology What is an Ontology? An ontology is an abstract, simplified view of a part of the world that we wish to represent for some purpose What are Ontologies good for? Management: Knowledge Representation/Management Integration: Data/Information/Content Exchange/Sharing Innovation: Enabler for new software functionalities

7 Introduction, Ontology
April 24, 2014 CMO:Concept Modelling Ontology Introduction, Ontology Note … An ontology is never “true”, just handy or not (well it can at best be “consistent”) An ontology is never a goal in itself, it always serves some purpose

8 Introduction, Ontology, technical/business views
April 24, 2014 CMO:Concept Modelling Ontology Introduction, Ontology, technical/business views WHAT WHY

9 Introduction, Ontology, Semantic Focus
April 24, 2014 CMO:Concept Modelling Ontology Introduction, Ontology, Semantic Focus Digital Semantic Models - objects, properties, restrictions Representations - documents, drawings (‘geometry’) Presentations - pixels, triangles Analogue (from Paper to 3D Prints)

10 Introduction, CMO CMO stands for Concept Modelling Ontology
April 24, 2014 CMO:Concept Modelling Ontology Introduction, CMO CMO stands for Concept Modelling Ontology It is a reusable, generic ontology (also referred to as an “upper ontology”) that enables full-power, pure semantic, concept modelling: Adding extra semantic modelling capabilities cleanly on top of the W3C OWL2 Recommendation, and Adding geometry mapping/derivation or linking when needed Imported in all CMO/OWL2-compliant end-user ontologies Syntax used: Terse RDF Triple Language (Turtle) .ttl file extension one of the various syntaxes (‘serialisations’) for RDF/RDFS/OWL2 ontologies Actual file: cmo.ttl at

11 Semantic Web, Principles
April 24, 2014 CMO:Concept Modelling Ontology Semantic Web, Principles Anyone can say anything about anything No one knows everything about anything My system is most valuable because of its interconnection to its peers Consequence: need for “Linked Data” Tim Berners-Lee (MIT)

12 Semantic Web, what’s different?
April 24, 2014 CMO:Concept Modelling Ontology Semantic Web, what’s different? Open World Assumption (OWA) versus traditional CWA Sets (“Classes”) not Types Properties are “first class” concepts (just like Classes) Traditional: classes/types first, now often individuals first Properties also cover Relationships Information Atoms: “Statements” (or “Triples”) Good for merging/aligning semantics! IDs provided by URI’s No Central Globally Unique IDs (GUIDs) Layered Protocol Stack

13 Semantic Web, also known as the “Layer Cake”
April 24, 2014 CMO:Concept Modelling Ontology Semantic Web, also known as the “Layer Cake”

14 Semantic Web 3 layers 1. Meta-concepts (language) 2. Concepts
April 24, 2014 CMO:Concept Modelling Ontology Semantic Web 3 layers 1. Meta-concepts (language) 2. Concepts (ontology) 3. Individuals (things you can/could point at in reality) 2

15 Semantic Web OWL2 itself (top layer in previous sheet) is also layered
April 24, 2014 CMO:Concept Modelling Ontology Semantic Web OWL2 itself (top layer in previous sheet) is also layered Available for end-user Ontologies OWL2 RDFS RDF XSD

16 Semantic Web Key notions (“Meta-Classes/Properties”)
April 24, 2014 CMO:Concept Modelling Ontology Semantic Web Key notions (“Meta-Classes/Properties”) Resource* Class DatatypeProperty ObjectProperty Datatype type subClassOf subPropertyOf domain range Class Vehicle DatatypeProperty Datatype top Speed float range subClassOf domain Car Class ObjectProperty ObjectProperty has Body has Part subPropertyOf type domain My Car range Body Resource Class * Generic super-class of all other meta-classes

17 Semantic Web, OWL2 subset used (in bold the ‘key notions’)
April 24, 2014 CMO:Concept Modelling Ontology Semantic Web, OWL2 subset used (in bold the ‘key notions’) XSD predefined base datatypes like xsd:string, xsd:integer, xsd:float, xsd:boolean, xsd:anyURI, xsd:language, xsd:dateTime RDF rdf:type rdf:Property (generic version of the actually used owl:DatatypeProperty and owl:ObjectProperty) RDFS rdfs:label rdfs:comment rdfs:Class (abstract version of the used owl:Class) rdfs:Datatype rdfs:domain rdfs:range rdfs:subClassOf rdfs:subPropertyOf rdfs:Resource OWL2 owl file preamble: baseURI, imports and prefixes owl:Ontology owl:imports owl:versionInfo owl:Class owl:DatatypeProperty owl:ObjectProperty owl:Thing, owl:topDataProperty, owl:topObjectProperty owl:Restriction owl:hasValue & owl:onProperty owl:someValuesFrom & owl:withRestrictions & owl:onDatatype owl:minCardinality, owl:maxCardinality, owl:cardinality & owl:onProperty owl:minQualifiedCardinality, owl:maxQualifiedCardinality, owl:qualifiedCardinality & owl:onClass owl:disjointWith, owl:propertyDisjointWith owl:complementOf, owl:intersectionOf, owl:unionOf owl:oneOf (END-USER ONTOLOGIES including reusable UPPER ONTOLOGIES like CMO)

18 Syntax Introduction also referred to as ‘serialisation’
April 24, 2014 CMO:Concept Modelling Ontology Syntax Introduction also referred to as ‘serialisation’ Several equivalent lexical variants are available: Functional RDF/XML * Turtle Manchester Syntax OWL/XML * Graphical variant: Labelled Directed Graphs: We choose the ‘non-XML’-based but very elegant, compact, precise, user-friendly but mostly ‘popular’ Turtle variant * XML-based

19 Syntax Introduction, graphical
April 24, 2014 CMO:Concept Modelling Ontology Syntax Introduction, graphical

20 Syntax Turtle Triples separated by . URI’s in < >
April 24, 2014 CMO:Concept Modelling Ontology Syntax Turtle @prefix book: < . @prefix ex: < . @prefix crc: < . book:uri ex:publishedBy crc:uri ; ex:title "Foundations of Semantic Web Technologies“ ; ex:author book:Hitzler, book:Krötzsch, book:Rudolph . crc:uri ex:name "CRC Press" . Triples separated by . URI’s in < > Literals in “ “ URI’s can be abbreviated by prefixed name spaces Three types of triple abbreviations: Parallel: Same subject via ; separator Parallel: Same subject-predicate via , separator Sequential: End of one triple is start of the next triple via […] grouping Special Typed literal add ^^xsd: … (include xsd prefix) Untyped literal can be multi-lingual Blank nodes via _:… or [ … ] grouping Lists via / (of type: unordered list, ordered list, set of choices) Reification via extra meta-node + 3 standard references “a” is shorthand for “rdf:type”

21 Syntax Turtle Abbreviation Types, ‘lexically’
April 24, 2014 CMO:Concept Modelling Ontology Syntax Turtle Abbreviation Types, ‘lexically’ 1. Parallel triples with common source a1 b1 c1. a1 b2 c2. shorthand: a1 b1 c1; b2 c2. 2. Parallel triples with common source and predicate a1 b2 c3. shorthand: a1 b2 c2, c3. 3. Sequential triples where the end of one triple is the start of another triple a1 b3 c4. c4 b4 c5. shorthand: a1 b3 [c4 b4 c5].

22 Syntax Turtle Abbreviation Types, ‘graphically’
April 24, 2014 CMO:Concept Modelling Ontology Syntax Turtle Abbreviation Types, ‘graphically’ Shorthand type 1 “;” introduction c1 b1 a1 b2 b3 c2 b2 c4 Shorthand type 3 “[…]” introduction b4 c3 c5 Shorthand type 2 “,” introduction

23 Syntax Turtle Abbreviation Example
April 24, 2014 CMO:Concept Modelling Ontology Syntax Turtle Abbreviation Example Original data: a1 b1 c1. a1 b2 c2. a1 b2 c3. a1 b3 c4. c4 b4 c5. Maximum Shorthanded it becomes: a1 b1 c1; b2 c2,c3. a1 b3 [c4 b4 c5].

24 Semantics Introduction
April 24, 2014 CMO:Concept Modelling Ontology Semantics Introduction We will now describe the actual semantic modelling constructs together with their guidelines and examples for use, from bottom to top, i.e. from XSD, via RDF and RDFS to OWL2 After that we introduce the CMO layer concept modelling constructs on top in a similar way

25 Semantics xsd: predefined base datatypes
April 24, 2014 CMO:Concept Modelling Ontology Semantics xsd: predefined base datatypes XSD ( provides the built-in base datatypes like: xsd:string xsd:integer xsd:float xsd:postiveInteger xsd:negativeInteger xsd:nonPostiveInteger xsd:nonNegativeInteger xsd:boolean xsd:language, xsd:date, xsd:time, xsd:dateTime, etc. xsd:anyType, xsd:anyURI They can be used as base datatypes used in rdfs:range for owl:DatatypeProperty’s Ps Prefixes like ‘:’ or ‘xsd:’ will be explained later

26 April 24, 2014 CMO:Concept Modelling Ontology Semantics rdf:type This is one of the most basic properties offered by RDF relating any ‘Resource’ to ‘Classes’ Such resources are the instances of those classes Example1 :Car rdf:type owl:Class . Example2 :Car_1 a car:CarWith17inchWheels . (remember that “a” is actually the shorthand for “rdf:type” in Turtle)

27 Semantics rdf:type cont.
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdf:type cont. Clearly more resources can be related to the same class Example (on class-level) :Car rdf:type owl:Class . :Building a owl:Class . (note, this time ‘rdf:type’ abbreviated as “a”) And more classes can be related to the same resource Example (on ‘individual-level’ where the subject is not a class) :Car_16 a toyota:Prius . :Car_16 a car:CarWith17inchWheels .

28 Semantics rdf:Property
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdf:Property Properties are used relating left-side subjects and right-side objects in a triple; they are ‘in the middle’; also interpreted as ‘predicates’ They are given more specific meaning in owl by the owl-level defined owl:DatatypeProperty and owl:ObjectProperty which are both a (meta)subClassOf this more generic rdf:Property

29 April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:label Human-readable, optionally language-taggedl, resource names Example: :Car rdfs:label , , . (Note the applied Turtle abbreviation types “, “) In ‘TopBraid Composer’ visualised as:

30 Semantics rdfs:comment
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:comment Human-readable, optionally labguage-taggedl, textual descriptions Example: :Car rdfs:comment "A Car is a wheeled motor vehicle used for transporting passengers, which also carries its own engine or motor. Most definitions of the term specify that automobiles are designed to run primarily on roads, to have seating for one to eight people, to typically have four wheels, and to be constructed principally for the transport of people rather than

31 Semantics rdfs:Datatype
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:Datatype A datatype can be used as range for a (datatype-)property An individual/instance should get specific values for data type properties according to that datatype Datatypes can be the base predefined ones like xsd:string but also user-defined: Example car:thickness "2.20"^^< . Note that the actual datatype value is appended to the property value via ^^ for easier ‘individual-processing” (can contain prefix)

32 Semantics rdfs:domain
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:domain A domain is given to a property when we want to limit the kind of classes it can be associated to. The default domain is ‘any class’ or owl:Thing. Note: a domain is NOT a constraint but just a way to infer more info For maximum flexibility and reuse potential its usage should be minimised Example :requirementValue rdfs:domain :Requirement Note: it can now be derived that anything having a requirementValue is a Requirement!

33 Semantics rdfs:domain
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:domain Properties can have multiple domains In an AND or OR fashion Typically we want to use the OR interpretation Example energyConsumption is (only) a property of a Device, A Room or a Building Than we define the domain of energyConsumption as Device OR Room OR Building Better still: NOT model domain at all so that other things can be defined (later/elsewhere) which also have a energyConsumption!

34 April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:range A range is given to a property to indicate what values a property can take: lexical values in case for datatype properties and references to individuals of a certain class for object properties Note: a range is NOT a constraint but just a way to infer more info For maximum flexibility and reuse potential its usage should be minimised (same as for domain) Examples :brand rdfs:range xsd:string . :diameter rdfs:range < . :geometry rdfs:range xsd:anyURI .

35 Semantics rdfs:subClassOf
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:subClassOf With subclassing we can specialise classes into subclasses forming a specialisation hierarchy of classes (or “Taxonomy”) The inverse operation is referred to as generalisation Every individual of a subclass is PER DEFINITION an individual of its superclasses Examples :SpatialConcept rdfs:subClassOf owl:Thing . :Wheel17inch rdfs:subClassOf :Wheel .

36 Semantics rdfs:subClassOf, Cont.
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:subClassOf, Cont. Subclasses are also used to indicate that a class has a certain Restriction: “it is a member of the, often anonymous, class of all things having this restriction” Examples A Car has exactly one left/front wheel: :Car rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onClass :Wheel ; owl:onProperty :hasLeftRearPart ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger] . Note the anonymous intermediate Class in “[ … ]”

37 Semantics rdfs:subPropertyOf
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:subPropertyOf Since ‘properties’ are on equal footing with ‘classes’ they can be specialized/generalized in the same way Example :hasLeftFrontPart rdfs:subPropertyOf dcterms:hasPart ; In the modelling guidelines that follow later we explain when we use specialized properties in particular decomposition (in fact only when we have to differentiate different ‘roles’ of parts of the same range towards same ‘wholes’)

38 Semantics rdfs:Resource
April 24, 2014 CMO:Concept Modelling Ontology Semantics rdfs:Resource This is the most generic meta-class available For example: owl:DatatypeProperty is a resource car:Wheel is a resource MyCar is a resource Everything is in principle a resource A resource can be a class or not As W3C puts it: “This is the class of everything. All other classes are subclasses of this class.”

39 Semantics owl file preamble/header: name spaces
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl file preamble/header: name spaces # baseURI: # imports: @prefix : < . @prefix cmo: < . @prefix owl: < . @prefix rdf: < . @prefix rdfs: < . @prefix xsd: < . @prefix unit: < . @prefix quantity: < . Defining the base URI associated with THIS ontology, its imports and all used prefixes where typically “:” refers to the baseURI

40 Semantics owl:Ontology
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:Ontology This is the top-level owl triple introducing all ontology information for one specific ontology Example rdf:type owl:Ontology .

41 Semantics owl:imports
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:imports Example owl:imports < .

42 Semantics owl:versionInfo
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:versionInfo A predefined annotation property that can attach version information to an ontology, class or individual Examples < owl:versionInfo "Created with TopBraid Composer 10.3"^^xsd:string . :Car owl:versionInfo "1.0"^^xsd:string . :Car_1 owl:versionInfo "1.1.a"^^xsd:string .

43 April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:Class One of the key meta-concepts available in OWL. Its like the “ENTITY’ in an EXPRESS schema or the ‘ElementType’ in an XML Schema Definition (XSD) Examples :Body rdf:type owl:Class . :Car rdf:type owl:Class . :Space a owl:Class .

44 Semantics owl:DatatypeProperty
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:DatatypeProperty These are the normal/simple properties with lexical values according to some datatype. They are used to model attributes for classes or individuals. They can be related to specific classes by domain specifications, and to allowed values by range specifications (that refer to datatypes) Examples :brand rdf:type owl:DatatypeProperty . :diameter rdf:type owl:DatatypeProperty .

45 Semantics owl:ObjectProperty
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:ObjectProperty These are the special/complex properties with reference values according to some other class. They are used to model interrelationships between classes or individuals. They can be (although not recommended, see earlier) related to specific classes by domain properties, and to allowed values by range properties (that refer to classes this time) Example :hasLeftRearPart rdf:type owl:ObjectProperty .

46 April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:Thing This is the most generic (non-meta) class. (note: rdfs:Resource is a similar most generic meta-class) Example :Object rdfs:subClassOf owl:Thing . (indicating it is not a subclass of a meta-class…)

47 Semantics owl:Restriction /1
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:Restriction /1 A restriction is a general modeling construct that can be worked out in different ways. We will use the value restriction and the cardinality restriction for CMO A restriction is applied to a class by making that class a subClass of a new anonymous class defined by the restriction (the superclass is the class of all individuals that satisfy the restriction)

48 Semantics owl:Restriction /2
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:Restriction /2 With this restriction we can assign a specific value to a datatype property on class level. This value holds per definition for all individuals of a class. Typically such properties are “discriminators” that can be identified when specializing. Example :Wheel17inch rdfs:subClassOf [ rdf:type owl:Restriction ; owl:hasValue 17 ; owl:onProperty :diameter] .

49 Semantics owl:Restriction /3
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:Restriction /3 A more complex restriction involving data ranges Example :SmallCar rdfs:subClassOf [ rdf:type owl:Restriction ; owl:someValuesFrom [ rdf:type rdfs:Datatype ; owl:onDatatype xsd:float ; owl:withRestrictions ([ xsd:minExclusive 0 ] [ xsd:maxInclusive 4 ]) ] ; owl:onProperty :length ] .

50 Semantics owl:Restriction /4
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:Restriction /4 Cardinality Restrictions for datatype properties Example :Car a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty :hasWidth ] ;

51 Semantics owl:Restriction /5
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:Restriction /5 Cardinality Restrictions for object properties Example :Person a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty :hasFather ] ;

52 Semantics owl:Restriction /6
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:Restriction /6 Qualified Cardinality Restrictions (QCRs) for object properties Example :Car rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:onClass :Body ; owl:onProperty dcterms:hasPart ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ;

53 Semantics owl:disjointWith
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:disjointWith Used to indicate that classes exclude each other. There is no overlap in individuals (the intersection is empty). Something is a Car or a Tree not both, etc. Example :Space owl:disjointWith :PhysicalObject .

54 Semantics owl:propertyDisjointWith
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:propertyDisjointWith Used to indicate that object properties exclude each other. There is no overlap. If someone has a mother and father, it cannot refer to the same person. Example :hasLeftFrontPartDirectly owl:propertyDisjointWith :hasRightRearPartDirectly , :hasLeftRearPartDirectly , :hasRightFrontPartDirectly .

55 Semantics owl:complementOf, owl:intersectionOf, owl:unionOf
April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:complementOf, owl:intersectionOf, owl:unionOf Used to define complex classes based on existing ones. Especially handy in case of constraining classes using qualified cardinalities restrictions Example :CarWith17inchWheels a owl:Class ; rdfs:subClassOf :Car ; rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality "0"^^xsd:nonNegativeInteger ; owl:onClass [ a owl:Class ; owl:intersectionOf (:Wheel [ a owl:Class ; owl:complementOf :Wheel17inch ]) ] ; owl:onProperty <

56 April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:oneOf Used to define enumeration datatypes that can be used as ranges for datatype properties Example (of an anonymous datatype) :requirementType rdfs:range [ rdf:type rdfs:Datatype ; owl:oneOf (“Min"^^xsd:string “Max"^^xsd:string “Allowed”^^xsd:string) ] . Alternatively one can use literals (not strings) of type rdfs:Resource that can then have multi-lingual labels. owl:oneOf (:Min :Max :Allowed) :Allowed a rdfs:Resource ; rdfs:label .

57 April 24, 2014 CMO:Concept Modelling Ontology Semantics owl:oneOf Finally one could define an enumeration as a class with the allowed values as instances which is then referred to by an object property :RequirementType a owl:Class ; rdfs:subClassOf owl:Thing . :Min a :RequirementType . :Max a :RequirementType . :Allowed a :RequirementType . :requirementType3 a owl:ObjectProperty ; rdfs:range :RequirementType ; rdfs:subPropertyOf owl:topObjectProperty .

58 Semantics CMO Capabilities (on top of OWL2/RDFS/RDF)
April 24, 2014 CMO:Concept Modelling Ontology Semantics CMO Capabilities (on top of OWL2/RDFS/RDF) Basic (currently existing) Decomposition (via Dublin Core’s dcterms:hasPart) Quantities (via NASA/TopQuadrant “QUDT” ontology) Links to documents like explicit shape representations (via Dublin Core’s dcterms:references) Advanced (currently existing) Default values (for datatype properties or object properties) Static values Advanced (‘under construction’ in running European R&D projects) Requirements Geometry Topology Knowledge Rules (including ‘comparisons’) ‘Semantics-to-Geometry’ Mapping & Generation Example: CMO-2-IFC4 & IFC4-2-CMO

59 Semantics CMO Capabilities, Decomposition
April 24, 2014 CMO:Concept Modelling Ontology Semantics CMO Capabilities, Decomposition We reuse the dcterms:hasPart object property defined by the Dublin Core Metadata Initiative (DCMI) Note: this object property indicates the direct parts of something (it is not a transitive property) In case we have to differentiate multiple parts having the same range type we specialize such property Example: :hasFrontWheel rdfs:subPropertyOf :hasPart

60 Semantics CMO Capabilities, Decomposition, guidelines
April 24, 2014 CMO:Concept Modelling Ontology Semantics CMO Capabilities, Decomposition, guidelines If not asserted negatively, anything can be a part of anything else following the Open World Assumption (OWA). We do not model ‘optional but typical’ properties. Constraints are modelled as QCR as for all object properties Example :Car a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty dcterms:hasPart ; owl:onClass :Wheel ; (the qualified aspect) owl:cardinality "1"^^xsd:nonNegativeInteger ] ;

61 Semantics CMO Capabilities, Quantities
April 24, 2014 CMO:Concept Modelling Ontology Semantics CMO Capabilities, Quantities We reuse the international “NASA ontology”: QUDT (see qudt.org) We preferrably use quantitiy kinds on class-level as datatypes for quantitative datatype properties Example :thickness a owl:DatatypeProperty ; rdfs:range quantity:Length . To make this possible we define incmo.ttl: < rdfs:subClassOf rdfs:Datatype . When using quantities, units are not made explicit, not in the ontology, not in the data but assumed to be according to SI units Alternatively we allow the use of units instead of quantities rdfs:range unit:Meter .

62 Semantics CMO Capabilities, external links
April 24, 2014 CMO:Concept Modelling Ontology Semantics CMO Capabilities, external links Although we focus with CMO on semantics we want to provide links to asserted/related or derived/generated external documents We reuse the existing Dublin Core “references” object property for this :Building_1 a :Building ; dcterms:references " .

63 Semantics CMO Capabilities, Default Values
April 24, 2014 CMO:Concept Modelling Ontology Semantics CMO Capabilities, Default Values Default values can be modelled for properties in general or for properties in the context of a class. Code :DefaultValue rdf:type owl:Class ; rdfs:subClassOf owl:Thing . :forClass rdf:type owl:ObjectProperty ; rdfs:domain :DefaultValue, :StaticValue; rdfs:range owl:Class . Example (for a datatype property) :DefaultValue_123 a cmo:DefaultValue ; cmo:forClass :Wheel ; cmo:forProperty :hasDiameter ; cmo:typicalValue "0.381"^^xsd:float . :forProperty rdf:type owl:ObjectProperty ; rdfs:domain :DefaultValue, :StaticValue ; rdfs:range rdf:Property . :defaultValue rdf:type rdf:Property ; rdfs:domain :DefaultValue.

64 Semantics CMO Capabilities, Static Values
April 24, 2014 CMO:Concept Modelling Ontology Semantics CMO Capabilities, Static Values Indication which property values in the context of a class cannot be changed. Code :StaticValue rdf:type owl:Class ; rdfs:subClassOf owl:Thing . :forClass rdf:type owl:ObjectProperty ; rdfs:domain :DefaultValue, :StaticValue; rdfs:range owl:Class . Example :StaticValue_321 a cmo:StaticValue ; cmo:forClass :Body; cmo:forProperty :hasWidth; cmo:staticValue “2.0"^^xsd:float . :forProperty rdf:type owl:ObjectProperty ; rdfs:domain :DefaultValue, StaticValue; rdfs:range rdf:Property . :staticValue rdf:type rdf:Property ; rdfs:domain :StaticValue.

65 Modelling Guidelines Overview
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Overview Terms (Names & Labels) Enumeration Datatypes Contexts/Views Multi-linguality Specialisation Decomposition Class-level property values Geometry (==“explicit shape representation”) Handling

66 Modelling Guidelines Terms (names & labels)
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Terms (names & labels) Class/Property names CamelCase names Uppercase-starting for classes Lowercase-starting for properties Preferred Form for object properties: hasX, X being the same as the explicit range class if available (GUIDs considered for scalability but rejected because of code readability) Class labels Uppercase starting Example: “Roof” or “Dak opbouw” Property labels Lowercase-starting Example: “doorHeight” or “hoogte van de deur”

67 Modelling Guidelines Terms (names & labels)
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Terms (names & labels) Often we give them the name of their Class with a postfix like “_14” added In case the individual is a meber of multiple classes this approach clearly does not work

68 Modelling Guidelines Enumeration datatypes
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Enumeration datatypes We always use the simplest approach using allowed strings when multi-linguality plays no role If we want to indicate multiple languages we use literals Allowed string or Literals always start with Capital

69 Modelling Guidelines Contexts/Views
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Contexts/Views Any definition is always in some context, in semantic web that is a ”name space”, an URI that is typically prefixed for convenience This ‘name space’/prefix can be defined for any type of context A country context (example CB-NL) A company/organization (example RWS) A project/initiative (example Odysseus) A personal context (example MicksKnowledge) Which and how many name spaces are actually used is totally up to the modeller

70 April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Contexts/Views, graphically, diff. colours/diff. views From the ‘Linked Data’ Book (see References)

71 Modelling Guidelines Multi-linguality
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Multi-linguality All classes and properties get at least one meaningful English Name like “Car” One or more extra rdfs:label’s can be optionally attached to define language-specific terms for the same concept, or even more than one label in the same language

72 Modelling Guidelines Specialisation
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Specialisation Superclasses/Superproperties can have zero or more Subclasses/Subproperties Subclasses/Subproperties can have zero or more Superclasses/Superproperties Every user-defined class is a subclass of owl:Thing Every user-defined datatype property is a subclass of owl:TopDataProperty Every user-defined object property is a subclass of owl:TopObjectProperty Exclusivity among subclasses/subproperties is modelled explicitly where needed

73 Modelling Guidelines Decomposition
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Decomposition Always via “dcterms:hasPart” (or user-defined subclasses when needed, say in case of different roles to the same range class) Support for alternative decomposition via ‘specialization-first’ On individual level wholes can have zero or more parts and parts can have zero or one whole

74 Modelling Guidelines Class-level ‘defining’ property values
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Class-level ‘defining’ property values Extra semantics can be added to classes by explicitly modelling 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 Example :Wheel17inch rdf:type owl:Class ; rdfs:subClassOf :Wheel ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:hasValue 17 ; owl:onProperty :diameter ] .

75 Modelling Guidelines Geometry Handling
April 24, 2014 CMO:Concept Modelling Ontology Modelling Guidelines Geometry Handling With CMO we (ideally) want to model 100% in a pure semantic way Geometry is in that case never asserted, only derived In nthat case, a “mapping” might be needed defined by specifying semantic classes as subclasses of existing or constructed (often parametric) geometry classes This advanced part of CMO is currently ‘under construction’ in European R&D projects including mappings to and from bSI’s IFC geometry in the context of modelling ‘Buildings’ and (upcoming ‘Civil Infrastructures’ like Bridges and Roads) We provide ways to link to (asserted/derived) geometry though

76 April 24, 2014 CMO:Concept Modelling Ontology End-user View Above we defined all modelling constructs and guidelines used for CMO Below we define the subset that is relevant for an “end-user” defining simple ontologies of his own, on top of CMO CMO-only (‘internal’) used constructs are hided No defining properties

77 End-user View xsd:string, xsd:integer, xsd:float, xsd:boolean rdf:type
April 24, 2014 CMO:Concept Modelling Ontology End-user View xsd:string, xsd:integer, xsd:float, xsd:boolean rdf:type rdfs:label rdfs:comment rdfs:domain rdfs:range rdfs:subClassOf rdfs:subPropertyOf owl file preamble: baseURI, imports and prefixes owl:ontology owl:imports owl:versionInfo owl:Class owl:DatatypeProperty owl:ObjectProperty owl:Restriction owl:hasValue owl:onProperty owl:minQualifiedCardinality owl:maxQualifiedCardinality owl:qualifiedCardinality owl:onClass owl:complementOf owl:disjointWith owl:propertyDisjointWith owl:oneOf dcterms:hasPart dcterms:references All unit and quantity datatypes like unit:Centimeter, quantity:Velocity etc.

78 End-User View 6 simple steps
April 24, 2014 CMO:Concept Modelling Ontology End-User View 6 simple steps …… Start simple STEP 1: Setup ontology (header, imports, prefixes, name spaces etc.) STEP 2: Model relevant classes User-supplied name and at least one same English label, add multi-lingual labels/comments STEP 3: Connect classes among themselves via rdfs:subClassOf Add where needed subclass exclusivity relations STEP 4: Model datatype properties Again user-supplied name and at least one same English label, add multi-lingual labels/comments Including datatype ranges being an XSD base datatype, a user-defined enumeration datatype or a QUDT ‘quantity’ or ‘unit’ Including domains where applicable (to be avoided as much as possible) STEP 5: Add object properties incl. ranges to other classes Again user-supplied names and at least one same English label, add multi-lingual labels/comments Including class ranges Including domains domains where applicable (to be avoided as much as possible) STEP 6: Connect classes and (datatype/object) properties via restrictions at classes Like QCRs for dcterms:hasPart indicating obligatory parts

79 End-user View, graphically
April 24, 2014 CMO:Concept Modelling Ontology End-user View, graphically Ontology Class Datatype (base, enumeration or quantity/unit kind) Obligatory Datatype Property/Object Property via restrictions Specialization Obligatory Decomposition via restrictions (special case of )

80 Software Tools Recommended
April 24, 2014 CMO:Concept Modelling Ontology Software Tools Recommended Development (Ontology Editor) OSS Protégé / WebProtégé (limited) Latest version: Build 110 CSS TopBraid Composer (TBC) by TopQuadrant Latest version: (Maestro Edition) Server-side OSS WebProtégé (latest: Build 110) OSS Fuseki RDF-server Client-side Interfaces (import/export-mechanisms, APIs like OWL-API, Query Languages like SPARQL, Plug-ins etc.) Transformation tools: Mappers, Translators, Converters like SPINMAP OSS: Open Source Software CSS: Closed Source (“Commercial”) Software

81 April 24, 2014 CMO:Concept Modelling Ontology Software Tools Fuseki RDF-level local or cloud SPARQL version 1.1 access

82 Software Tools TBC Classes
April 24, 2014 CMO:Concept Modelling Ontology Software Tools TBC Classes

83 Software Tools TBC derived UML view
April 24, 2014 CMO:Concept Modelling Ontology Software Tools TBC derived UML view

84 Software Tools Protégé Classes & Properties
April 24, 2014 CMO:Concept Modelling Ontology Software Tools Protégé Classes & Properties

85 Software Tools Protégé Fully derived graphical view
April 24, 2014 CMO:Concept Modelling Ontology Software Tools Protégé Fully derived graphical view

86 April 24, 2014 CMO:Concept Modelling Ontology Initiatives, Overview EU FP7-NMP Proficient (CMO developing project, advanced functionality) The modelling & configuration of residential districts/homes for supporting Self-organized Collective Housing (CSO) Web Site: EU FP7-ICT Odysseus (CMO developing project, base functionality) The modelling & monitoring of energy nodes in urban areas for holistic and optimized energy management Web Site: EU FP7-ICT V-Con The modelling of civil infrastructures (roads first) from a client view (asset & trafic management) Web site: EU FP7-NMP Streamer The modelling of Hospital Districts for energy efficiency Web site: To Be Developed (start Autumn 2013) NL BIR CB-NL The primary modelling of an NL library for construction Web site: TBDev. NL NEN NTA 8611:2003 Guidelines for object libraries, October 2003

87 Initiatives, Overview, Context
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, Overview, Context LinkedData (W3C SW) SE (COINS) GIS (OGC/ Inspire) BIM (bSI) Three open “worlds” to integrate Systems Engineering (SE) Buidling Information Modelling (BIM) Geospatial Information Systems (GIS) Wrt: Technologies Information Structures Information Software Clients Servers

88 Initiatives, Overview, Context
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, Overview, Context BIM SW GIS W3C OWL bSI IFC+IFDs OGC CityGML+ADEs OSS Fuseki OSS BIMserver OSS Deegree 3D

89 Initiatives, EU Proficient
CMO:Concept Modelling Ontology April 24, 2014 Initiatives, EU Proficient Developing/utilizing “Advanced” CMO 100% Geometry Derivation based on semantic information for visualization Configurator development: here: residential buildings/areas in Collective Self-Organised (CSO) housing context Advanced rule modelling: constraints/comparisons & derivations (calculations and logical) Import/export to and from existing ‘traditional’ open standards like bSI’s IFC2x3 and IFC4

90 Initiatives, EU Proficient (Advanced CMO)
CMO:Concept Modelling Ontology April 24, 2014 Initiatives, EU Proficient (Advanced CMO) means import RDFConceptBuilder Semantic Data Geometry Data carInstance.ttl on screen CMO2IFC TopBraid Composer 3DEditor RDFConceptBuilder IFC2CMO End-user Ontology Specific Mapping Ontology Specific Geometric Concepts car.ttl carMappingRepresentation.ttl carSpecificGeometry.ttl Requirements CMO Standard Geometric Concepts requirements.ttl cmo.ttl geometry.ttl Quantity Datatypes Operations Topological Concepts quantityDatatypes.ttl operations.ttl topology.ttl

91 Topological Concepts/Relationships
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, EU Proficient (Advanced CMO) Topological Concepts/Relationships SubClassing both ‘Objects’ and ‘Spaces’ in: 0D-Object (Vertex) 1D-Object (Edge, Path, Loop, …) 2D-Object (Face, Shell, ClosedShell, …) 3D-Object (Manifold, …) Subclassing ‘Spaces’: 0D-Space 1D-Space 2D-Space 3D-Space Add topological connection classes/object properties (on both typical and individual level) like: boundedBY (xD boundedBy (x-1)D) containedIn (xD in yD, where y <= x) Similar topological operation classes/object properties but than in the time domain related to ‘Activities’ and ‘Time’ (like ‘boolean operations’)

92 Initiatives, EU Proficient (Advanced CMO)
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, EU Proficient (Advanced CMO) Topological Relationships, ideas for use cases Assertion and/or derivation Interconnection informations for: Energy Flows between Rooms in Buildings Building occupant escape routes for Fire Safety Rail and Road traffic flows over civil line infrastructures Gas, water flows in HVAC installations In general ‘network usage issues’

93 Initiatives, EU Proficient (Advanced CMO) Requirements
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, EU Proficient (Advanced CMO) Requirements We currently defined constructs to define simple instance-level requirements: textual, min/max values (combined forming intervals) and allowed value enumerations Code :Requirement rdf:type owl:Class ; rdfs:subClassOf owl:Thing . :requirementText rdf:type owl:DatatypeProperty ; rdfs:domain :Requirement ; rdfs:range xsd:string . :requirementType rdfs:domain :SimpleRequirement ; rdfs:range [ rdf:type rdfs:Datatype ; owl:oneOf ("minInclusive"^^xsd:string "maxInclusive"^^xsd:string "minExclusive"^^xsd:string "maxExclusive"^^xsd:string “allowed”^^xsd:string)] .

94 Initiatives, EU Proficient (Advanced CMO) Requirements
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, EU Proficient (Advanced CMO) Requirements Example (I want my car to be no longer than 3.4 meter): :Requirement_1 a cmo:Requirement ; cmo:forIndividual :Car_1 ; cmo:forProperty :length ; cmo:requirementType "maxInclusive"^^xsd:string ; cmo:hasValue "3.40"^^xsd:float . Note that class level requirements are actually constraints that are already handled by OWL2 Restrictions (like “hasValue” and “withRestrictions”)

95 Initiatives, EU Proficient (Advanced CMO) Complex Lego Examples
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, EU Proficient (Advanced CMO) Complex Lego Examples

96 Initiatives, EU Odysseus
CMO:Concept Modelling Ontology April 24, 2014 Initiatives, EU Odysseus CMO used for modelling e-Nodes (energy nodes) (including buildings) in urban areas Areas are here modelled according to OGC CityGML standard implemented in OSS Deegree 3D server via OSM Positioning of e-Nodes in urban areas according to CityGML compliant Coordinate System (LATLON+Height) to connect the Semantic and GIS views

97 Initiatives, V-Con CMO is connecting BIM (bSI) and GIS (OGC) worlds
CMO:Concept Modelling Ontology April 24, 2014 Initiatives, V-Con CMO is connecting BIM (bSI) and GIS (OGC) worlds Ontologies, called “Libraries” here, recoding and extending static schemas like IFC2x4 and CityGML2.0 Relevant servers: OSS BIMserver (initiated by TNO & TU/e) OSS RDFserver (Fuseki) OSS GISserver (Deegree3D) Bi-directional Mappings & Transformations (translations & conversions) ISO STEP EXPRESS <> CMO/OWL <> W3C XSD IFC(forRoads) <> Ontologies <> OGC CityGML ISO STEP SPFF <> Turtle & RDF/XML <> W3C XML

98 Design starts in planning phase (GIS)
B Road A=>B April 24, 2014 CMO:Concept Modelling Ontology Design starts in planning phase (GIS) Details added in realisation phase (bSI) Info communicated via neutral format (W3C) buildingSmart Initiative W3C Semantic Web Open Geo-spatial Consortium c11 GIS in scope of V-Con? EXPRESS c5 Represented in Represented in OWL2 c13 XSD IFDv16 c6 c3 IFC4 (2x4) Map Map c18 Represented in Types, classes IFC for Infra Represented in CMO Instance of Represented in A1 Represented in c1 IFC for Roads CityGML2.0 c7 IFC for Roads CityGML2.0 Extension of c14 bsDD for NL Roads ADE for NL Roads bsDD for NL Roads ADE for NL Roads Instance of c8 Translate Classes c17 Extension of Define Conversions Translate Classes c2 Instance of Instance of Instance of Instance of Instance of Road A=>B Road A=>B Road A=>B Road A=>B c10 c16 Instances Translate Instances Convert Translate Instances Represented in Represented in Represented in Represented in c15 XML SPFF c9 OWL syntax (Turtle, RDF/XML) Represented in Map Map c12 c4

99 Systems Engineering & Distributed modelling in W3C Semantic Web OWL2
April 24, 2014 CMO:Concept Modelling Ontology Systems engineering + Dynamic modelling layers (in W3C) enable communication between contractors and road authorities A B Road A=>B Systems Engineering & Distributed modelling in W3C Semantic Web OWL2 c18 CMO Static Represented in Static and dynamic ontologies use the same language. How often and easily an ontology will change, is agreed upon by sector partners. Extension of D Int. Road ontology Dynamic Static Ontology editor Extension of CBNL Road ontology SE Road ontology c21 Extension of c19 RWS Road ontology TRV Road ontology Extension of SAA Road ontology SBP Road ontology Instance of Road A=>B c20 RIM Server End-user Software Application c27 Interface Represented in OWL syntax (Turtle, RDF/XML)

100 Systems Engineering & Distributed modelling
April 24, 2014 CMO:Concept Modelling Ontology Systems Engineering & Distributed modelling in W3C Semantic Web OWL2 c18 Extension of CMO Represented in Define Conversion IFC for Roads Extension of Int Road ontology c22 Classes in ontologies bsDD for NL Roads CBNL Road onto;ogy Extension of c23 ADE for NL Roads c21 c25 Extension of RWS Road ontology Define Conversion Define Conversion Extension of SAA Road ontology Instance of Road A=>B Road A=>B Road A=>B c24 c26 Convert Convert Instances in a RIM Represented in OWL syntax (Turtle, RDF/XML) bSI in W3C SW OGC in W3C SW

101 April 24, 2014 CMO:Concept Modelling Ontology Initiatives, NL BIR CB-NL Predefined ‘archetype’ classes in its top-level Behaviour Function Activity Event State Space PhysicalObject ConstructionArtefact Equipment InformationObject Party Organization Person SoftwareTool External/referenced Quantities & Units (QUDT) Material Coordinate Reference System (

102 April 24, 2014 CMO:Concept Modelling Ontology Initiatives, NL BIR CB-NL Predefined object properties in its top-level Typical Fulfillment, between PhysicalObject or Space, and Activity or Function fulfills, inverse: isFulfilledBy Typical Boundness, between Space PhysicalObject bounds, inverse: isBoundedBy

103 Initiatives, NL BIR CB-NL Functions
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, NL BIR CB-NL Functions Functions are seen as special, a bit passive , “Activities” without input or output Functions are “verb-like”: “SoundIsolating”, “GivingEntrance”, … Their potentially equivalent “noun”-counterparts are modelled as normal classes/individuals (“SoundIsolator”, “Entrance”, …) Note that, in case we decide in an ontology to distinguish between functions and function fulfillers, requirements can be attached to both functions or ‘function-fulfillers’ like PhysicalObjects and Spaces

104 Initiatives, NL BIR CB-NL, Simple example taxonomy ProRail
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, NL BIR CB-NL, Simple example taxonomy ProRail :Kunstwerk rdf:type owl:Class ; rdfs:subClassOf owl:Thing . :Tunnel rdfs:subClassOf :Kunstwerk . :Brug :BetonnenBrug rdfs:subClassOf :Brug ; owl:disjointWith :StalenBrug . :BeweegbareBrug owl:disjointWith :VasteBrug . :BoogBrug owl:disjointWith :TuiBrug , :DraaiBrug . :DraaiBrug rdfs:subClassOf :Brug . :SpoorBrug rdf:type owl:Class ; rdfs:subClassOf :Brug ; owl:disjointWith :VerkeersBrug , :VoetgangersBrug . :StalenBrug rdfs:subClassOf :Brug . :TuiBrug :VasteBrug :VerkeersBrug :VoetgangersBrug

105 Initiatives, NL NEN NTA-8611, link with CMO
April 24, 2014 CMO:Concept Modelling Ontology Initiatives, NL NEN NTA-8611, link with CMO NTA-Vocabulary CMO: Class/Property multi-lingual rdfs:label’s Example: “Car” NTA-Dictionary CMO: Term + multi-lingual rdf:Description’s Example: “Car” + "A Car is a wheeled motor vehicle used for transporting passengers, which also carries its own engine or motor. Most definitions of the term specify that automobiles are designed to run primarily on roads, to have seating for one to eight people, to typically have four wheels, and to be constructed principally for the transport of people rather than NTA-Taxonomy CMO: Specialisation Hierarchy Example: Class Car with super/sub classes NTA-Typology Typical Decomposition Hierarchy Example: Class Car with whole/part classes

106 Abbreviations, in [Context]
April 24, 2014 CMO:Concept Modelling Ontology Abbreviations, in [Context] bSI: buildingSmart Initiative CMO: Concept Modelling Ontology [TNO] CSS: Closed Source (‘commercial’) Software DCMI: Dublin Core Meta-data Initiative GA: Genetic Algorithm HVAC: Heating, Ventilation, Air-conditioning & Cooling ID: Identification IFC: Industry Foundation Classes [bSI] Maxcard: Maximum Cardinality [OWL2] Mincard: Minimum Cardinality [OWL2] OWL2: Web Ontology Language version 2 [SW] OGC: Open Geospatial Consortium OO: Object-Oriented OSS: Open Source Software PMO: Product Modelling Ontology (former CMO from SWOP) QUDT: Quantities, Units, Dimensions and Data Types in OWL and XML [qudt.org] RDF: Resource Description Framework [SW] RDFS: RDF Schema [SW] SOH: SPARQL Over HTTP [W3C] SPARQL: SPARQL Protocol And RDF Query Language [SW] SPIN: SPARQL Inferencing Notation [SW, TopQuadrant] SPFF: STEP Physical File Format [STEP] STEP: Standard for the Exchange of Product model data [ISO] SW: Semantic Web (activity) [W3C] SWOP: ‘Semantic Web’-based Open engineering Project TBC: TopBraid Composer [TopQuadrant] TNO: The Netherlands Organization for Applied Scientic Research [NL] Turtle: Terse RDF Triple Language [SW] UUID: Universally Unique IDentifier URI: Uniform Resource Identifier [W3C] XML: eXtensible Mark-up Language [W3C] XSD: XML Schema Definition language [W3C] W3C: World Wide Web Consortium

107 April 24, 2014 CMO:Concept Modelling Ontology References This document: bSI: CMO ontology: QUDT: DCMI: W3C SW: RDF: RDFS: OWL2: Turtle: SPARQL: Fuseki: Protégé: TBC: SPIN: Deployed Fuseki: Deployed Web Protégé: OSS BIMserver: OSS Deegree: ‘Linked Data’ Book: GitHub: TinkerPop: UUID:

108 Development Team “CMO” is (being) developed by & &
April 24, 2014 CMO:Concept Modelling Ontology Development Team “CMO” is (being) developed by & & CMO is a fully open standard that can be freely reused without any constraints

109 Issues Investigate power of built-in OWL2 restrictions
April 24, 2014 CMO:Concept Modelling Ontology Issues Investigate power of built-in OWL2 restrictions Other than hasValue & withRestrictions? ‘hasValue’ <> ‘withRestrictions min=max cardinality’: equivalent? TBC issue on union of classes in max 0 restriction (posted to community) 1) dcterms:hasPart max 0 (Wheel  and (not Wheel17inch)) 2) dcterms:hasPart only (not (Wheel  and (not Wheel17inch))) which is right/better or equivalent? Support for homonyms?  :Person owl:equivalentClass :Human . Add LifeCycle-capabilities: required, expected, measured In requirements.ttl?

110 More information http://www.tno.nl/bim http://rdf.bg/
April 24, 2014 CMO:Concept Modelling Ontology More information


Download ppt "CMO:Concept Modelling Ontology"

Similar presentations


Ads by Google