ecppm2014 - making simmodel information available as rdf graphs

Post on 02-Dec-2014

205 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

presentation in the ECPPM2014 conference

TRANSCRIPT

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

pipauwel.pauwels@ugent.be 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/

top related