Skip to content

Instantly share code, notes, and snippets.

@andrewsalveson
Last active October 29, 2015 21:57
Show Gist options
  • Save andrewsalveson/49818f6835c09578ad80 to your computer and use it in GitHub Desktop.
Save andrewsalveson/49818f6835c09578ad80 to your computer and use it in GitHub Desktop.

Process Lab Graph

feedback to andrewsalveson@gmail.com | @andrewsalveson

Setup

CREATE(qoa:Process{name:'Qualitative Occupancy Analysis',domain:'Architecture'})
CREATE(dem:Process{name:'Density Energy Modeling',domain:'Architecture'})
CREATE(developer:Usertype{name:'Developer'})
CREATE(pm:Usertype{name:'PM'})
CREATE(client:Usertype{name:'Client'})
CREATE(archStaff:Usertype{name:'Architecture Staff'})
CREATE(sfoAirport:Project{name:'SFO Airport'})
CREATE(dataVis:Methodology{name:'Data Visualization'})
CREATE(current:Software{name:'Current',proprietary:TRUE,openSource:FALSE})
CREATE(tableau:Software{name:'Tableau',proprietary:TRUE,openSource:FALSE})
CREATE(stakeEng:Bucket{name:'Stakeholder Engagement'})
CREATE(evDes:Bucket{name:'Evidence-Based Design'})
CREATE(perfDes:Bucket{name:'Performance-Based Design'})
CREATE(leanDel:Bucket{name:'Lean Delivery'})
CREATE(openStudio:Software{name:'Open Studio',proprietary:FALSE,openSource:TRUE})
CREATE(energyPlus:Software{name:'Energy Plus',proprietary:FALSE,openSource:TRUE})
CREATE(epc:Software{name:'EPC',proprietary:FALSE,openSource:TRUE})
CREATE(sqlDatabase:Software{name:'SQL Database',proprietary:FALSE,openSource:TRUE})
CREATE(database:Methodology{name:'Database'})
CREATE(tdModeling:Methodology{name:'3D Modeling'})
CREATE(energySim:Methodology{name:'Building Energy Simulation'})
CREATE(clientEng:Methodology{name:'Client Engagement'})
CREATE(st:MarketSector{name:'ST'})
CREATE(he:MarketSector{name:'HE'})
CREATE(k12:MarketSector{name:'K-12'})
CREATE(ccc:MarketSector{name:'CCC'})
CREATE(ci:MarketSector{name:'CI'})
CREATE(be:MarketSector{name:'BE'})
CREATE(web:Platform{name:'Web'})
CREATE(dbPlat:Platform{name:'Database'})
CREATE(mobile:Platform{name:'Mobile'})
CREATE(desktop:Platform{name:'Desktop'})

CREATE (software_windows:Software{name:'Windows'})
CREATE (software_linux:Software{name:'Linux'})
CREATE (software_macos:Software{name:'Mac OS'})
CREATE (software_fme:Software{name:'FME Desktop'})
CREATE (software_client_newforma:Software{name:'Newforma Client'})
CREATE (software_revit:Software{name:'Revit',proprietary:TRUE,openSource:FALSE})
CREATE (software_outlook:Software{name:'Outlook'})
CREATE (software_arcgis:Software{name:'ArcGIS'})
CREATE (software_excel:Software{name:'Microsoft Excel'})
CREATE (software_sketchup:Software{name:'SketchUp',proprietary:TRUE,openSource:FALSE})
CREATE (software_rhino:Software{name:'Rhinoceros'})
CREATE (software_grasshopper:Software{name:'Grasshopper'})
CREATE (software_dynamo:Software{name:'Dynamo'})
CREATE (software_revit_newforma:Software{name:'Newforma Revit Addin'})
CREATE (software_revit_rtv:Software{name:'RTV Revit Addin'})
CREATE (software_revit_fme:Software{name:'FME Revit Addin'})
CREATE (software_outlook_newforma:Software{name:'Newforma Outlook Addin'})
CREATE (software_server_fme:Software{name:'FME Server'})
CREATE (software_server_newforma:Software{name:'Newforma Server'})
CREATE (software_server_geoserver:Software{name:'GeoServer'})
CREATE (software_windows_task_scheduler:Software{name:"Windows Task Scheduler"})
CREATE (filetype_csv:Filetype{name:'Comma Separated Values',extension:'CSV'})
CREATE (filetype_xls:Filetype{name:'Excel Document',extension:'xls'})
CREATE (filetype_3dm:Filetype{name:'Rhinoceros model',extension:'3dm'})
CREATE (filetype_skp:Filetype{name:'SketchUp Model',extension:'skp'})
CREATE (filetype_dwg:Filetype{name:'AutoCAD Drawing', extension: 'dwg'})
CREATE (filetype_pdf:Filetype{name:'Portable Document Format', extension: 'pdf'})
CREATE (filetype_rvt:Filetype{name:'Revit Project', extension: 'rvt'})
CREATE (filetype_rvz:Filetype{name:'Aveva Review Model', extension: 'rvz'})
CREATE (filetype_shap:Filetype{name:'Shapefile',extension: 'shap'})
CREATE (filetype_ifc:Filetype{name:'IFC',extension:'ifc'})

CREATE(qoa)-[:CONTAINS]->(current)
CREATE(qoa)-[:CONTAINS]->(tableau)
CREATE(dem)-[:CONTAINS]->(openStudio)
CREATE(dem)-[:CONTAINS]->(energyPlus)
CREATE(dem)-[:CONTAINS]->(epc)
CREATE(dem)-[:CONTAINS]->(sketchUp)
CREATE(dem)-[:CONTAINS]->(sqlDatabase)
CREATE(current)-[:RUNS_IN]->(web)
CREATE(tableau)-[:RUNS_IN]->(desktop)
CREATE(tableau)-[:RUNS_IN]->(database)
CREATE(openStudio)-[:RUNS_IN]->(web)
CREATE(openStudio)-[:RUNS_IN]->(database)
CREATE(openStudio)-[:RUNS_IN]->(mobile)
CREATE(energyPlus)-[:RUNS_IN]->(desktop)
CREATE(epc)-[:RUNS_IN]->(desktop)
CREATE(software_sketchup)-[:RUNS_IN]->(desktop)
CREATE(sqlDatabase)-[:RUNS_IN]->(desktop)
CREATE(sqlDatabase)-[:RUNS_IN]->(dbPlat)
CREATE(current)-[:DEPENDS_ON]->(tableau)
CREATE(openStudio)-[:DEPENDS_ON]->(sqlDatabase)
CREATE(openStudio)-[:DEPENDS_ON]->(energyPlus)
CREATE(developer)-[:USES]->(current)
CREATE(pm)-[:USES]->(current)
CREATE(client)-[:USES]->(current)
CREATE(current)-[:USES]->(clientEng)
CREATE(tableau)-[:USES]->(dataVis)
CREATE(openStudio)-[:USES]->(clientEng)
CREATE(energyPlus)-[:USES]->(energySim)
CREATE(epc)-[:USES]->(energySim)
CREATE(sketchUp)-[:USES]->(tdModeling)
CREATE(sqlDatabase)-[:USES]->(database)
CREATE(stakeEng)-[:CONTAINS]->(qoa)
CREATE(evDes)-[:CONTAINS]->(dem)
CREATE(sfoAirport)-[:USES]->(qoa)
CREATE(archStaff)-[:USES]->(tableau)
CREATE(developer)-[:USES]->(openStudio)
CREATE(pm)-[:USES]->(openStudio)
CREATE(client)-[:USES]->(openStudio)
CREATE(archStaff)-[:USES]->(openStudio)
CREATE(archStaff)-[:USES]->(energyPlus)
CREATE(archStaff)-[:USES]->(epc)
CREATE(archStaff)-[:USES]->(sketchUp)
CREATE(archStaff)-[:USES]->(sqlDatabase)
CREATE(qoa)-[:CONCERNS]->(he)
CREATE(qoa)-[:CONCERNS]->(k12)
CREATE(qoa)-[:CONCERNS]->(ccc)
CREATE(qoa)-[:CONCERNS]->(ci)
CREATE(qoa)-[:CONCERNS]->(be)
CREATE(qoa)-[:CONCERNS]->(st)
CREATE(dem)-[:CONCERNS]->(he)
CREATE(dem)-[:CONCERNS]->(k12)
CREATE(dem)-[:CONCERNS]->(ccc)
CREATE(dem)-[:CONCERNS]->(ci)
CREATE(dem)-[:CONCERNS]->(be)
CREATE(dem)-[:CONCERNS]->(st)
CREATE(software_revit)-[:USES]->(tdModeling)
CREATE(software_revit)-[:USES]->(energySim)
CREATE(software_revit)-[:RUNS_IN]->(desktop)


CREATE (software_windows_task_scheduler)-[:RUNS_IN]->(software_windows)
CREATE (software_excel)-[:RUNS_IN]->(software_windows)
CREATE (software_sketchup)-[:RUNS_IN]->(software_windows)
CREATE (software_sketchup)-[:RUNS_IN]->(software_macos)
CREATE (software_rhino)-[:RUNS_IN]->(software_windows)
CREATE (software_rhino)-[:USES]->(tdModeling)
CREATE (software_grasshopper)-[:RUNS_IN]->(software_rhino)
CREATE (software_fme)-[:RUNS_IN]->(software_windows)
CREATE (software_client_newforma)-[:RUNS_IN]->(software_windows)
CREATE (software_revit)-[:RUNS_IN]->(software_windows)
CREATE (software_dynamo)-[:RUNS_IN]->(software_windows)
CREATE (software_outlook)-[:RUNS_IN]->(software_windows)
CREATE (software_arcgis)-[:RUNS_IN]->(software_arcgis)
CREATE (software_revit_newforma)-[:RUNS_IN]->(software_revit)
CREATE (software_revit_rtv)-[:RUNS_IN]->(software_revit)
CREATE (software_revit_fme)-[:RUNS_IN]->(software_revit)
CREATE (software_outlook_newforma)-[:RUNS_IN]->(software_outlook)
create (software_server_fme)-[:RUNS_IN]->(software_windows)
create (software_server_newforma)-[:RUNS_IN]->(software_windows)
CREATE (software_server_geoserver)-[:RUNS_IN]->(software_windows)
CREATE (software_server_geoserver)-[:RUNS_IN]->(software_linux)
CREATE (software_server_geoserver)-[:RUNS_IN]->(software_macos)
CREATE (software_excel)-[:WRITES{three_d:false,projection:false,geolocation:false}]->(filetype_xls)
CREATE (software_excel)-[:WRITES{three_d:false,projection:false,geolocation:false}]->(filetype_csv)
CREATE (software_excel)-[:READS{three_d:false,projection:false,geolocation:false}]->(filetype_xls)
CREATE (software_excel)-[:READS{three_d:false,projection:false,geolocation:false}]->(filetype_csv)
CREATE (software_sketchup)-[:WRITES{three_d:true,projection:false,geolocation:true}]->(filetype_skp)
CREATE (software_sketchup)-[:READS{three_d:true,projection:false,geolocation:true}]->(filetype_skp)
CREATE (software_sketchup)-[:READS{three_d:true,projection:false,geolocation:false}]->(filetype_dwg)
CREATE (tableau)-[:READS{three_d:false,projection:true,geolocation:true}]->(filetype_xls)
CREATE (tableau)-[:READS{three_d:false,projection:true,geolocation:true}]->(filetype_csv)
CREATE (software_grasshopper)-[:READS]->(filetype_csv)
CREATE (software_grasshopper)-[:READS]->(filetype_xls)
CREATE (software_grasshopper)-[:WRITES]->(filetype_csv)
CREATE (software_grasshopper)-[:WRITES]->(filetype_xls)
CREATE (software_dynamo)-[:READS]->(filetype_csv)
CREATE (software_dynamo)-[:READS]->(filetype_xls)
CREATE (software_dynamo)-[:WRITES]->(filetype_csv)
CREATE (software_dynamo)-[:WRITES]->(filetype_xls)
CREATE (software_rhino)-[:READS{three_d:true,projection:false,geolocation:false}]->(filetype_dwg)
CREATE (software_rhino)-[:WRITES{three_d:true,projection:false,geolocation:false}]->(filetype_dwg)
CREATE (software_rhino)-[:WRITES{three_d:true,projection:false,geolocation:false}]->(filetype_3dm)
CREATE (software_rhino)-[:READS{three_d:true,projection:false,geolocation:false}]->(filetype_3dm)
CREATE (software_rhino)-[:READS{three_d:true,projection:false,geolocation:false}]->(filetype_skp)
CREATE (software_fme)-[:READS{three_d:true,projection:true,geolocation:true}]->(filetype_dwg)
CREATE (software_fme)-[:READS{three_d:true,projection:false,geolocation:true}]->(filetype_rvz)
CREATE (software_fme)-[:READS{three_d:false,projection:true,geolocation:true}]->(filetype_pdf)
CREATE (software_fme)-[:READS{three_d:false,projection:true,geolocation:true}]->(filetype_shap)
CREATE (software_fme)-[:WRITES{three_d:true,projection:true,geolocation:true}]->(filetype_dwg)
CREATE (software_fme)-[:WRITES{three_d:false,projection:true,geolocation:true}]->(filetype_pdf)
CREATE (software_fme)-[:WRITES{three_d:false,projection:true,geolocation:true}]->(filetype_shap)
CREATE (software_fme)-[:WRITES{three_d:true,projection:false,geolocation:true}]->(filetype_rvz)
CREATE (software_arcgis)-[:READS{three_d:false,projection:true,geolocation:true}]->(filetype_dwg)
CREATE (software_arcgis)-[:READS{three_d:false,projection:true,geolocation:true}]->(filetype_shap)
CREATE (software_arcgis)-[:WRITES{three_d:false,projection:true,geolocation:true}]->(filetype_dwg)
CREATE (software_arcgis)-[:WRITES{three_d:false,projection:true,geolocation:true}]->(filetype_shap)
CREATE (software_sketchup)-[:READS{three_d:true,projection:false,geolocation:true}]->(filetype_skp)
CREATE (software_sketchup)-[:WRITES{three_d:true,projection:false,geolocation:true}]->(filetype_skp)
CREATE (software_revit_rtv)-[:READS{three_d:true,projection:false,geolocation:true}]->(filetype_rvt)
CREATE (software_revit_rtv)-[:WRITES{three_d:true,projection:false,geolocation:true}]->(filetype_rvz)
CREATE (software_revit)-[:READS{three_d:true,projection:false,geolocation:false}]->(filetype_skp)
CREATE (software_revit)-[:READS{three_d:true,projection:false,geolocation:true}]->(filetype_rvt)
CREATE (software_revit)-[:READS{three_d:true,projection:false,geolocation:true}]->(filetype_ifc)
CREATE (software_revit)-[:WRITES{three_d:true,projection:false,geolocation:true}]->(filetype_rvt)
CREATE (software_revit)-[:WRITES{three_d:false,projection:false,geolocation:false}]->(filetype_pdf)
CREATE (software_revit)-[:WRITES{three_d:true,projection:false,geolocation:true}]->(filetype_ifc)
CREATE (software_revit)-[:WRITES{three_d:false,projection:false,geolocation:false}]->(filetype_csv)
CREATE (software_revit_fme)-[:WRITES{three_d:true,projection:false,geolocation:true}]->(filetype_rvz)
CREATE (software_revit_rtv)-[:WRITES{three_d:false,projection:false,geolocation:false}]->(filetype_pdf)
CREATE (software_revit_rtv)-[:WRITES{three_d:true,projection:false,geolocation:false}]->(filetype_rvz)
CREATE (software_dynamo)-[:CONNECTS_TO{three_d:true}]->(software_revit)
CREATE (software_revit_newforma)-[:CONNECTS_TO{tabular:true}]->(software_server_newforma)
CREATE (software_outlook_newforma)-[:CONNECTS_TO{email:true}]->(software_server_newforma)
CREATE (software_client_newforma)-[:CONNECTS_TO{three_d:false,projection:false,geolocation:false}]->(software_server_newforma)
CREATE (software_server_geoserver)-[:READS{three_d:false,projection:true,geolocation:true}]->(filetype_shap)
CREATE (windows_task_rtv:WindowsTask{name:'Windows Task: RTV Automation'})
CREATE (windows_task_rtv)-[:RUNS_IN]->(software_windows_task_scheduler)
CREATE (windows_task_rtv)-[:AUTOMATES]->(software_revit_rtv)
CREATE (software_server_fme)-[:AUTOMATES]->(software_fme)
CREATE (software_dynamo)-[:AUTOMATES]->(software_revit)
CREATE (software_grasshopper)-[:AUTOMATES]->(software_rhino)

The Graph

Some Use Cases…​

What software uses the Client Engagement methodology?

MATCH (Methodology{name:'Client Engagement'})<-[:USES]-(s:Software)
RETURN distinct s.name AS software;

What desktop software supports Evidence-based Design?

MATCH (Platform{name:'Desktop'})<-[:RUNS_IN*]-(s:Software)<-[:CONTAINS*]-(Bucket{name:'Evidence-Based Design'})
RETURN distinct s.name AS software;

Created by Andrew Salveson

twitter: @ANDREWSALVESON

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment