Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Construction Works

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 124 Publicité

BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Construction Works

Télécharger pour lire hors ligne

Presentation at the Technical Room of the BuildingSMART Standards Summit October 2015 in Singapore. The presentation was done together with Jakob Beetz, TUEindhoven, with strong support by Walter Terkaj, ITIA-CNR, and Kris McGlinn, TCDublin. It is part of the SWIMing H2020 project, run by Kris McGlinn (http://swiming-project.eu/).

Presentation at the Technical Room of the BuildingSMART Standards Summit October 2015 in Singapore. The presentation was done together with Jakob Beetz, TUEindhoven, with strong support by Walter Terkaj, ITIA-CNR, and Kris McGlinn, TCDublin. It is part of the SWIMing H2020 project, run by Kris McGlinn (http://swiming-project.eu/).

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Les utilisateurs ont également aimé (14)

Publicité

Similaire à BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Construction Works (20)

Publicité

Plus récents (20)

BuildingSMART Standards Summit 2015 - Technical Room - Linked Data for Construction Works

  1. 1. Linked Data for Construction Works 2015 buildingSMART Standards Summit Singapore Technical Room Pieter Pauwels, Ghent University Jakob Beetz, TU Eindhoven 13 October 2015 9:00 – 13:00
  2. 2. 9:00-9:15: Introduction round 9:15-9:30: Topic introduction 9:30-10:00: ifcOWL proposal and toolset 10:00-10:15: Plan of actions 10:15-10:30: Questions and discussion 10:30-10:45: Coffee break 10:50-11:20: Outreach to Product Room 11:20-12:00: Outreach from Product Room 12:00-13:00: Open Joint Discussion TECHNICAL ROOM TECHNICAL ROOM + PRODUCT ROOM Agenda 2
  3. 3. ROUND OF INTRODUCTIONS • All – short interest statement from the participants • All – identify members of the Working Group 3
  4. 4. The home pages [WWW1] http://www.buildingsmart-tech.org/future/linked-data/ [WWW2] http://www.buildingsmart.org/standards/standards-organization/groups/linked- data-working-group/ [mailing list] lbd@lists.buildingsmart.org [mailing list] REGISTER AT https://lists.buildingsmart.org/listinfo/lbd 4
  5. 5. Linked Data Working Group Participants Thomas Liebich AEC3 Calin Boje Cardiff University Matthias Weise AEC3 Haijiang Li Cardiff University Jakob Beetz TUEindhoven Alex Bradley Cardiff University Pieter Pauwels Ghent University David Lewis TCDublin Seppo Törmä Aalto University Maria Poveda-Villalon UPMadrid Walter Terkaj ITIA-CNR Willie Lawton Tyndall National Institute Kris McGlinn TCDublin Joe Tah Oxford Brookes University Reijo Hänninen BSI Excom Tamer El-Diraby University of Toronto Odilo Schoch ETH Zürich John Dickinson Advanced BIM Solutions Benedict Wallbank Viewpoint 4 projects Chaohai Ding University of Southampton John Adams Viewpoint 4 projects Yongwook Jeong Sejong University Goncal Costa La Salle University Michel Böhms TNO Rasso Steinmann iabi & Nemetschek Léon van Berlo TNO Karam Kim Kwangwoon University Pim van den Helm TNO Bonsang Koo Seoultech University Ana Roxin University of Burgundy Bob Wakelam AEC3 Christophe Nicolle University of Burgundy Bernard Ferries French bS chapter Nam Vu Hoang Aalto University Martin Simpson Arup Yong-Cheol Lee Georgia Institute of Technology 5
  6. 6. 6 Regular faces
  7. 7. Joining the group Join by … 1. notifying Pieter Pauwels (pipauwel.pauwels@ugent.be) or Jakob Beetz (j.beetz@tue.nl), chairs of this group; AND 2. registering yourself at https://lists.buildingsmart.org/listinfo/lbd for the mailing list. So that … 1. Your name is listed at http://www.buildingsmart.org/standards/standards- organization/groups/linked-data-working-group/; AND 2. You can take part of the regular Skype meetings, which are announced via the mailing list 7
  8. 8. TOPIC INTRODUCTION 8
  9. 9. • Toronto ITM October 2014: initial presentation (T. Liebich) Track Record 9
  10. 10. 10 Image courtesy: Jakob Beetz, TU Eindhoven
  11. 11. 11
  12. 12. DOWNSTREAM EXTENDED IFCOWL FILE-BASED CONVERSION RELYING ON THE IFCOWL ONTOLOGY Image courtesy: Nam Vu Hoang, Aalto University ifcOWL conversion procedure
  13. 13. • Toronto ITM October 2014: initial presentation (T. Liebich) • Watford ITM March 2015: proposed as a possible future working group (P. Pauwels) chairs Pieter Pauwels and Jakob Beetz Track Record 13
  14. 14. Aims: 1. to develop and maintain a recommended ifcOWL ontology 2. to align semantic web activities with ongoing efforts in buildingSMART (Product Room bsDD, MVD development and usage, Infra). 3. to provide support in the usage of an ifcOWL ontology 14
  15. 15. • Toronto ITM October 2014: initial presentation (T. Liebich) • Watford ITM March 2015: proposed as a possible future working group (P. Pauwels) chairs Pieter Pauwels and Jakob Beetz • March 2015 – October 2015: Skype meetings at regular intervals (often back-to-back with W3C LBD community group at w3.org/community/lbd): 29 May 15 June 4 September 25 September LDAC live meeting: 15-17 July, Eindhoven (http://ldac-2015.bwk.tue.nl/) CIB W78 live meeting: 27-29 October, Eindhoven (http://cib-w78-2015.bwk.tue.nl/) Track Record 15
  16. 16. 16
  17. 17. 17
  18. 18. Image courtesy: Nam Vu Hoang, Aalto University targeted status ifcOWL - e Walter ifcOWL - e Pieter = identic. = = identic. = ifcOWL - si Walter ifcOWL - si Pieter ifcOWL - st Walter ifcOWL - st Pieter = identic. = = identic. = = identic. = = identic. = importimport Minimal aim for LDAC2015
  19. 19. Linked Data in Architecture and Construction Discussion Technical Session ifcOWL: 20 precise open issues were to be discussed and decided upon. For example: Issue #1: Domains and ranges to be included or not? 1. No domains/ranges are specified in the ontology 2. OWL 2 restrictions + d/r on simple datatypes 3. putting domain/range & property restrictions whenever we can Output LDAC2015: Meeting report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf Meeting presentations at http://ldac-2015.bwk.tue.nl/ LDAC2016 organised by the Ontology Engineering Group (OEG) at Universidad Politécnica de Madrid (UPM) http://www.buildingsmart.org/standards/technical-vision/technical-roadmaps/19
  20. 20. Fit in BuildingSMART activities Purpose: Bring together experts in BIM and Web of Data technologies to define existing and future use cases and requirements for linked data based applications across the building life cycle. http://www.buildingsmart.org/standards/technical-vision/technical-roadmaps/20
  21. 21. Status in the standards process http://www.buildingsmart.org/standards/standards-process/ 21
  22. 22. Tuesday 13 Oct. 9AM – 10.30AM == TECHNICAL ROOM == • Officialisation of Linked Data Working Group (‘present’ instead of ‘future’) • Presentation of ifcOWL ontology as a recommended standard (to be further evaluated): – ifcOWL ontology – HTML documentation – Proposed Recommendation • Requirements for hosting the ifcOWL online Tuesday 13 Oct. 10.45AM – 1PM == TECHNICAL ROOM +PRODUCT ROOM == • Handshakes and explorations with product room (bsDD) • Use case development, including MVDs • Building bridges to other BuildingSMART groups and rooms (Infra? Regulatory?) Agenda for BuildingSMART ITM
  23. 23. IFCOWL PROPOSAL 23
  24. 24. 1. Officialisation of Linked Data Working Group (present instead of future) 2. Presentation of ifcOWL ontology as a recommended standard (to be further evaluated): – ifcOWL ontology – HTML documentation – Proposed Recommendation 3. Requirements for hosting the ifcOWL online 24 ifcOWL Proposal Outline
  25. 25. From the future: http://www.buildingsmart-tech.org/future/linked-data To the present: http://www.buildingsmart-tech.org/linked-data 25 Officialisation of Linked Data Working Group
  26. 26. 26 Officialisation of Linked Data Working Group
  27. 27. 27 Officialisation of Linked Data Working Group Linked Data Working Group > The Linked Data Working Group is responsible for building and maintaining a recommended version of an ifcOWL ontology as an equivalent to the IFC EXPRESS schema. The ifcOWL ontology is to be used in linked data and semantic web applications that consume IFC data.
  28. 28. 1. Officialisation of Linked Data Working Group (present instead of future) 2. Presentation of ifcOWL ontology as a recommended standard (to be further evaluated): – ifcOWL ontology – HTML documentation – Proposed Recommendation 3. Requirements for hosting the ifcOWL online 28 ifcOWL Proposal Outline
  29. 29. • Diverse suggestions in academic research to make IFC available as an OWL ontology to allow the usage of semantic web technologies  Schevers and Drogemuller, 2005  Beetz et al., 2009 • General purpose initiative to convert EXPRESS schemas and STEP file to OWL ontology, not focused on IFC  Krima et al., 2009 (OntoSTEP)  Barbau et al., 2012 (OntoSTEP) • From 2012 onwards, increasing uptake in research and developments => many different ifcOWL structures floating around • Need for formalisation and standardisation => combine efforts and proceed in a more formalised, standard fashion => role of standardisation bodies: W3C, BuildingSMART • BuildingSMART Technical Summit March 2015 (London) and October 2015 (Singapore) we owe our past and present - 2005-2015
  30. 30. DOWNSTREAM EXTENDED IFCOWL FILE-BASED CONVERSION RELYING ON THE IFCOWL ONTOLOGY Image courtesy: Nam Vu Hoang, Aalto University conversion procedure / approach Nam
  31. 31. Image courtesy: Nam Vu Hoang, Aalto University targeted status ifcOWL - e Walter ifcOWL - e Pieter = identic. = = identic. = ifcOWL - si Walter ifcOWL - si Pieter ifcOWL - st Walter ifcOWL - st Pieter = identic. = = identic. = = identic. = = identic. = importimport Minimal aim for LDAC2015
  32. 32. 32 Decided issues in LDAC2015 report (1) Issue #1: Domains and ranges to be included or not? 1. No domains/ranges are specified in the ontology 2. OWL 2 restrictions + d/r on simple datatypes 3. putting domain/range & property restrictions whenever we can  Decision: we vote for option 3. This was a tight vote. There is a great argument for easy names. Issue #2: PropertyName - Consistent use of long names or only use of long names when required (inconsistent)?  Decision: consistent Issue #3: PropertyName - Camelcase long names or Underscore long names?  Decision: underscore Issue #4: PropertyName - First Class Name, then Property Name?  Decision: PropertyName_ClassName See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  33. 33. 33 Decided issues in LDAC2015 report (2) Issue #5: PropertyName - Exclude “Ifc” from all names (classes, properties)?  Decision: Keep “Ifc” included Issue #6: PropertyName - name_of_IfcRoot | name_IfcRoot?  Decision: name_IfcRoot Issue #7: Use of “Grouping” SubProperty relations (Property “Name”) or not?  Decision: no SubProperty relations Issue #8: How to convert LISTs and ARRAYs? 1. OLO pattern (including index of LIST items) 2. Drummond pattern (excluding index of LIST items)  Decision: Drummond pattern (because it is also used by OntoSTEP) Issue #9: How to convert SETs? 1. Follow the LIST pattern 2. Use non-functional object properties => Decision: Use non-functional object properties See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  34. 34. 34 Decided issues in LDAC2015 report (3) Issue #10: Inverse attributes? 1. included in conversion when possible 2. not included in conversion  Decision: included in conversion when possible Note: what cannot be included in the conversion? ● An attribute has two or more INVERSE attributes. This is, for example, the case of attribute RelatedDefinitions of entity IfcRelDeclares. This attribute has two inverse attributes: HasContext of entity IfcObjectDefinition and HasContext of entity IfcPropertyDefinition. If all these INVERSE attributes were converted to object properties in ifcOWL, then a reasoning engine would infer that the two HasContext object properties are equivalent. Moreover, other inferences would lead to say that some classes are equivalent to owl:Nothing. ● A regular attribute or its INVERSE attribute has a LIST or an ARRAY as its range. Given the particular conversion pattern needed for ordered lists, if the INVERSE attributes were converted to object properties, then there would be a mismatch between the range of an object property and the domain of its inverse. Therefore, a reasoning engine would infer that the range of the object property is equal to the intersection of two disjoint classes. An example of this case is represented by attribute Addresses of entity IfcPerson and attribute OfPerson of entity IfcAddress. See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  35. 35. 35 Decided issues in LDAC2015 report (4) Issue #11: NUMBER simple datatype is considered as an INTEGER or as a REAL?  Decision: REAL Issue #12: REAL simple datatype is considered as an xsd:double, xsd:decimal or xsd:real?  Decision: xsd:double Issue #13: LOGICAL simple datatype is considered as an xsd:boolean, or as an enumeration of TRUE, FALSE, and UNKNOWN?  Decision: enumeration of TRUE, FALSE, and UNKNOWN Issue #14: BOOLEAN simple datatype is considered as an xsd:boolean, or as an enumeration of TRUE and FALSE?  Decision: enumeration of TRUE and FALSE (because we can then reuse the same concepts that are available in the LOGICAL datatype. See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  36. 36. 36 Decided issues in LDAC2015 report (5) Issue #15: How to declare ENUM datatypes? 1. using owl:oneOf 2. using rdf:type only (when owl:oneOf is used, a reasoner infers the “rdf:type” relation)  Decision: using rdf:type only Issue #16: How to declare SELECT datatypes? 1. using owl:unionOf 2. using rdfs:subClassOf only (when owl:unionOf is used, a reasoner infers the “rdfs:subClassOf” relation)  Decision: using rdfs:subClassOf only Issue #17: What namespace structure do we use? 1. http://www.buildingsmart-tech.org/ifcowl/IFC4 2. http://www.buildingsmart-tech.org/def/IFC4 3. Other => Decision: http://www.buildingsmart-tech.org/ifcowl/IFC4 See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  37. 37. 37 Decided issues in LDAC2015 report (6) Issue #18: Naming individuals / instances?  Decision: following existing best practices. Note, these are best practices: - Data on the Web Best Practices: http://www.w3.org/TR/2015/WD-dwbp-20150625/ - Data Identification: http://www.w3.org/TR/2015/WD-dwbp- 20150625/#DataIdentification - Content Negotiation - http://www.w3.org/Protocols/HTTP/Negotiation - Use unique namespaces (eventually including line number) - Identify key uses cases and for each use case define key recommendations (e.g. BIM, versioning, etc.) - http://www.w3.org/TR/cooluris/ - http://www.w3.org/2001/tag/doc/URNsAndRegistries-50.html - http://www.w3.org/Provider/Style/URI - http://www.w3.org/TR/2003/NOTE-chips-20030128/ - http://www.w3.org/2001/tag/doc/URNsAndRegistries-50.html See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  38. 38. 38 Decided issues in LDAC2015 report (7) Issue #19: EnumName - what naming to use? 1. follow the same approach as for object properties 2. adopt simple naming strategy => Decision: follow the same approach as for object properties Issue #20: Which license to use? => Decision: CC-BY if possible, depending on the BuildingSMART license See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  39. 39. conversion procedure EXPRESS schema to OWL IFC Schema Simple data type Defined data type Aggregation data type SET data type -------- LIST & ARRAY data type -------- Constructed data type SELECT data type -------- ENUMERATION data type -------- Entity data type Attributes -------- Derive attr WHERE rules Functions Rules ifcOWL Ontology owl:class + owl:DatatypeProperty restriction owl:class owl:class -------- non-functional owl:ObjectProperty -------- indirect subclass of express:List owl:class -------- rdfs:subClassOf for owl:classes -------- rdf:type for owl:NamedIndividuals owl:class -------- object properties - - - -
  40. 40. ifcOWL ontologies available Ifc2x_all_lf.exp IFC2X2_ADD1.exp IFC2X2_FINAL.exp IFC2X2_PLATFORM.exp IFC2X3_Final.exp IFC2X3_TC1.exp IFC4.exp IFC4_ADD1.exp not supported not supported not supported not supported IFC2X3_Final.owl / .ttl IFC2X3_TC1.owl / .ttl IFC4.owl / .ttl IFC4_ADD1.owl / .ttl http://www.buildingsmart-tech.org/future/linked-data/ifcowl/20150925_latest/IFC4_ADD1.owl http://www.buildingsmart-tech.org/future/linked-data/ifcowl/20150925_latest/IFC4.owl http://www.buildingsmart-tech.org/future/linked-data/ifcowl/20150925_latest/IFC2X3_Final.owl http://www.buildingsmart-tech.org/future/linked-data/ifcowl/20150925_latest/IFC2X3_TC1.owl
  41. 41. 41
  42. 42. 42
  43. 43. 43
  44. 44. HTML documentation pages available Ifc2x_all_lf.exp IFC2X2_ADD1.exp IFC2X2_FINAL.exp IFC2X2_PLATFORM.exp IFC2X3_Final.exp IFC2X3_TC1.exp IFC4.exp IFC4_ADD1.exp not supported not supported not supported not supported IFC2X3_Final.owl / .ttl IFC2X3_TC1.owl / .ttl IFC4.owl / .ttl IFC4_ADD1.owl / .ttl http://users.ugent.be/~pipauwel/ontologies/ifc/20150925/IFC4_ADD1/index.html http://users.ugent.be/~pipauwel/ontologies/ifc/20150925/IFC4/index.html http://users.ugent.be/~pipauwel/ontologies/ifc/20150925/IFC2X3_TC1/index.html http://users.ugent.be/~pipauwel/ontologies/ifc/20150925/IFC2X3_Final/index.html
  45. 45. 45 HTML documentation pages (1)
  46. 46. 46 HTML documentation pages (2)
  47. 47. 47 HTML documentation pages (3)
  48. 48. 1. Officialisation of Linked Data Working Group (present instead of future) 2. Presentation of ifcOWL ontology as a recommended standard (to be further evaluated): – ifcOWL ontology – HTML documentation – Proposed Recommendation 3. Requirements for hosting the ifcOWL online 48 ifcOWL Proposal Outline
  49. 49. conversion procedure EXPRESS schema to OWL IFC Schema Simple data type Defined data type Aggregation data type SET data type -------- LIST & ARRAY data type -------- Constructed data type SELECT data type -------- ENUMERATION data type -------- Entity data type Attributes -------- Derive attr WHERE rules Functions Rules ifcOWL Ontology owl:class + owl:DatatypeProperty restriction owl:class owl:class -------- non-functional owl:ObjectProperty -------- indirect subclass of express:List owl:class -------- rdfs:subClassOf for owl:classes -------- rdf:type for owl:NamedIndividuals owl:class -------- object properties - - - -
  50. 50. Step 1. Schema definition IFC Schema ifcOWL Ontology SCHEMA IFC4; ... END_SCHEMA; EXPRESS go directly to slide 87
  51. 51. Step 1. Schema definition - namespaces @base <http://www.buildingsmart-tech.org/ifcOWL/IFC4_ADD1 . @prefix : <http://www.buildingsmart-tech.org/ifcOWL/IFC4_ADD1#> . @prefix ifc: <http://www.buildingsmart-tech.org/ifcOWL/IFC4_ADD1#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix dce: <http://purl.org/dc/elements/1.1/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix cc: <http://creativecommons.org/ns#> . @prefix expr: <http://purl.org/voc/express#> . @prefix vann: <http://purl.org/vocab/vann/> . @prefix list: <http://www.co-ode.org/ontologies/list.owl#> . PREFIXES NAMESPACES OWL Note: Reliance on LIST ontology and EXPRESS ontology
  52. 52. 52 Relevant issues in LDAC2015 report Issue #17: What namespace structure do we use? 1. http://www.buildingsmart-tech.org/ifcowl/IFC4 2. http://www.buildingsmart-tech.org/def/IFC4 3. Other  Decision: http://www.buildingsmart-tech.org/ifcowl/IFC4 For the other ontologies, this results in: - http://www.buildingsmart-tech.org/ifcowl/IFC4 - http://www.buildingsmart-tech.org/ifcowl/IFC4_ADD1 - http://www.buildingsmart-tech.org/ifcowl/IFC2x3 - http://www.buildingsmart-tech.org/ifcowl/IFC2x3_TC1 Note: similar naming convention for other similar efforts: e.g.http://www.buildingsmart-tech.org/ifcXML/IFC4 See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  53. 53. Step 1. Schema definition – ontology header <http://www.buildingsmart-tech.org/ifcOWL/IFC4_ADD1> rdf:type owl:Ontology ; dce:creator "Pieter Pauwels (pipauwel.pauwels@ugent.be)" , "Walter Terkaj (walter.terkaj@itia.cnr.it)" ; dce:contributor "Aleksandra Sojic (aleksandra.sojic@itia.cnr.it)" , "Jakob Beetz (j.beetz@tue.nl)" , "Maria Poveda Villalon (mpoveda@fi.upm.es)" , "Nam Vu Hoang (nam.vuhoang@gmail.com )"; rdfs:comment "Ontology automatically generated from the EXPRESS schema 'IFC4_ADD1' using the 'IFC-to-RDF' converter developed by Pieter Pauwels (pipauwel.pauwels@ugent.be), based on the earlier versions from Jyrki Oraskari (jyrki.oraskari@aalto.fi) and Davy Van Deursen (davy.vandeursen@ugent.be)" ; dce:title "IFC4_ADD1" ; dce:description "OWL ontology for the IFC conceptual data schema and exchange file format for Building Information Model (BIM) data" ; dce:date "2015/10/02" ; dce:identifier "IFC4_ADD1" ; dce:language "en" ; vann:preferredNamespacePrefix "ifc" ; vann:preferredNamespaceUri "http://www.buildingsmart-tech.org/ifcOWL/IFC4_ADD1" ; owl:imports <http://purl.org/voc/express> ; cc:license <http://creativecommons.org/licenses/by/3.0/> ; ONTOLOGY DEFINTION OWL
  54. 54. 54 Relevant issues in LDAC2015 report Issue #20: Which license to use? => Decision: CC-BY if possible, depending on the BuildingSMART license See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  55. 55. Step 2. Simple data types IFC Schema Simple data type ifcOWL Ontology owl:class + owl:DatatypeProperty restriction NUMBER, REAL, INTEGER, LOGICAL, BOOLEAN, STRING, BINARY EXPRESS
  56. 56. Step 2. Simple data types expr:REAL rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:allValuesFrom xsd:double ; owl:onProperty expr:hasDouble ] . expr:has_double rdf:type owl:DatatypeProperty ; rdf:type owl:FunctionalProperty ; rdfs:label "hasDouble" ; rdfs:domain [ rdf:type owl:Class ; owl:unionOf ( expr:NUMBER expr:REAL ) ] ; rdfs:range xsd:double . OWL
  57. 57. 57 Relevant issues in LDAC2015 report Issue #11: NUMBER simple datatype is considered as an INTEGER or as a REAL?  Decision: REAL Issue #12: REAL simple datatype is considered as an xsd:double, xsd:decimal or xsd:real?  Decision: xsd:double Issue #13: LOGICAL simple datatype is considered as an xsd:boolean, or as an enumeration of TRUE, FALSE, and UNKNOWN?  Decision: enumeration of TRUE, FALSE, and UNKNOWN Issue #14: BOOLEAN simple datatype is considered as an xsd:boolean, or as an enumeration of TRUE and FALSE? => Decision: enumeration of TRUE and FALSE (because we can then reuse the same concepts that are available in the LOGICAL datatype). See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  58. 58. LOGICAL data type expr:hasLogical a owl:FunctionalProperty , owl:ObjectProperty ; rdfs:domain expr:LOGICAL ; rdfs:label "hasLogical" ; rdfs:range expr:LogicalEnum . expr:LOGICAL a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom expr:LogicalEnum ; owl:onProperty expr:hasLogical ] . expr:LogicalEnum a owl:Class ; rdfs:subClassOf expr:ENUMERATION . expr:TRUE a expr:LogicalEnum , owl:NamedIndividual ; rdfs:label "TRUE" . expr:FALSE a expr:LogicalEnum , owl:NamedIndividual ; rdfs:label "FALSE" . expr:UNKNOWN a expr:LogicalEnum , owl:NamedIndividual ; rdfs:label "UNKNOWN" . OWL
  59. 59. Step 3. Defined data types IFC Schema Simple data type Defined data type ifcOWL Ontology owl:class + owl:DatatypeProperty restriction owl:class TYPE IfcAreaDensityMeasure = REAL; END_TYPE; ifc:IfcAreaDensityMeasure rdf:type owl:Class ; rdfs:subClassOf expr:REAL . EXPRESS OWL
  60. 60. Step 4. Aggregation data types IFC Schema Simple data type Defined data type Aggregation data type SET data type -------- LIST & ARRAY data type -------- ifcOWL Ontology owl:class + owl:DatatypeProperty restriction owl:class owl:class -------- non-functional owl:ObjectProperty -------- indirect subclass of express:List
  61. 61. Step 4. Aggregation data types (SET) ENTITY IfcArbitraryProfileDefWithVoids ... InnerCurves : SET [1:?] OF IfcCurve; ... END_ENTITY; ifc:IfcArbitraryProfileDefWithVoids ... rdfs:subClassOf [ rdf:type owl:Restriction ; owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onClass ifc:IfcCurve ; owl:onProperty ifc:innerCurves_IfcArbitraryProfileDefWithVoids ] ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:allValuesFrom ifc:IfcCurve ; owl:onProperty ifc:innerCurves_IfcArbitraryProfileDefWithVoids ] . EXPRESS OWL
  62. 62. 62 Relevant issues in LDAC2015 report Issue #9: How to convert SETs? 1. Follow the LIST pattern 2. Use non-functional object properties => Decision: Use non-functional object properties See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  63. 63. Step 4. Aggregation data types (LIST & ARRAY) TYPE IfcCompoundPlaneAngleMeasure = LIST [3:4] OF INTEGER; … END_TYPE; ifc:IfcCompoundPlaneAngleMeasure rdf:type owl:Class ; rdfs:subClassOf ifc:IfcDerivedMeasureValue , expr:INTEGER_List ; EXPRESS OWL
  64. 64. Handling the LIST and ARRAY restrictions – min ifc:IfcCompoundPlaneAngleMeasure rdfs:subClassOf [ a owl:Restriction ; owl:onProperty list:hasNext ; owl:someValuesFrom [ a owl:Restriction ; owl:onProperty list:hasNext ; owl:someValuesFrom [ a owl:Restriction ; owl:onProperty list:hasNext ; owl:someValuesFrom expr:INTEGER_List ] ] ] ; OWL TYPE IfcCompoundPlaneAngleMeasure = LIST [3:4] OF INTEGER; … END_TYPE; EXPRESS
  65. 65. Handling the LIST and ARRAY restrictions – max ifc:IfcCompoundPlaneAngleMeasure rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom [ a owl:Restriction ; owl:allValuesFrom [ a owl:Restriction ; owl:allValuesFrom [ a owl:Restriction ; owl:onClass expr:INTEGER_EmptyList ; owl:onProperty list:hasNext ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ; owl:onProperty list:hasNext ] ; owl:onProperty list:hasNext ] ; owl:onProperty list:hasNext ] . OWL TYPE IfcCompoundPlaneAngleMeasure = LIST [3:4] OF INTEGER; … END_TYPE; EXPRESS
  66. 66. 66 Relevant issues in LDAC2015 report Issue #8: How to convert LISTs and ARRAYs? 1. OLO pattern (including index of LIST items) 2. Drummond pattern (excluding index of LIST items) => Decision: Drummond pattern (because it is also used by OntoSTEP) See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf Note: Reliance on LIST ontology and EXPRESS ontology
  67. 67. Step 5. Constructed data types IFC Schema Simple data type Defined data type Aggregation data type SET data type -------- LIST & ARRAY data type -------- Constructed data type SELECT data type -------- ENUMERATION data type -------- ifcOWL Ontology owl:class + owl:DatatypeProperty restriction owl:class owl:class -------- non-functional owl:ObjectProperty -------- indirect subclass of express:List owl:class -------- rdfs:subClassOf for owl:classes -------- rdf:type for owl:NamedIndividuals
  68. 68. Step 5. Constructed data types (SELECT) TYPE IfcMetricValueSelect = SELECT (IfcAppliedValue ,IfcMeasureWithUnit ,IfcReference ,IfcTable ,IfcTimeSeries ,IfcValue); END_TYPE; EXPRESS ifc:IfcMetricValueSelect a owl:Class ; rdfs:subClassOf expr:SELECT . ifc:IfcValue a owl:Class ; rdfs:subClassOf expr:SELECT , ifc:IfcAppliedValueSelect , ifc:IfcMetricValueSelect . OWL
  69. 69. 69 Relevant issues in LDAC2015 report Issue #16: How to declare SELECT datatypes? 1. using owl:unionOf 2. using rdfs:subClassOf only (when owl:unionOf is used, an inference engine infers the “rdfs:subClassOf” relation) => Decision: using rdfs:subClassOf only See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  70. 70. Step 5. Constructed data types (ENUMERATION) TYPE IfcAddressTypeEnum = ENUMERATION OF (OFFICE ,SITE ,HOME ,DISTRIBUTIONPOINT ,USERDEFINED); END_TYPE; EXPRESS ifc:IfcAddressTypeEnum a owl:Class ; rdfs:subClassOf expr:ENUMERATION . ifc:DISTRIBUTIONPOINT a ifc:IfcAddressTypeEnum , owl:NamedIndividual ; rdfs:label "DISTRIBUTIONPOINT" . ifc:SITE a ifc:IfcAddressTypeEnum , ifc:IfcCrewResourceTypeEnum , ifc:IfcAssemblyPlaceEnum , owl:NamedIndividual ; rdfs:label "SITE" . OWL
  71. 71. 71 Relevant issues in LDAC2015 report Issue #15: How to declare ENUM datatypes? 1. using owl:oneOf 2. using rdf:type only (when owl:oneOf is used, a reasoner infers the “rdf:type” relation)  Decision: using rdf:type only Issue #19: EnumName - what naming to use? 1. follow the same approach as for object properties 2. adopt simple naming strategy => Decision: follow the same approach as for object properties See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  72. 72. Step 6. Entity data types IFC Schema Simple data type Defined data type Aggregation data type SET data type -------- LIST & ARRAY data type -------- Constructed data type SELECT data type -------- ENUMERATION data type -------- Entity data type ifcOWL Ontology owl:class + owl:DatatypeProperty restriction owl:class owl:class -------- non-functional owl:ObjectProperty -------- indirect subclass of express:List owl:class -------- rdfs:subClassOf for owl:classes -------- rdf:type for owl:NamedIndividuals owl:class
  73. 73. Step 6. Entity data types (IfcBSplineCurve) ENTITY IfcBSplineCurve ABSTRACT SUPERTYPE OF (ONEOF (IfcBSplineCurveWithKnots)) SUBTYPE OF (IfcBoundedCurve); Degree : IfcInteger; ControlPointsList : LIST [2:?] OF IfcCartesianPoint; CurveForm : IfcBSplineCurveForm; ClosedCurve : IfcLogical; SelfIntersect : IfcLogical; DERIVE UpperIndexOnControlPoints : IfcInteger := (SIZEOF(ControlPointsList) - 1); ControlPoints : ARRAY [0:UpperIndexOnControlPoints] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints); WHERE SameDim : SIZEOF(QUERY(Temp <* ControlPointsList |Temp.Dim <> ControlPointsList[1].Dim)) = 0; END_ENTITY; EXPRESS
  74. 74. Step 6. Entity data types (IfcObject) ENTITY IfcObject ABSTRACT SUPERTYPE OF (ONEOF(IfcActor,IfcControl,IfcGroup,IfcProcess,IfcProduct,IfcResource)) SUBTYPE OF (IfcObjectDefinition); ObjectType : OPTIONAL IfcLabel; INVERSE IsDeclaredBy : SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects; Declares : SET [0:?] OF IfcRelDefinesByObject FOR RelatingObject; IsTypedBy : SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects; IsDefinedBy : SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects; WHERE UniquePropertySetNames : IfcUniqueDefinitionNames(IsDefinedBy); END_ENTITY; EXPRESS
  75. 75. Step 6. Entity data types (IfcBSplineCurve) ifc:IfcBSplineCurve rdf:type owl:Class ; rdfs:subClassOf ifc:IfcBoundedCurve ; rdfs:subClassOf [ rdf:type owl:Class ; owl:unionOf ( ifc:IfcBSplineCurveWithKnots ) ] ; owl:disjointWith ifc:IfcPolyline, ifc:IfcIndexedPolyCurve, ifc:IfcCompositeCurve, ifc:IfcTrimmedCurve . OWL
  76. 76. Step 7. Entity Attributes IFC Schema Simple data type Defined data type Aggregation data type SET data type -------- LIST & ARRAY data type -------- Constructed data type SELECT data type -------- ENUMERATION data type -------- Entity data type Attributes -------- ifcOWL Ontology owl:class + owl:DatatypeProperty restriction owl:class owl:class -------- non-functional owl:ObjectProperty -------- indirect subclass of express:List owl:class -------- rdfs:subClassOf for owl:classes -------- rdf:type for owl:NamedIndividuals owl:class -------- object properties
  77. 77. Step 7. Entity attributes (regular attr) ENTITY IfcBSplineCurve … Degree : IfcInteger; … END_ENTITY; EXPRESS ifc:degree_IfcBSplineCurve a owl:ObjectProperty , owl:FunctionalProperty ; rdfs:domain ifc:IfcBSplineCurve ; rdfs:label "Degree" ; rdfs:range ifc:IfcInteger . OWL
  78. 78. Additional restrictions ifc:IfcBSplineCurve rdfs:subClassOf [ rdf:type owl:Restriction ; owl:allValuesFrom ifc:IfcInteger ; owl:onProperty ifc:degree_IfcBSplineCurve ] ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty ifc:degree_IfcBSplineCurve ; owl:onClass ifc:IfcInteger ] . OWL
  79. 79. Step 7. Entity attributes (aggr attr) ENTITY IfcBSplineCurve … ControlPointsList : LIST [2:?] OF IfcCartesianPoint; … END_ENTITY; EXPRESS ifc:controlPointsList_IfcBSplineCurve rdfs:label "ControlPointsList" ; rdfs:domain ifc:IfcBSplineCurve ; rdfs:range ifc:IfcCartesianPoint_List ; rdf:type owl:FunctionalProperty, owl:ObjectProperty . OWL
  80. 80. Additional restrictions ifc:IfcBSplineCurve rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom ifc:IfcCartesianPoint_List ; owl:onProperty ifc:controlPointsList_IfcBSplineCurve ] ; rdfs:subClassOf [ a owl:Restriction ; owl:onClass ifc:IfcCartesianPoint_List ; owl:onProperty ifc:controlPointsList_IfcBSplineCurve ; owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ] ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom [ a owl:Restriction ; owl:onProperty list:hasNext ; owl:someValuesFrom [ a owl:Restriction ; owl:onProperty list:hasNext ; owl:someValuesFrom ifc:IfcCartesianPoint_List ] ] ; owl:onProperty ifc:controlPointsList_IfcBSplineCurve ] . OWL
  81. 81. Step 7. Entity attributes (optional attr) ENTITY IfcObject … ObjectType : OPTIONAL IfcLabel; … END_ENTITY; EXPRESS ifc:objectType_IfcObject rdfs:label "ObjectType" ; rdfs:domain ifc:IfcObject ; rdfs:range ifc:IfcLabel ; rdf:type owl:FunctionalProperty,owl:ObjectProperty . OWL
  82. 82. Additional restrictions ifc:IfcObject rdf:type owl:Class ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:allValuesFrom ifc:IfcLabel ; owl:onProperty ifc:objectType_IfcObject ] ; rdfs:subClassOf [ rdf:type owl:Restriction ; owl:maxQualifiedCardinality "1"^^xsd:nonNegativeInteger ; owl:onProperty ifc:objectType_IfcObject ; owl:onClass ifc:IfcLabel ] . OWL => owl:maxQualifiedCardinality instead of owl:qualifiedCardinality
  83. 83. Step 7. Entity attributes (inverse attr) ENTITY IfcObject … INVERSE IsDeclaredBy : SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects; … END_ENTITY; EXPRESS ifc:isDeclaredBy_IfcObject rdfs:domain ifc:IfcObject ; rdfs:range ifc:IfcRelDefinesByObject ; owl:inverseOf ifc:relatedObjects_IfcRelDefinesByObject ; rdf:type owl:FunctionalProperty, owl:ObjectProperty . OWL  no conversion when:  1. an attribute has two or more INVERSE attributes (those inverse attributes would be considered equivalent by any inference engine)  2. a regular attribute or its INVERSE has a LIST or ARRAY as its range. (domain / range mismatch)
  84. 84. 84 Relevant issues in LDAC2015 report Issue #2: PropertyName - Consistent use of long names or only use of long names when required (inconsistent)?  Decision: consistent Issue #3: PropertyName - Camelcase long names or Underscore long names?  Decision: underscore Issue #4: PropertyName - First Class Name, then Property Name?  Decision: PropertyName_ClassName Issue #5: PropertyName - Exclude “Ifc” from all names (classes, properties)?  Decision: Keep “Ifc” included Issue #6: PropertyName - name_of_IfcRoot | name_IfcRoot?  Decision: name_IfcRoot See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  85. 85. 85 Relevant issues in LDAC2015 report Issue #1: Domains and ranges to be included or not? 1. No domains/ranges are specified in the ontology 2. OWL 2 restrictions + d/r on simple datatypes 3. putting domain/range & property restrictions whenever we can  Decision: we vote for option 3. This was a tight vote. There is a great argument for easy names. Issue #7: Use of “Grouping” SubProperty relations (Property “Name”) or not? => Decision: no SubProperty relations See LDAC2015 report at http://ldac-2015.bwk.tue.nl/LDAC_2015_workshopreport.pdf
  86. 86. Step 8. Derive attr, WHERE rules, functions, rules IFC Schema Simple data type Defined data type Aggregation data type SET data type -------- LIST & ARRAY data type -------- Constructed data type SELECT data type -------- ENUMERATION data type -------- Entity data type Attributes -------- Derive attr WHERE rules Functions Rules ifcOWL Ontology owl:class + owl:DatatypeProperty restriction owl:class owl:class -------- non-functional owl:ObjectProperty -------- indirect subclass of express:List owl:class -------- rdfs:subClassOf for owl:classes -------- rdf:type for owl:NamedIndividuals owl:class -------- object properties - - - -
  87. 87. DERIVE and WHERE attributes ENTITY IfcBSplineCurve ABSTRACT SUPERTYPE OF (ONEOF (IfcBSplineCurveWithKnots)) SUBTYPE OF (IfcBoundedCurve); … DERIVE UpperIndexOnControlPoints : IfcInteger := (SIZEOF(ControlPointsList) - 1); ControlPoints : ARRAY [0:UpperIndexOnControlPoints] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints); … END_ENTITY; EXPRESS TYPE IfcBoxAlignment = IfcLabel; … WHERE WR1 : SELF IN [‘top-left’, ‘top-middle’, ‘top-right’, ‘middle-left’, ‘center’, ‘middle-right’, ‘bottom- left’, ‘bottom-middle’, ‘bottom-right’]; … END_TYPE; EXPRESS
  88. 88. FUNCTIONS and RULES FUNCTION IfcUniqueQuantityNames (Properties : SET [1:?] OF IfcPhysicalQuantity) :LOGICAL; LOCAL Names : SET OF IfcLabel := []; END_LOCAL; REPEAT i:=1 TO HIINDEX(Properties); Names := Names + Properties[i].Name; END_REPEAT; RETURN (SIZEOF(Names) = SIZEOF(Properties)); END_FUNCTION; EXPRESS RULE IfcSingleProjectInstance FOR (IfcProject); WHERE WR1 : SIZEOF(IfcProject) <= 1; END_RULE; EXPRESS
  89. 89. 1. Officialisation of Linked Data Working Group (present instead of future) 2. Presentation of ifcOWL ontology as a recommended standard (to be further evaluated): – ifcOWL ontology – HTML documentation – Proposed Recommendation 3. Requirements for hosting the ifcOWL online 89 ifcOWL Proposal Outline
  90. 90. 90 Publishing RDF Vocabularies: Best Practices See http://www.w3.org/TR/swbp-vocab-pub/
  91. 91. 91 Minimal configuration for hash vocabularies (Serve the RDF description of the vocabulary, encoded as RDF/XML.) Vocabulary URI: http://www.buildingsmart-tech.org/ifcOWL/IFC4_ADD1 Server location: http://www.buildingsmart-tech.org/ifcOWL/ See http://www.w3.org/TR/swbp-vocab-pub/
  92. 92. Step 1 Create a file called IFC4_ADD1.rdf that contains a complete RDF/XML serialization of the vocabulary. I.e. all resources defined by the vocabulary are described in this file. Step 2 Copy the IFC4_ADD1.rdf file to the /ifcOWL/ directory on the server. Step 3 Add the following directives to the .htaccess file in the /ifcOWL/ directory on the server: # Directive to ensure *.rdf files served as appropriate content type, # if not present in main apache config AddType application/rdf+xml .rdf # Rewrite engine setup RewriteEngine On RewriteBase /ifcOWL # Rewrite rule to serve RDF/XML content from the vocabulary URI RewriteRule ^IFC4_ADD1$ IFC4_ADD1.rdf 92 Minimal configuration in steps See http://www.w3.org/TR/swbp-vocab-pub/
  93. 93. 93 Maximal configuration for hash vocabularies (1) (Redirect the client to current HTML documentation for the vocabulary.) Vocabulary URI: http://www.buildingsmart-tech.org/ifcOWL/IFC4_ADD1 HTML content location: http://www.buildingsmart- tech.org/ifcOWL/IFC4_ADD1/index.html See http://www.w3.org/TR/swbp-vocab-pub/
  94. 94. 94 Maximal configuration for hash vocabularies (2) (Redirect the client to current RDF description of the vocabulary.) Vocabulary URI: http://www.buildingsmart-tech.org/ifcOWL/IFC4_ADD1 RDF content location: http://www.buildingsmart-tech.org/ifcOWL/IFC4_ADD1.rdf See http://www.w3.org/TR/swbp-vocab-pub/
  95. 95. TOOL SET 95
  96. 96. 96 Open Source IFC-to-RDF-converter in JAVA https://github.com/mmlab/IFC-to-RDF-converter/
  97. 97. 97 Including minimal documentation
  98. 98. 98 Including a stand-alone GUI tool
  99. 99. 99 Including a RESTful web interface Public demo server: http://smartlab1.elis.ugent.be:8889/IFC-repo/
  100. 100. … or just use TNO’s BIMServer 100 http://bimserver.org/
  101. 101. PLAN OF ACTIONS 101
  102. 102. Status in the standards process http://www.buildingsmart.org/standards/standards-process/ 102 6 months evaluation period
  103. 103. 1. Put the Linked Data Working Group in Development phase rather than the initiation phase 2. Make ifcOWL ontologies available online using proper content negotiation setup 3. Make HTLM documentation available online using proper content negotiation setup 4. Make the Proposed Recommendation document available for consultation 5. Set up an Issue Tracking Database for “consensus building” in coming 6 months 103 Actions in buildingSMART server
  104. 104. 1. Track ifcOWL issues and act upon them to further improve ifcOWL 2. Connect with related working groups and build use cases 1. BuildingSMART openBIM – OGC OpenGeoSpatial 2. ifcOWL for Virtual Factory Data Modelling 3. ifcOWL – bSDD 4. ifcOWL – SAREF 5. SWIMing use cases 104 Actions by Linked Data Working Group
  105. 105. 105 Slide by Jérôme Euzenat for September 2015 VoCamp in Genoa (http://www.ready4smartcities.eu//vocamp_2)
  106. 106. ifcOWL - geoSPARQL URI: http://www.opengis.net/ont/geosparql#
  107. 107. 107 http://al4sc.inrialpes.fr/alid/1441722391872/2915 Ontology alignment IFC4 - geonames
  108. 108. 108 • StatisticsOntology: basic concepts about probability distributions and descriptive statistics. • fsm: basic concepts to model a finite state machine. • FsmExtension: extensions to fsm and integration with StatisticsOntology • IFC_ADD1: ifcOWL automatically converted from IFC_ADD1.exp • ifcOWL_rules: add class expressions to ifcOWL derived from WHERE rules in IFC_ADD1.exp • ifcOWL_extension: integration of modules and general purpose extensions of ifcOWL • FactoryDomain: specialization of ifcOWL with definitions related to products, processes, and systems • SuFSeFFactory: specialization of ifcOWL and Factory concepts related to industrial building sustainability. ifcOWL for Virtual Factory Data Model (VFDM)
  109. 109. ifcOWL - bsDD http://bsdd.buildingsmart.org/
  110. 110. ifcOWL - SAREF http://ontology.tno.nl/saref/
  111. 111. 111 Ontology alignment IFC4 - SAREF
  112. 112. Semantic Web for Information Modelling in Energy Efficient Buildings Coordinator: Kris McGlinn ADAPT Centre Trinity College Dublin E-mail: Kris.McGlinn@scss.tcd.ie
  113. 113. 114
  114. 114. 115
  115. 115. 116
  116. 116. 117
  117. 117. 118
  118. 118. 119
  119. 119. 120
  120. 120. 121
  121. 121. 122
  122. 122. QUESTIONS & DISCUSSION via Pieter Pauwels (pipauwel.pauwels@ugent.be) via the mailing list (lbd@lists.buildingsmart.org ) 123
  123. 123. Thank you Pieter Pauwels, Ghent University pipauwel.pauwels@ugent.be Jakob Beetz j.beetz@tue.nl

×