Making SimModel information 
available as RDF graphs 
Pieter Pauwels, Ghent University, Belgium 
Edward Corry, National University Ireland Galway, Ireland 
James O’Donnell, University College Dublin, Ireland
SIMMODEL
SimModel for 
BEP information exchange 
original image in Bazjanac et al., 2011 
“Data environments and processing in semi-automated simulation with EnergyPlus” 
28th International CIB W078-W102 Conference
RDF graphs 
original image in Pauwels et al., 2011 
“A semantic rule checking environment for building performance checking” 
Automation in Construction 20 (2011) 506–518
Linked Data in Architecture and 
Construction 
• main principles 
– distributed / decentralised information management 
– interactive information search and reasoning over the web 
– sharing partial data 
==> higher accessibility of information for human and computer 
• remarks 
– user-friendliness of SPARQL 
– ownership issues (provenance, security, and privacy)
CONVERSION OF XSD SCHEMAS TO 
OWL ONTOLOGIES
original SimModel schema: 
set of six XSD schema’s 
1. SIM core 
http://www.lbl.gov/namespaces/Sim/SimModelCore 
simcore.xsd 
2. SIM building model 
http://www.lbl.gov/namespaces/Sim/BuildingModel 
simbldg.xsd 
3. SIM resources general 
http://www.lbl.gov/namespaces/Sim/ResourcesGeneral 
simres.xsd 
4. SIM resources geometry 
http://www.lbl.gov/namespaces/Sim/ResourcesGeometry 
simgeom.xsd 
5. SIM MEP model 
http://www.lbl.gov/namespaces/Sim/MepModel 
simmep.xsd 
6. SIM model 
http://www.lbl.gov/namespaces/Sim/Model 
simmodel.xsd
complexType SimFlowMover 
XSD Class Hierarchy 
abstract complexType SimFlowMover_Default 
complexType SimFlowMover_Default_Default 
abstract complexType SimFlowMover_Fan 
complexType SimFlowMover_Fan_NightVentilation 
complexType SimFlowMover_Fan_ZoneExhaust 
abstract complexType SimFlowMover_Pump 
complexType SimFlowMover_Pump_ConstantSpeedReturn 
complexType SimFlowMover_Pump_ConstantSpeedSupply 
complexType SimFlowMover_Pump_UserDefined 
complexType SimFlowMover_Pump_VariableSpeedReturn 
complexType SimFlowMover_Pump_VariableSpeedSupply 
complexType SimFlowMover_Pump_VarSpeedCondensateReturn 
complexType SimFlowMover_Pump_VarSpeedCondensateSupply
Class 
<xs:complexType name="SimActor"> Input XSD 
<xs:complexContent> 
<xs:extension base="simres:SimActorDefinition"> 
Property Domains 
<xs:sequence> 
<xs:element ref="simres:GlobalId" minOccurs="0" maxOccurs="1"/> 
<xs:element ref="simres:OwnerHistory" minOccurs="0" maxOccurs="1"/> 
<xs:element ref="simres:ObjectType" minOccurs="0" maxOccurs="1"/> 
<xs:element ref="simres:TheActor" minOccurs="0" maxOccurs="1"/> 
</xs:sequence> 
</xs:extension> 
</xs:complexContent> 
</xs:complexType> 
Class 
<xs:complexType name="SimResourceObject" abstract="true"> 
<xs:attribute name="RefId" type="xs:ID" use="required"/> 
</xs:complexType> 
<xs:element name="GlobalId" type="xs:string"/> 
<xs:element name="OwnerHistory" type="xs:IDREF"/> 
<xs:element name="ObjectType" type="xs:string"/> 
<xs:element name="TheActor" type="xs:IDREF"/> 
Properties + 
Property Ranges
simres:SimActor Output OWL 
rdfs:subClassOf simres:SimActorDefinition ; 
rdf:type owl:Class . 
simres:simActor_GlobalId 
rdf:type owl:DatatypeProperty; 
rdfs:domain simres:SimActor; 
rdfs:range xsd:string . 
simres:simActor_OwnerHistory 
rdf:type owl:ObjectProperty; 
rdfs:domain simres:SimActor; 
rdfs:range simres:SimResourceObject . 
simres:simActor_ObjectType 
rdf:type owl:DatatypeProperty; 
rdfs:domain simres:SimActor; 
rdfs:range xsd:string . 
simres:simActor_TheActor 
rdf:type owl:ObjectProperty; 
rdfs:domain simres:SimActor; 
rdfs:range simres:SimResourceObject .
alternative SimModel schema: 
set of six OWL ontologies 
1. SIM core 
http://www.lbl.gov/namespaces/Sim/SimModelCore 
simcore.owl 
2. SIM building model 
http://www.lbl.gov/namespaces/Sim/BuildingModel 
simbldg.owl 
3. SIM resources general 
http://www.lbl.gov/namespaces/Sim/ResourcesGeneral 
simres.owl 
4. SIM resources geometry 
http://www.lbl.gov/namespaces/Sim/ResourcesGeometry 
simgeom.owl 
5. SIM MEP model 
http://www.lbl.gov/namespaces/Sim/MepModel 
simmep.owl 
6. SIM model 
http://www.lbl.gov/namespaces/Sim/Model 
simmodel.owl
Ontologies available in TTL syntax at 
http://users.ugent.be/~pipauwel/ontologies/simmodel/
CONVERSION OF XML FILES TO RDF 
GRAPHS
Implementation of 
SIMXML to SIMRDF converter 
1. parse XSD schemas 
2. generate equivalent OWL ontologies 
3. generate equivalent JAVA classes so that SIMXML files 
can be deserialised into JAVA objects 
4. deserialise SIMXML files (.xml!) 
5. postprocessing of XML content 
6. output RDF graph in .TTL syntax 
7. check and load RDF graph in .TTL syntax using the 
Jena API 
8. output RDF graph in .RDF syntax
Postprocessing of XML content 
<SimBldgStoryParams_BuildingStory_Default RefId="ID29260" > 
<simres:BldgStoryProfilePath>ID37747</simres:BldgStoryProfilePath> 
<simres:PerimeterZoneOutsidePath>ID37745</simres:PerimeterZoneOutsidePath> 
<simres:CoreZoneOutsidePaths>ID37743 ID37746</simres:CoreZoneOutsidePaths> 
</SimBldgStoryParams_BuildingStory_Default> 
private Class SimBldgStoryParams_BuildingStory_Default { 
public String refId; 
public String bldgStoryProfilePath; 
public String perimeterZoneOutsidePath; 
public String coreZoneOutsidePaths; 
} 
siminstances:SimBldgStoryParams_BuildingStory_Default_ID29260 
“ID37743 ID37746” 
rdf:type simres:SimBldgStoryParams_BuildingStory_Default ; 
simres:bldgStoryProfilePath siminstances:SimLoop_Loop_EdgeLoop_ID37747 ; 
simres:perimeterZoneOutsidePath siminstances:SimLoop_Loop_EdgeLoop_ID37745 ; 
simres:coreZoneOutsidePaths 
(siminstances:SimLoop_Loop_EdgeLoop_ID37743 
siminstances:SimLoop_Loop_EdgeLoop_ID37746 ) .
ONLINE XML CONVERSION HUB
Select a simmodel .xml file 
http://smartlab1.elis.ugent.be:8889/SIMXML-repo/
Input XML
Output .TTL
Output .RDF
Retreive simmodel .ttl and .rdf file 
http://smartlab1.elis.ugent.be:8889/SIMXML-repo/
EXAMPLE INDICATOR FOR USE 
CASES
Linking SIMMODEL and IFC
Linking SIMMODEL and IFC: strategies 
1. linking via an ontology editor 
2. linking via an API (Jena for instance) + 
interface 
3. linking via a reasoning engine (EYE for 
instance) 
4. linking via an alignment server
simmodelinstances.n3 simmodelontology.n3 rules.n3 
reasoning engine 
query 
user interface
Example conversion rule set 
@prefix ifcinstances: <http://ninsuna.elis.ugent.be/IFC-repo/iKNOW/Room_architecture_Revit_2014.ifc#>. 
@prefix ifc: <http://drum.cs.hut.fi/ontology/ifc2x3#> . 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 
@prefix simbldg: <http://www.lbl.gov/namespaces/Sim/BuildingModel#> . 
@prefix simgeom: <http://www.lbl.gov/namespaces/Sim/ResourcesGeometry#> . 
@prefix simres: <http://www.lbl.gov/namespaces/Sim/ResourcesGeneral#> . 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix owl: <http://www.w3.org/2002/07/owl#> . 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 
@prefix siminstances: <http://www.lbl.gov/namespaces/Sim/siminstances#> . 
{ ?bldg a simbldg:SimBuilding } => {?bldg a ifc:IfcBuilding} . 
{ ?v a simgeom:SimVertex } => { ?v a ifc:IfcVertex } . 
{ ?actor a simres:SimActor } => { ?actor a ifc:IfcActor } . 
{ ?fob a simgeom:SimFaceOuterBound} => { ?fob a ifc:IfcFaceOuterBound } . 
{ ?mat a simres:SimMaterial } => { ?mat a ifc:IfcMaterial} .
Command line interface 
(by absence of a proper GUI)
part of the output 
siminstances:SimBuilding_Building_Default_ID28162 a ifc:IfcBuilding. 
siminstances:SimActor_Actor_Default_ID28766 a ifc:IfcActor. 
siminstances:SimActor_Actor_Default_ID28770 a ifc:IfcActor. 
siminstances:SimMaterial_GlazingMaterial_Gas_ID29910 a ifc:IfcMaterial. 
siminstances:SimMaterial_GlazingMaterial_Glazing_ID29909 a ifc:IfcMaterial. 
siminstances:SimMaterial_GlazingMaterial_SimpleGlazingSystem_ID29919 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29893 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29894 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29895 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29896 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29897 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29898 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29899 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29900 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29901 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29902 a ifc:IfcMaterial. 
siminstances:SimMaterial_OpaqueMaterial_Default_ID29904 a ifc:IfcMaterial.
Other sample use cases 
• Generating links between building models 
• Acoustical rule checking 
• Energy performance rule checking 
• Building permit application checking 
• Generating model views with only a subset of all the 
data 
• …
Thank you 
Pieter Pauwels 
Ghent University 
pipauwel.pauwels@ugent.be 
http://users.ugent.be/~pipauwel/ 
Call For Papers 
Special Issue on Linked Data in Architecture and Construction 
Automation in Construction 
http://www.journals.elsevier.com/automation-in-construction/

ECPPM2014 - Making SimModel information available as RDF graphs

  • 1.
    Making SimModel information available as RDF graphs Pieter Pauwels, Ghent University, Belgium Edward Corry, National University Ireland Galway, Ireland James O’Donnell, University College Dublin, Ireland
  • 2.
  • 3.
    SimModel for BEPinformation exchange original image in Bazjanac et al., 2011 “Data environments and processing in semi-automated simulation with EnergyPlus” 28th International CIB W078-W102 Conference
  • 4.
    RDF graphs originalimage in Pauwels et al., 2011 “A semantic rule checking environment for building performance checking” Automation in Construction 20 (2011) 506–518
  • 5.
    Linked Data inArchitecture and Construction • main principles – distributed / decentralised information management – interactive information search and reasoning over the web – sharing partial data ==> higher accessibility of information for human and computer • remarks – user-friendliness of SPARQL – ownership issues (provenance, security, and privacy)
  • 6.
    CONVERSION OF XSDSCHEMAS TO OWL ONTOLOGIES
  • 7.
    original SimModel schema: set of six XSD schema’s 1. SIM core http://www.lbl.gov/namespaces/Sim/SimModelCore simcore.xsd 2. SIM building model http://www.lbl.gov/namespaces/Sim/BuildingModel simbldg.xsd 3. SIM resources general http://www.lbl.gov/namespaces/Sim/ResourcesGeneral simres.xsd 4. SIM resources geometry http://www.lbl.gov/namespaces/Sim/ResourcesGeometry simgeom.xsd 5. SIM MEP model http://www.lbl.gov/namespaces/Sim/MepModel simmep.xsd 6. SIM model http://www.lbl.gov/namespaces/Sim/Model simmodel.xsd
  • 8.
    complexType SimFlowMover XSDClass Hierarchy abstract complexType SimFlowMover_Default complexType SimFlowMover_Default_Default abstract complexType SimFlowMover_Fan complexType SimFlowMover_Fan_NightVentilation complexType SimFlowMover_Fan_ZoneExhaust abstract complexType SimFlowMover_Pump complexType SimFlowMover_Pump_ConstantSpeedReturn complexType SimFlowMover_Pump_ConstantSpeedSupply complexType SimFlowMover_Pump_UserDefined complexType SimFlowMover_Pump_VariableSpeedReturn complexType SimFlowMover_Pump_VariableSpeedSupply complexType SimFlowMover_Pump_VarSpeedCondensateReturn complexType SimFlowMover_Pump_VarSpeedCondensateSupply
  • 9.
    Class <xs:complexType name="SimActor">Input XSD <xs:complexContent> <xs:extension base="simres:SimActorDefinition"> Property Domains <xs:sequence> <xs:element ref="simres:GlobalId" minOccurs="0" maxOccurs="1"/> <xs:element ref="simres:OwnerHistory" minOccurs="0" maxOccurs="1"/> <xs:element ref="simres:ObjectType" minOccurs="0" maxOccurs="1"/> <xs:element ref="simres:TheActor" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> Class <xs:complexType name="SimResourceObject" abstract="true"> <xs:attribute name="RefId" type="xs:ID" use="required"/> </xs:complexType> <xs:element name="GlobalId" type="xs:string"/> <xs:element name="OwnerHistory" type="xs:IDREF"/> <xs:element name="ObjectType" type="xs:string"/> <xs:element name="TheActor" type="xs:IDREF"/> Properties + Property Ranges
  • 10.
    simres:SimActor Output OWL rdfs:subClassOf simres:SimActorDefinition ; rdf:type owl:Class . simres:simActor_GlobalId rdf:type owl:DatatypeProperty; rdfs:domain simres:SimActor; rdfs:range xsd:string . simres:simActor_OwnerHistory rdf:type owl:ObjectProperty; rdfs:domain simres:SimActor; rdfs:range simres:SimResourceObject . simres:simActor_ObjectType rdf:type owl:DatatypeProperty; rdfs:domain simres:SimActor; rdfs:range xsd:string . simres:simActor_TheActor rdf:type owl:ObjectProperty; rdfs:domain simres:SimActor; rdfs:range simres:SimResourceObject .
  • 11.
    alternative SimModel schema: set of six OWL ontologies 1. SIM core http://www.lbl.gov/namespaces/Sim/SimModelCore simcore.owl 2. SIM building model http://www.lbl.gov/namespaces/Sim/BuildingModel simbldg.owl 3. SIM resources general http://www.lbl.gov/namespaces/Sim/ResourcesGeneral simres.owl 4. SIM resources geometry http://www.lbl.gov/namespaces/Sim/ResourcesGeometry simgeom.owl 5. SIM MEP model http://www.lbl.gov/namespaces/Sim/MepModel simmep.owl 6. SIM model http://www.lbl.gov/namespaces/Sim/Model simmodel.owl
  • 12.
    Ontologies available inTTL syntax at http://users.ugent.be/~pipauwel/ontologies/simmodel/
  • 13.
    CONVERSION OF XMLFILES TO RDF GRAPHS
  • 14.
    Implementation of SIMXMLto SIMRDF converter 1. parse XSD schemas 2. generate equivalent OWL ontologies 3. generate equivalent JAVA classes so that SIMXML files can be deserialised into JAVA objects 4. deserialise SIMXML files (.xml!) 5. postprocessing of XML content 6. output RDF graph in .TTL syntax 7. check and load RDF graph in .TTL syntax using the Jena API 8. output RDF graph in .RDF syntax
  • 15.
    Postprocessing of XMLcontent <SimBldgStoryParams_BuildingStory_Default RefId="ID29260" > <simres:BldgStoryProfilePath>ID37747</simres:BldgStoryProfilePath> <simres:PerimeterZoneOutsidePath>ID37745</simres:PerimeterZoneOutsidePath> <simres:CoreZoneOutsidePaths>ID37743 ID37746</simres:CoreZoneOutsidePaths> </SimBldgStoryParams_BuildingStory_Default> private Class SimBldgStoryParams_BuildingStory_Default { public String refId; public String bldgStoryProfilePath; public String perimeterZoneOutsidePath; public String coreZoneOutsidePaths; } siminstances:SimBldgStoryParams_BuildingStory_Default_ID29260 “ID37743 ID37746” rdf:type simres:SimBldgStoryParams_BuildingStory_Default ; simres:bldgStoryProfilePath siminstances:SimLoop_Loop_EdgeLoop_ID37747 ; simres:perimeterZoneOutsidePath siminstances:SimLoop_Loop_EdgeLoop_ID37745 ; simres:coreZoneOutsidePaths (siminstances:SimLoop_Loop_EdgeLoop_ID37743 siminstances:SimLoop_Loop_EdgeLoop_ID37746 ) .
  • 16.
  • 17.
    Select a simmodel.xml file http://smartlab1.elis.ugent.be:8889/SIMXML-repo/
  • 18.
  • 19.
  • 20.
  • 21.
    Retreive simmodel .ttland .rdf file http://smartlab1.elis.ugent.be:8889/SIMXML-repo/
  • 22.
  • 23.
  • 24.
    Linking SIMMODEL andIFC: strategies 1. linking via an ontology editor 2. linking via an API (Jena for instance) + interface 3. linking via a reasoning engine (EYE for instance) 4. linking via an alignment server
  • 25.
    simmodelinstances.n3 simmodelontology.n3 rules.n3 reasoning engine query user interface
  • 26.
    Example conversion ruleset @prefix ifcinstances: <http://ninsuna.elis.ugent.be/IFC-repo/iKNOW/Room_architecture_Revit_2014.ifc#>. @prefix ifc: <http://drum.cs.hut.fi/ontology/ifc2x3#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix simbldg: <http://www.lbl.gov/namespaces/Sim/BuildingModel#> . @prefix simgeom: <http://www.lbl.gov/namespaces/Sim/ResourcesGeometry#> . @prefix simres: <http://www.lbl.gov/namespaces/Sim/ResourcesGeneral#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix siminstances: <http://www.lbl.gov/namespaces/Sim/siminstances#> . { ?bldg a simbldg:SimBuilding } => {?bldg a ifc:IfcBuilding} . { ?v a simgeom:SimVertex } => { ?v a ifc:IfcVertex } . { ?actor a simres:SimActor } => { ?actor a ifc:IfcActor } . { ?fob a simgeom:SimFaceOuterBound} => { ?fob a ifc:IfcFaceOuterBound } . { ?mat a simres:SimMaterial } => { ?mat a ifc:IfcMaterial} .
  • 27.
    Command line interface (by absence of a proper GUI)
  • 28.
    part of theoutput siminstances:SimBuilding_Building_Default_ID28162 a ifc:IfcBuilding. siminstances:SimActor_Actor_Default_ID28766 a ifc:IfcActor. siminstances:SimActor_Actor_Default_ID28770 a ifc:IfcActor. siminstances:SimMaterial_GlazingMaterial_Gas_ID29910 a ifc:IfcMaterial. siminstances:SimMaterial_GlazingMaterial_Glazing_ID29909 a ifc:IfcMaterial. siminstances:SimMaterial_GlazingMaterial_SimpleGlazingSystem_ID29919 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29893 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29894 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29895 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29896 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29897 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29898 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29899 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29900 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29901 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29902 a ifc:IfcMaterial. siminstances:SimMaterial_OpaqueMaterial_Default_ID29904 a ifc:IfcMaterial.
  • 29.
    Other sample usecases • Generating links between building models • Acoustical rule checking • Energy performance rule checking • Building permit application checking • Generating model views with only a subset of all the data • …
  • 30.
    Thank you PieterPauwels Ghent University pipauwel.pauwels@ugent.be http://users.ugent.be/~pipauwel/ Call For Papers Special Issue on Linked Data in Architecture and Construction Automation in Construction http://www.journals.elsevier.com/automation-in-construction/