30
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

ECPPM2014 - Making SimModel information available as RDF graphs

Embed Size (px)

DESCRIPTION

presentation in the ECPPM2014 conference

Citation preview

Page 1: ECPPM2014 - Making SimModel information available as RDF graphs

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

Page 2: ECPPM2014 - Making SimModel information available as RDF graphs

SIMMODEL

Page 3: ECPPM2014 - Making SimModel information available as RDF graphs

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

Page 4: ECPPM2014 - Making SimModel information available as 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

RDF graphs

Page 5: ECPPM2014 - Making SimModel information available as 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)

Page 6: ECPPM2014 - Making SimModel information available as RDF graphs

CONVERSION OF XSD SCHEMAS TO OWL ONTOLOGIES

Page 7: ECPPM2014 - Making SimModel information available as RDF graphs

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

Page 8: ECPPM2014 - Making SimModel information available as RDF graphs

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

Page 9: ECPPM2014 - Making SimModel information available as RDF graphs

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

Page 10: ECPPM2014 - Making SimModel information available as RDF graphs

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 .

Page 11: ECPPM2014 - Making SimModel information available as RDF graphs

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

Page 12: ECPPM2014 - Making SimModel information available as RDF graphs

Ontologies available in TTL syntax at

http://users.ugent.be/~pipauwel/ontologies/simmodel/

Page 13: ECPPM2014 - Making SimModel information available as RDF graphs

CONVERSION OF XML FILES TO RDF GRAPHS

Page 14: ECPPM2014 - Making SimModel information available as 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

Page 15: ECPPM2014 - Making SimModel information available as RDF graphs

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”

Page 16: ECPPM2014 - Making SimModel information available as RDF graphs

ONLINE XML CONVERSION HUB

Page 17: ECPPM2014 - Making SimModel information available as RDF graphs

Select a simmodel .xml file http://smartlab1.elis.ugent.be:8889/SIMXML-repo/

Page 18: ECPPM2014 - Making SimModel information available as RDF graphs

Input XML

Page 19: ECPPM2014 - Making SimModel information available as RDF graphs

Output .TTL

Page 20: ECPPM2014 - Making SimModel information available as RDF graphs

Output .RDF

Page 21: ECPPM2014 - Making SimModel information available as RDF graphs

Retreive simmodel .ttl and .rdf file http://smartlab1.elis.ugent.be:8889/SIMXML-repo/

Page 22: ECPPM2014 - Making SimModel information available as RDF graphs

EXAMPLE INDICATOR FOR USE CASES

Page 23: ECPPM2014 - Making SimModel information available as RDF graphs

Linking SIMMODEL and IFC

Page 24: ECPPM2014 - Making SimModel information available as RDF graphs

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

Page 25: ECPPM2014 - Making SimModel information available as RDF graphs

simmodelinstances.n3 simmodelontology.n3 rules.n3

reasoning engine

user interface

query

Page 26: ECPPM2014 - Making SimModel information available as RDF graphs

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} .

Page 27: ECPPM2014 - Making SimModel information available as RDF graphs

Command line interface (by absence of a proper GUI)

Page 28: ECPPM2014 - Making SimModel information available as RDF graphs

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.

Page 29: ECPPM2014 - Making SimModel information available as RDF graphs

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• …

Page 30: ECPPM2014 - Making SimModel information available as RDF graphs

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/