ecppm2014 - making simmodel information available as rdf graphs
DESCRIPTION
presentation in the ECPPM2014 conferenceTRANSCRIPT
Making SimModel information available as RDF graphs
Pieter Pauwels, Ghent University, BelgiumEdward Corry, National University Ireland Galway, Ireland
James O’Donnell, University College Dublin, Ireland
SIMMODEL
original image in Bazjanac et al., 2011“Data environments and processing in semi-automated simulation with EnergyPlus”
28th International CIB W078-W102 Conference
SimModel for BEP information exchange
original image in Pauwels et al., 2011“A semantic rule checking environment for building performance checking”
Automation in Construction 20 (2011) 506–518
RDF graphs
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 modelhttp://www.lbl.gov/namespaces/Sim/BuildingModelsimbldg.xsd
3. SIM resources generalhttp://www.lbl.gov/namespaces/Sim/ResourcesGeneralsimres.xsd
4. SIM resources geometryhttp://www.lbl.gov/namespaces/Sim/ResourcesGeometrysimgeom.xsd
5. SIM MEP modelhttp://www.lbl.gov/namespaces/Sim/MepModelsimmep.xsd
6. SIM modelhttp://www.lbl.gov/namespaces/Sim/Modelsimmodel.xsd
complexType SimFlowMoverabstract complexType SimFlowMover_Default
complexType SimFlowMover_Default_Defaultabstract complexType SimFlowMover_Fan
complexType SimFlowMover_Fan_NightVentilationcomplexType SimFlowMover_Fan_ZoneExhaust
abstract complexType SimFlowMover_PumpcomplexType SimFlowMover_Pump_ConstantSpeedReturncomplexType SimFlowMover_Pump_ConstantSpeedSupplycomplexType SimFlowMover_Pump_UserDefinedcomplexType SimFlowMover_Pump_VariableSpeedReturncomplexType SimFlowMover_Pump_VariableSpeedSupplycomplexType SimFlowMover_Pump_VarSpeedCondensateReturncomplexType SimFlowMover_Pump_VarSpeedCondensateSupply
XSD Class Hierarchy
Input XSD<xs:complexType name="SimActor"><xs:complexContent>
<xs:extension base="simres:SimActorDefinition"><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>
<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"/>
Class
Class
Properties + Property Ranges
Property Domains
Output OWLsimres:SimActor rdfs:subClassOf simres:SimActorDefinition ; rdf:type owl:Class .
simres:simActor_GlobalIdrdf:type owl:DatatypeProperty; rdfs:domain simres:SimActor; rdfs:range xsd:string .
simres:simActor_OwnerHistoryrdf:type owl:ObjectProperty; rdfs:domain simres:SimActor; rdfs:range simres:SimResourceObject .
simres:simActor_ObjectTyperdf:type owl:DatatypeProperty; rdfs:domain simres:SimActor; rdfs:range xsd:string .
simres:simActor_TheActorrdf: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 modelhttp://www.lbl.gov/namespaces/Sim/BuildingModelsimbldg.owl
3. SIM resources generalhttp://www.lbl.gov/namespaces/Sim/ResourcesGeneralsimres.owl
4. SIM resources geometryhttp://www.lbl.gov/namespaces/Sim/ResourcesGeometrysimgeom.owl
5. SIM MEP modelhttp://www.lbl.gov/namespaces/Sim/MepModelsimmep.owl
6. SIM modelhttp://www.lbl.gov/namespaces/Sim/Modelsimmodel.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 ontologies3. generate equivalent JAVA classes so that SIMXML files
can be deserialised into JAVA objects4. deserialise SIMXML files (.xml!)5. postprocessing of XML content6. output RDF graph in .TTL syntax7. check and load RDF graph in .TTL syntax using the Jena
API8. 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_ID29260rdf: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 ) .
“ID37743 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 editor2. linking via an API (Jena for instance) +
interface3. linking via a reasoning engine (EYE for
instance)4. linking via an alignment server
simmodelinstances.n3 simmodelontology.n3 rules.n3
reasoning engine
user interface
query
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 outputsiminstances: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 PauwelsGhent University
[email protected] http://users.ugent.be/~pipauwel/
Call For Papers Special Issue on Linked Data in Architecture and Construction
Automation in Constructionhttp://www.journals.elsevier.com/automation-in-construction/