eg-ice 2015 - coping with ifc lists in the ifcowl ontology
TRANSCRIPT
![Page 1: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/1.jpg)
Coping with IFC lists in the ifcOWL ontologyPieter Pauwels, Ghent University
Walter Terkaj, ITIA-CNRThomas Krijnen, Eindhoven University of Technology
Jakob Beetz, Eindhoven University of Technology
![Page 2: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/2.jpg)
2
outline
background, context and purposes
possible conversion procedures
conclusion
thank you
example
![Page 3: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/3.jpg)
3
![Page 4: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/4.jpg)
4
BACKGROUND, CONTEXT AND PURPOSES
![Page 5: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/5.jpg)
5http://www.bimforum.lv/communities/6/004/012/741/086//images/4611848847.jpg
openBIM
![Page 6: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/6.jpg)
6
Data exchange standard
buildingSMART specifications
![Page 7: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/7.jpg)
7
Ifc2x_all_lf.expIFC2X2_ADD1.expIFC2X2_FINAL.exp
IFC2X2_PLATFORM.expIFC2X3_Final.expIFC2X3_TC1.exp
IFC4.expIFC4_ADD1.exp
not supportednot supportednot supportednot supportedIFC2X3_Final.owl / .ttlIFC2X3_TC1.owl / .ttlIFC4.owl / .ttlIFC4_ADD1.owl / .ttl
http://www.linkedbuildingdata.net/resources/IFC2X3_Final.ttlhttp://www.linkedbuildingdata.net/resources/IFC2X3_TC1.ttlhttp://www.linkedbuildingdata.net/resources/IFC4.ttlhttp://www.linkedbuildingdata.net/resources/IFC4_ADD1.ttl
EXPRESS to OWL conversionIFC to RDF conversion
![Page 8: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/8.jpg)
converting EXPRESS schema to OWLIFC
Schema
Simple data type
Defined data type
Aggregation data typeSET data type --------
LIST & ARRAY data type --------
Constructed data typeSELECT data type --------
ENUMERATION data type --------
Entity data typeAttributes --------
Derive attrWHERE rules
FunctionsRules
ifcOWLOntology
owl:class + owl:DatatypeProperty restriction
owl:class
owl:class-------- owl:ObjectProperty restriction on ifc:hasSet-------- indirect subclass of ifc:List
owl:class-------- owl:unionOf ( owl:classes )-------- one of ( owl:NamedIndividuals )
owl:class-------- object properties
----
![Page 9: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/9.jpg)
P. Pauwels, D. Van Deursen, R. Verstraeten, J. De Roo, R. De Meyer, R. Van de Walle, J. Van Campenhout. A semantic rule checking environment for building performance checking. Automation in Construction 20: 506-518, 2011.
IFC as a graph (both Tbox and Abox)
![Page 10: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/10.jpg)
10
SCOPE FOR THIS PRESENTATION
![Page 11: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/11.jpg)
11
conversions donefirst IFC graphs are there
![Page 12: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/12.jpg)
12
Size multiplies with 10!!!!!!
file size is hugetriple count is too high
![Page 13: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/13.jpg)
13
• 417.033 entity instances• 45.085 are instances of IfcCartesianPoint (10,6%)
• Geometry typically occupies 70 to 80 percent of an IFC model• The majority of geometric entities and properties is represented using LISTs
statistics for Book Tower sample model
![Page 14: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/14.jpg)
14
1 ENTITY IfcCartesianPoint 2 SUBTYPE OF (IfcPoint); 3 Coordinates : LIST [1:3] OF IfcLengthMeasure; 4 DERIVE 5 Dim : IfcDimensionCount := HIINDEX(Coordinates); 6 WHERE 7 CP2Dor3D : HIINDEX(Coordinates) >= 2; 8 END_ENTITY;
IfcCartesianPoint defined in EXPRESS
![Page 15: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/15.jpg)
15
1 #37=IFCCARTESIANPOINT((0.,0.,-350.));
IfcCartesianPoint in an IFC SPF
=> Near to impossible to be more efficient than this, in terms of file size
=> Impossible to be more efficient than this using RDF, in terms of file size=> Let us please be as efficient as possible when aiming at benefits associated with RDF graphs
![Page 16: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/16.jpg)
16
:UMultiplicities.:ColourIndex.:ListPositions.:KnotMultiplicities.:VMultiplicities.:RefLongitude.:RefLatitude.:WeightsData.:DirectionRatios.:MaterialLayers.:Roles_of_IfcOrganization.:Roles_of_IfcPersonAndOrganization.:Roles_of_IfcPerson.:Segments.:Pixel.:Vertices.:DefinedValues.:RowCells.:EnumerationValues.:ListValues_of_IfcIrregularTimeSeriesValue.:EnumerationValues.:DefiningValues.:ListValues_of_IfcTimeSeriesValue.:ListValues_of_IfcPropertyListValue.:Polygon.:Points.:ControlPointsList_of_IfcBSplineCurve.:UKnots.:Knots.:Coordinates_of_IfcTextureVertex.:VKnots.:ElectronicMailAddresses.:AddressLines.:SuffixTitles.
:FacsimileNumbers.:PrefixTitles.:MiddleNames.:TelephoneNumbers.:TexCoordsList.:Normals.:LuminousIntensity.:BendingParameters_of_IfcReinforcingBarType.:BendingParameters_of_IfcReinforcingMeshType.:CostValues.:Addresses_of_IfcOrganization.:Addresses_of_IfcPerson.:SecondaryPlaneAngle.:OffsetDistances.:Coordinates_of_IfcCartesianPoint.:OffsetValues_of_IfcMaterialLayerWithOffsets.:SurfaceReinforcement1.:SurfaceReinforcement2.:OffsetValues_of_IfcMaterialProfileWithOffsets.:RelatedObjects_of_IfcRelNests.:Representations.:BaseCosts_of_IfcConstructionResource.:Components.:BaseCosts_of_IfcConstructionResourceType.:Textures.:Maps.:DistributionData.:CrossSections.:RelatedPriorities.:RelatingPriorities.:EdgeList_of_IfcEdgeLoop.:EdgeList_of_IfcPath.:CrossSectionPositions.:Rows.
:ControlPointsList_of_IfcBSplineSurface.:WAxes.:IntersectingAxes.:UAxes.:VAxes.:TilingPattern.:Values_of_IfcStructuralLoadConfiguration.:ColourList.:RepresentationMaps.:Values_of_IfcRegularTimeSeries.:Parameter_of_IfcTextureCoordinateGenerator.:WeightsData.:MessagingIDs.:BenchmarkValues.:ReinforcementSectionDefinitions.:CoordList.:Locations.:MaterialProfiles.:Columns.:NormalIndex.:TexCoordIndex.:CoordIndex.:SelfWeightCoefficients.:PatternList.:Values_of_IfcIrregularTimeSeries.:ShapeRepresentations.:FontFamily.:ReferenceTokens.:Parameter_of_IfcSurfaceTexture.:CostQuantities.:TimePeriods.:Materials.
LINK OUTSIDE
![Page 17: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/17.jpg)
17
DIVERSE CONVERSION PROCEDURES
![Page 18: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/18.jpg)
18
1. Conversion to the regular rdf:List concept natively available in RDF
2. Conversion to general purpose list concepts 3. Conversion to customised concepts 4. Conversion to customised concepts referring to portions of
Well-Known Text (WKT)
conversion procedures
![Page 19: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/19.jpg)
19
1 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .2 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .3 @prefix owl: <http://www.w3.org/2002/07/owl#> .4 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .5 @prefix ifcowl1: <http://www.buildingsmart-tech.org/ifcOWL1#> .6 @prefix ifcowl2: <http://www.buildingsmart-tech.org/ifcOWL2#> .7 @prefix ifcowl3: <http://www.buildingsmart-tech.org/ifcOWL3#> .8 @prefix ifcowl4: <http://www.buildingsmart-tech.org/ifcOWL4#> .9 @prefix ifcowl5: <http://www.buildingsmart-tech.org/ifcOWL5#> .10 @prefix ifcinst: <http://www.lbd.net/20150504_ListInstances#> .
namespaces & prefixes used
![Page 20: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/20.jpg)
20
1 ifcinst:IfcCartesianPoint_372 rdf:type ifcowl1:IfcCartesianPoint ;3 ifcowl1:Coordinates_of_IfcCartesianPoint ifcinst:IfcLengthMeasure_List_371 .4 ifcinst:IfcLengthMeasure_List_3715 rdf:type rdf:List ;6 rdf:first ifcinst:IfcLengthMeasure_371inst ;7 rdf:rest ifcinst:IfcLengthMeasure_List_372 .8 ifcinst:IfcLengthMeasure_371inst9 rdf:type ifcowl1:IfcLengthMeasure ;10 ifcowl1:has_double “0.0”^^xsd:double .11 ifcinst:IfcLengthMeasure_List_37212 rdf:type rdf:List ;13 rdf:first ifcinst:IfcLengthMeasure_372inst ;14 rdf:rest ifcinst:IfcLengthMeasure_List_373 .15 ifcinst:IfcLengthMeasure_372inst16 rdf:type ifcowl1:IfcLengthMeasure ;17 ifcowl1:has_double “0.0”^^xsd:double .18 ifcinst:IfcLengthMeasure_List_37319 rdf:type rdf:List ;20 rdf:first ifcinst:IfcLengthMeasure_373inst;21 rdf:rest rdf:nil .22 ifcinst:IfcLengthMeasure_373inst23 rdf:type ifcowl1:IfcLengthMeasure ;24 ifcowl1:has_double “-350.0”^^xsd:double .
procedure 1: usage of regular rdf:List concept
![Page 21: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/21.jpg)
21
+ rdf:List is standard.
- Not intuitive when using SPARQL or inference engines
- Verbose in RDF/XML
procedure 1: pros and cons
![Page 22: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/22.jpg)
22
1 ifcinst:IfcCartesianPoint_372 rdf:type ifcowl1:IfcCartesianPoint ;3 ifcowl1:Coordinates_of_IfcCartesianPoint
(ifcinst:IfcLengthMeasure_371inst ifcinst:IfcLengthMeasure_372inst ifcinst:IfcLengthMeasure_373inst).
4 ifcinst:IfcLengthMeasure_371inst5 rdf:type ifcowl1:IfcLengthMeasure ;6 ifcowl1:has_double “0.0”^^xsd:double .7 ifcinst:IfcLengthMeasure_372inst8 rdf:type ifcowl1:IfcLengthMeasure ;9 ifcowl1:has_double “0.0”^^xsd:double .10 ifcinst:IfcLengthMeasure_373inst11 rdf:type ifcowl1:IfcLengthMeasure ;12 ifcowl1:has_double “-350.0”^^xsd:double .
side-remark: not so verbose in N3
![Page 23: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/23.jpg)
23
1 ifcinst:IfcCartesianPoint_372 rdf:type ifcowl2:IfcCartesianPoint ;3 ifcowl2:Coordinates_of_IfcCartesianPoint ifcinst:IfcLengthMeasure_List_371 .4 ifcinst:IfcLengthMeasure_List_3715 rdf:type ifcowl2:List ;6 ifcowl2:hasListContent inst:IfcLengthMeasure_371inst ;7 ifcowl2:hasNext inst:IfcLengthMeasure_List_372 .8 ifcinst:IfcLengthMeasure_371inst9 rdf:type ifcowl2:IfcLengthMeasure ;10 ifcowl2:has_double “0.0”^^xsd:double.11 ifcinst:IfcLengthMeasure_List_37212 rdf:type ifcowl2:List ;13 ifcowl2:hasListContent ifcinst:IfcLengthMeasure_372inst ;14 ifcowl2:hasNext ifcinst:IfcLengthMeasure_List_373 .15 ifcinst:IfcLengthMeasure_372inst16 rdf:type ifcowl2:IfcLengthMeasure ;17 ifcowl2:has_double “0.0”^^xsd:double .18 ifcinst:IfcLengthMeasure_List_37319 rdf:type ifcowl2:List ;20 ifcowl2:hasListContent ifcinst:IfcLengthMeasure_373inst;21 ifcinst:IfcLengthMeasure_373inst22 rdf:type ifcowl2:IfcLengthMeasure ;23 ifcowl2:has_double “-350.0”^^xsd:double .
procedure 2: general purpose list concepts
![Page 24: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/24.jpg)
24
• the OWLList by Drummond et al. (2006) • the Ordered List Ontology (OLO) by Abdallah and
Ferris (2010) • the approach followed in OntoSTEP by Krima et
al. (2009) and Barbau et al. (2012) • the approach proposed in the ifcOWL ontology
by Pauwels and Terkaj (2015a, 2015b)• the approach proposed in the ifcOWL ontology
by Seppo Törmä and Nam Vu Hoang (Aalto Univ.)
example implementations of procedure 2
![Page 25: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/25.jpg)
25
+ regular RDF
- Not standard- Not intuitive when using SPARQL or inference
engines- Verbose in RDF/XML
procedure 2: pros and cons
![Page 26: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/26.jpg)
26
1 ifcinst:IfcCartesianPoint_372 rdf:type ifcowl3:IfcCartesianPoint ;3 ifcowl3:xCoordinate_of_IfcCartesianPoint
ifcinst:IfcLengthMeasure_371inst ;4 ifcowl3:yCoordinate_of_IfcCartesianPoint
ifcinst:IfcLengthMeasure_372inst ;5 ifcowl3:zCoordinate_of_IfcCartesianPoint
ifcinst:IfcLengthMeasure_373inst .6 ifcinst:IfcLengthMeasure_371inst7 rdf:type ifcowl3:IfcLengthMeasure ;8 ifcowl3:has_double “0.0”^^xsd:double .9 ifcinst:IfcLengthMeasure_372inst10 rdf:type ifcowl3:IfcLengthMeasure ;11 ifcowl3:has_double “0.0”^^xsd:double .12 ifcinst:IfcLengthMeasure_373inst13 rdf:type ifcowl3:IfcLengthMeasure ;14 ifcowl3:has_double “-350.0”^^xsd:double .
procedure 3a: custom concepts
![Page 27: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/27.jpg)
27
1 ifcinst:IfcCartesianPoint_372 rdf:type ifcowl:IfcCartesianPoint ;3 ifcowl4:xCoordinate_of_IfcCartesianPoint
“0.0”^^ifcowl4:IfcLengthMeasure ;4 ifcowl4:yCoordinate_of_IfcCartesianPoint
“0.0”^^ifcowl4:IfcLengthMeasure ;5 ifcowl4:zCoordinate_of_IfcCartesianPoint
“-350.0”^^ifcowl4:IfcLengthMeasure.
procedure 3b: custom concepts
![Page 28: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/28.jpg)
28
+ intuitive when using SPARQL or inference engines+ semantically more explicit (better formal model)+ significantly less verbose
- Not within the current IFC standard -> need to rewrite and convert
procedure 3: pros and cons
![Page 29: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/29.jpg)
29
1 ifcinst:IfcCartesianPoint_372 rdf:type ifcowl5:IfcCartesianPoint ;3 ifcowl5:Coordinates_of_IfcCartesianPoint
“POINTZ(0.0 0.0 -350.0)”^^ifcowl5:wktLiteral
procedure 4: custom concepts referring to portions of Well-Known Text (WKT)
![Page 30: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/30.jpg)
30
+ intuitive when using SPARQL or inference engines+ significantly less verbose
- Semantically less explicit than current IFC and ifcOWL
- Need to stick to agreements (WKT needs to remain WK and agreed)
procedure 4: pros and cons
![Page 31: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/31.jpg)
31
CONCLUSION
![Page 32: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/32.jpg)
32
Number of triples and individuals needed to represent a 3-item list like in the case of Cartesian coordinates.
comparison of procedures
Procedure #triples #individuals #triples per list item
#individuals per list item
RDFlist 1 17 (21) 4 5 (6) 1
ifcOWL_1 2 16 (23) 7 6 (7) 2
XYZ_1 3a 10 (14) 4 3 (4) 1
XYZ_2 3b 4 (5) 1 1 0
WKT 4 2 (3) 1 1/3 0
In (brackets) the number of triples if each individual is explicitly typed as owl:NamedIndividual
![Page 33: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/33.jpg)
33
• trade-off needs to be made between semantic precision and computational efficiency.
• The procedures that result in the semantically most precise representations (Procedure 1 and 2) also result in lengthy and overly complex representations, yet they are the closest equivalents to the original EXPRESS schema.
• The procedures that result in computationally more efficient representations (Procedure 3a, 3b, and 4), on the other hand, could result in sloppier data representations, which could in turn result in errors, flaws and mistakes in the applications relying on that data.
• Yet, as many have concluded in the geospatial domain, this might be the only option to make the use of RDF graphs and OWL ontologies feasible for the architectural design and construction industry.
conclusion
![Page 34: EG-ICE 2015 - Coping with IFC lists in the ifcOWL ontology](https://reader036.vdocument.in/reader036/viewer/2022081519/55d07186bb61eb662e8b4614/html5/thumbnails/34.jpg)
34
Thank you
Pieter [email protected]
Walter [email protected]
Thomas [email protected]
Jakob [email protected]