SlideShare a Scribd company logo
• 



— TO —>
Also
OK, graph databases
• Instead of tables and SQL
• Nodes and relationships
• Specialized queries

• Not everything is a graph

(and this is not sponsored)
Install / Update Neo4j
• Neo4j
• http://localhost:7474

Community Edition 3.0.3

• Python, PIP, and Py2Neo
• py2neo.__version__ = ‘3b1’
Step 0 - installing
• Install Neo4j - neo4j.com/install
• brew on Mac
• DigitalOcean has Linux instructions
• change default password
• Trouble installing locally?
• heroku addons:add graphene
Who uses graphs?
• Panama Papers
• IMDB / Six Degrees of Kevin Bacon
• Especially:
• social networks, research data, maps
• anywhere number of joins is large, indefinite,
or unlimited
Cypher
MoMA.org
• PostgreSQL sync to “The Museum System” CMS
outside our control
Who uses MoMA.org?
• Tourists
• Researchers
• Distant art fans
• Members
The trouble with tables
• Many joins to get people, titles, photos,
additional relationship info

• Speed of query
• Difficult to write new queries
Art Graph DB
• did Picasso collaborate with other artists
in his lifetime?
• are any artists credited as painter,
director, sculptor, etc?

(maybe an art EGOT)
Let’s build that graph
• Artists and artworks
• Basic bio data, MoMA ID -> Artist node
• Future DB: all people connected
• Title, date, MoMA ID -> Artwork node
• ARTIST_OF relationship (include order)
Let’s build that graph
• git clone

https://github.com/mapmeld/graph
!
• Building a scraper for MoMA
Demolitions and Dalí
in a Graph Database
Nick Doiron - @mapmeld
Cypher
Cypher
On to OSM
If you’re interested
• Google: MapZen Extracts
• download a city
• for this script, download the OSM XML file
• if you like PostGIS, there is a download

(no import script)
Benefits of OSM
• Open to use / full data
• Open to edit / choose tags
• HOT community
• Civil e-mail lists (Crimea)
Benefits of OSM
Google on OSM
• "Our maps represent

what you or I need to do on a day-to-day
basis

in the developed part of the world”
• — Google Maps Geospatial Technologist
(quoted in FastCompany)
In Haiti and worldwide
In Haiti and worldwide
XML data
XML data
• Nodes, ways, and relations
• Ways made up of multiple nodes
• Relations contain nodes and ways
• Practically:
• Multiple ways connect / combine
• Tags are a community construct
Smart Renderer
• When is a <way> a line (cul-de-sac) or a
polygon (river, lake, parking lot)?
• Has to support world’s fonts
• Tag for real life, not for the renderer
Building graph data
• Script adds all roads to Neo4j
• Includes an array of node ids (can mix content
types, similar to a document database)
• If two ways share a node with the same ID, link
them both ways <—>
Cypher + OSM
* you can put an index on schema fields now
Problem
Google Prediction API
• Prediction based on a CSV
• Categorization or numerical
• Google generates a model and estimates
accuracy
• Not allowed in Myanmar
Predicting Houses
• Format 60,000+ rows of database export
• Choose categories to predict 2-3 years
• Competing models determine how important
each column is
• Can it parse dates? Find patterns
• Edging up to ~74 percent accuracy
Network effect
• Adding network of streets
• Now tokens include not
just my street and
neighbors, but shared
streets
Network effect
• Most demolitions have one house on their street
demolished (it’s them)
Network effect
Network effect
• Google Prediction API reported 81% accuracy
• But is it good?
• Early optimization studies moved fire stations
and left neighborhoods vulnerable
• City can’t maintain it… hasn’t continued to
open their data
Looking forward
• Ideas for graph databases?

Ways to release large graph data - as an API?
As JSON files? As Neo4j dump?
• Ideas for statisticians / future research?
Demolitions and Dalí
in a Graph Database
Nick Doiron - @mapmeld

More Related Content

Viewers also liked

Unicode vs The World
Unicode vs The WorldUnicode vs The World
Unicode vs The World
Nicholas Doiron
 
Future of Home: Living on the Run with Airbnb
Future of Home: Living on the Run with AirbnbFuture of Home: Living on the Run with Airbnb
Future of Home: Living on the Run with Airbnb
Nicholas Doiron
 
Enabling Data-Driven Private-Public Collaborations
Enabling Data-Driven Private-Public CollaborationsEnabling Data-Driven Private-Public Collaborations
Enabling Data-Driven Private-Public Collaborations
Tyrone Grandison
 
Pushing Python: Building a High Throughput, Low Latency System
Pushing Python: Building a High Throughput, Low Latency SystemPushing Python: Building a High Throughput, Low Latency System
Pushing Python: Building a High Throughput, Low Latency SystemKevin Ballard
 
Airbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkitAirbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkit
naseemh
 
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
Maurício Aniche
 

Viewers also liked (6)

Unicode vs The World
Unicode vs The WorldUnicode vs The World
Unicode vs The World
 
Future of Home: Living on the Run with Airbnb
Future of Home: Living on the Run with AirbnbFuture of Home: Living on the Run with Airbnb
Future of Home: Living on the Run with Airbnb
 
Enabling Data-Driven Private-Public Collaborations
Enabling Data-Driven Private-Public CollaborationsEnabling Data-Driven Private-Public Collaborations
Enabling Data-Driven Private-Public Collaborations
 
Pushing Python: Building a High Throughput, Low Latency System
Pushing Python: Building a High Throughput, Low Latency SystemPushing Python: Building a High Throughput, Low Latency System
Pushing Python: Building a High Throughput, Low Latency System
 
Airbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkitAirbnb tech talk: Levi Weintraub on webkit
Airbnb tech talk: Levi Weintraub on webkit
 
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
A Collaborative Approach to Teach Software Architecture - SIGCSE 2017
 

Similar to Demolitions and Dali : Web Dev and Data in a Graph Database

Openstreetmap
OpenstreetmapOpenstreetmap
Openstreetmap
Mohamed Nageh
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
thai
 
CSC 8101 Non Relational Databases
CSC 8101 Non Relational DatabasesCSC 8101 Non Relational Databases
CSC 8101 Non Relational Databasessjwoodman
 
OpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsOpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developments
virtualcitySYSTEMS GmbH
 
20191107 deeplearningapproachesfornetworks
20191107 deeplearningapproachesfornetworks20191107 deeplearningapproachesfornetworks
20191107 deeplearningapproachesfornetworks
tm1966
 
Session 03 acquiring data
Session 03 acquiring dataSession 03 acquiring data
Session 03 acquiring data
bodaceacat
 
Session 03 acquiring data
Session 03 acquiring dataSession 03 acquiring data
Session 03 acquiring data
Sara-Jayne Terp
 
Big Data Analysis : Deciphering the haystack
Big Data Analysis : Deciphering the haystack Big Data Analysis : Deciphering the haystack
Big Data Analysis : Deciphering the haystack
Srinath Perera
 
Going Mobile with HTML5
Going Mobile with HTML5Going Mobile with HTML5
Going Mobile with HTML5John Reiser
 
JOSM Workshop HOT Summit Washington, DC Apr '15
JOSM Workshop HOT Summit Washington, DC Apr '15JOSM Workshop HOT Summit Washington, DC Apr '15
JOSM Workshop HOT Summit Washington, DC Apr '15
slideuser12345
 
Intro to Neo4j with Ruby
Intro to Neo4j with RubyIntro to Neo4j with Ruby
Intro to Neo4j with Ruby
Max De Marzi
 
Social Networks Analysis
Social Networks AnalysisSocial Networks Analysis
Social Networks Analysis
Joud Khattab
 
Harpster, J. - Open data on buildings with satellite imagery processing
Harpster, J. - Open data on buildings with satellite imagery processingHarpster, J. - Open data on buildings with satellite imagery processing
Harpster, J. - Open data on buildings with satellite imagery processing
OECDregions
 
UNit4.pdf
UNit4.pdfUNit4.pdf
UNit4.pdf
SugumarSarDurai
 
Halko_santafe_2015
Halko_santafe_2015Halko_santafe_2015
Halko_santafe_2015Nathan Halko
 
neurisa_11_09_rosenthal
neurisa_11_09_rosenthalneurisa_11_09_rosenthal
neurisa_11_09_rosenthaltutorialsruby
 
neurisa_11_09_rosenthal
neurisa_11_09_rosenthalneurisa_11_09_rosenthal
neurisa_11_09_rosenthaltutorialsruby
 
FP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit HoleFP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit HoleChristophe Grand
 
Saving Money with Open Source GIS
Saving Money with Open Source GISSaving Money with Open Source GIS
Saving Money with Open Source GIS
bryanluman
 
MongoDB Basics
MongoDB BasicsMongoDB Basics
MongoDB Basics
Sarang Shravagi
 

Similar to Demolitions and Dali : Web Dev and Data in a Graph Database (20)

Openstreetmap
OpenstreetmapOpenstreetmap
Openstreetmap
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
 
CSC 8101 Non Relational Databases
CSC 8101 Non Relational DatabasesCSC 8101 Non Relational Databases
CSC 8101 Non Relational Databases
 
OpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsOpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developments
 
20191107 deeplearningapproachesfornetworks
20191107 deeplearningapproachesfornetworks20191107 deeplearningapproachesfornetworks
20191107 deeplearningapproachesfornetworks
 
Session 03 acquiring data
Session 03 acquiring dataSession 03 acquiring data
Session 03 acquiring data
 
Session 03 acquiring data
Session 03 acquiring dataSession 03 acquiring data
Session 03 acquiring data
 
Big Data Analysis : Deciphering the haystack
Big Data Analysis : Deciphering the haystack Big Data Analysis : Deciphering the haystack
Big Data Analysis : Deciphering the haystack
 
Going Mobile with HTML5
Going Mobile with HTML5Going Mobile with HTML5
Going Mobile with HTML5
 
JOSM Workshop HOT Summit Washington, DC Apr '15
JOSM Workshop HOT Summit Washington, DC Apr '15JOSM Workshop HOT Summit Washington, DC Apr '15
JOSM Workshop HOT Summit Washington, DC Apr '15
 
Intro to Neo4j with Ruby
Intro to Neo4j with RubyIntro to Neo4j with Ruby
Intro to Neo4j with Ruby
 
Social Networks Analysis
Social Networks AnalysisSocial Networks Analysis
Social Networks Analysis
 
Harpster, J. - Open data on buildings with satellite imagery processing
Harpster, J. - Open data on buildings with satellite imagery processingHarpster, J. - Open data on buildings with satellite imagery processing
Harpster, J. - Open data on buildings with satellite imagery processing
 
UNit4.pdf
UNit4.pdfUNit4.pdf
UNit4.pdf
 
Halko_santafe_2015
Halko_santafe_2015Halko_santafe_2015
Halko_santafe_2015
 
neurisa_11_09_rosenthal
neurisa_11_09_rosenthalneurisa_11_09_rosenthal
neurisa_11_09_rosenthal
 
neurisa_11_09_rosenthal
neurisa_11_09_rosenthalneurisa_11_09_rosenthal
neurisa_11_09_rosenthal
 
FP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit HoleFP Days: Down the Clojure Rabbit Hole
FP Days: Down the Clojure Rabbit Hole
 
Saving Money with Open Source GIS
Saving Money with Open Source GISSaving Money with Open Source GIS
Saving Money with Open Source GIS
 
MongoDB Basics
MongoDB BasicsMongoDB Basics
MongoDB Basics
 

More from Nicholas Doiron

Quantum Computers and Where to Hide from Them (Japanese)
Quantum Computers and Where to Hide from Them (Japanese)Quantum Computers and Where to Hide from Them (Japanese)
Quantum Computers and Where to Hide from Them (Japanese)
Nicholas Doiron
 
Arabic Unicode and Calligraphy
Arabic Unicode and CalligraphyArabic Unicode and Calligraphy
Arabic Unicode and Calligraphy
Nicholas Doiron
 
Building Encrypted APIs with HTTPS and Paillier
Building Encrypted APIs with HTTPS and PaillierBuilding Encrypted APIs with HTTPS and Paillier
Building Encrypted APIs with HTTPS and Paillier
Nicholas Doiron
 
Code for Japan: Civic Tech and Maps
Code for Japan: Civic Tech and MapsCode for Japan: Civic Tech and Maps
Code for Japan: Civic Tech and Maps
Nicholas Doiron
 
Post-Quantum Dev Ops
Post-Quantum Dev OpsPost-Quantum Dev Ops
Post-Quantum Dev Ops
Nicholas Doiron
 
If OLPC started today... JSConf.is
If OLPC started today... JSConf.isIf OLPC started today... JSConf.is
If OLPC started today... JSConf.is
Nicholas Doiron
 
NodeJS in Naypyitaw
NodeJS in NaypyitawNodeJS in Naypyitaw
NodeJS in Naypyitaw
Nicholas Doiron
 
Burmese Crosswords
Burmese CrosswordsBurmese Crosswords
Burmese Crosswords
Nicholas Doiron
 
iLoominate: Authoring eBooks in Multiple Languages
iLoominate: Authoring eBooks in Multiple LanguagesiLoominate: Authoring eBooks in Multiple Languages
iLoominate: Authoring eBooks in Multiple Languages
Nicholas Doiron
 
The Civic Deep Web
The Civic Deep WebThe Civic Deep Web
The Civic Deep Web
Nicholas Doiron
 
Community Planning: Less Maps, More Design
Community Planning: Less Maps, More DesignCommunity Planning: Less Maps, More Design
Community Planning: Less Maps, More Design
Nicholas Doiron
 
RobotsConf - Wiring, Soldering, Prototyping
RobotsConf - Wiring, Soldering, PrototypingRobotsConf - Wiring, Soldering, Prototyping
RobotsConf - Wiring, Soldering, Prototyping
Nicholas Doiron
 
CartoDrop: secure mapping and reporting over Tor
CartoDrop: secure mapping and reporting over TorCartoDrop: secure mapping and reporting over Tor
CartoDrop: secure mapping and reporting over Tor
Nicholas Doiron
 
CfA Ignite 2013: Uploading an Island, the Ultimate Backup Plan
CfA Ignite 2013: Uploading an Island, the Ultimate Backup PlanCfA Ignite 2013: Uploading an Island, the Ultimate Backup Plan
CfA Ignite 2013: Uploading an Island, the Ultimate Backup Plan
Nicholas Doiron
 
Code for America & the War on Git
Code for America & the War on GitCode for America & the War on Git
Code for America & the War on Git
Nicholas Doiron
 
GeoGit for Open Data
GeoGit for Open DataGeoGit for Open Data
GeoGit for Open Data
Nicholas Doiron
 
MajuroJS.org (Chicago presentation)
MajuroJS.org (Chicago presentation)MajuroJS.org (Chicago presentation)
MajuroJS.org (Chicago presentation)
Nicholas Doiron
 
Maps No One Wants
Maps No One WantsMaps No One Wants
Maps No One Wants
Nicholas Doiron
 
How Code for America Makes Maps
How Code for America Makes MapsHow Code for America Makes Maps
How Code for America Makes Maps
Nicholas Doiron
 
Can We Teach Everyone to Code
Can We Teach Everyone to CodeCan We Teach Everyone to Code
Can We Teach Everyone to Code
Nicholas Doiron
 

More from Nicholas Doiron (20)

Quantum Computers and Where to Hide from Them (Japanese)
Quantum Computers and Where to Hide from Them (Japanese)Quantum Computers and Where to Hide from Them (Japanese)
Quantum Computers and Where to Hide from Them (Japanese)
 
Arabic Unicode and Calligraphy
Arabic Unicode and CalligraphyArabic Unicode and Calligraphy
Arabic Unicode and Calligraphy
 
Building Encrypted APIs with HTTPS and Paillier
Building Encrypted APIs with HTTPS and PaillierBuilding Encrypted APIs with HTTPS and Paillier
Building Encrypted APIs with HTTPS and Paillier
 
Code for Japan: Civic Tech and Maps
Code for Japan: Civic Tech and MapsCode for Japan: Civic Tech and Maps
Code for Japan: Civic Tech and Maps
 
Post-Quantum Dev Ops
Post-Quantum Dev OpsPost-Quantum Dev Ops
Post-Quantum Dev Ops
 
If OLPC started today... JSConf.is
If OLPC started today... JSConf.isIf OLPC started today... JSConf.is
If OLPC started today... JSConf.is
 
NodeJS in Naypyitaw
NodeJS in NaypyitawNodeJS in Naypyitaw
NodeJS in Naypyitaw
 
Burmese Crosswords
Burmese CrosswordsBurmese Crosswords
Burmese Crosswords
 
iLoominate: Authoring eBooks in Multiple Languages
iLoominate: Authoring eBooks in Multiple LanguagesiLoominate: Authoring eBooks in Multiple Languages
iLoominate: Authoring eBooks in Multiple Languages
 
The Civic Deep Web
The Civic Deep WebThe Civic Deep Web
The Civic Deep Web
 
Community Planning: Less Maps, More Design
Community Planning: Less Maps, More DesignCommunity Planning: Less Maps, More Design
Community Planning: Less Maps, More Design
 
RobotsConf - Wiring, Soldering, Prototyping
RobotsConf - Wiring, Soldering, PrototypingRobotsConf - Wiring, Soldering, Prototyping
RobotsConf - Wiring, Soldering, Prototyping
 
CartoDrop: secure mapping and reporting over Tor
CartoDrop: secure mapping and reporting over TorCartoDrop: secure mapping and reporting over Tor
CartoDrop: secure mapping and reporting over Tor
 
CfA Ignite 2013: Uploading an Island, the Ultimate Backup Plan
CfA Ignite 2013: Uploading an Island, the Ultimate Backup PlanCfA Ignite 2013: Uploading an Island, the Ultimate Backup Plan
CfA Ignite 2013: Uploading an Island, the Ultimate Backup Plan
 
Code for America & the War on Git
Code for America & the War on GitCode for America & the War on Git
Code for America & the War on Git
 
GeoGit for Open Data
GeoGit for Open DataGeoGit for Open Data
GeoGit for Open Data
 
MajuroJS.org (Chicago presentation)
MajuroJS.org (Chicago presentation)MajuroJS.org (Chicago presentation)
MajuroJS.org (Chicago presentation)
 
Maps No One Wants
Maps No One WantsMaps No One Wants
Maps No One Wants
 
How Code for America Makes Maps
How Code for America Makes MapsHow Code for America Makes Maps
How Code for America Makes Maps
 
Can We Teach Everyone to Code
Can We Teach Everyone to CodeCan We Teach Everyone to Code
Can We Teach Everyone to Code
 

Recently uploaded

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 

Recently uploaded (20)

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 

Demolitions and Dali : Web Dev and Data in a Graph Database

  • 1.
  • 4. OK, graph databases • Instead of tables and SQL • Nodes and relationships • Specialized queries
 • Not everything is a graph
 (and this is not sponsored)
  • 5. Install / Update Neo4j • Neo4j • http://localhost:7474
 Community Edition 3.0.3
 • Python, PIP, and Py2Neo • py2neo.__version__ = ‘3b1’
  • 6. Step 0 - installing • Install Neo4j - neo4j.com/install • brew on Mac • DigitalOcean has Linux instructions • change default password • Trouble installing locally? • heroku addons:add graphene
  • 7. Who uses graphs? • Panama Papers • IMDB / Six Degrees of Kevin Bacon • Especially: • social networks, research data, maps • anywhere number of joins is large, indefinite, or unlimited
  • 8.
  • 10. MoMA.org • PostgreSQL sync to “The Museum System” CMS outside our control
  • 11. Who uses MoMA.org? • Tourists • Researchers • Distant art fans • Members
  • 12. The trouble with tables • Many joins to get people, titles, photos, additional relationship info
 • Speed of query • Difficult to write new queries
  • 13. Art Graph DB • did Picasso collaborate with other artists in his lifetime? • are any artists credited as painter, director, sculptor, etc?
 (maybe an art EGOT)
  • 14. Let’s build that graph • Artists and artworks • Basic bio data, MoMA ID -> Artist node • Future DB: all people connected • Title, date, MoMA ID -> Artwork node • ARTIST_OF relationship (include order)
  • 15. Let’s build that graph • git clone
 https://github.com/mapmeld/graph ! • Building a scraper for MoMA
  • 16. Demolitions and Dalí in a Graph Database Nick Doiron - @mapmeld
  • 19.
  • 21. If you’re interested • Google: MapZen Extracts • download a city • for this script, download the OSM XML file • if you like PostGIS, there is a download
 (no import script)
  • 22. Benefits of OSM • Open to use / full data • Open to edit / choose tags • HOT community • Civil e-mail lists (Crimea)
  • 24. Google on OSM • "Our maps represent
 what you or I need to do on a day-to-day basis
 in the developed part of the world” • — Google Maps Geospatial Technologist (quoted in FastCompany)
  • 25. In Haiti and worldwide
  • 26. In Haiti and worldwide
  • 28. XML data • Nodes, ways, and relations • Ways made up of multiple nodes • Relations contain nodes and ways • Practically: • Multiple ways connect / combine • Tags are a community construct
  • 29. Smart Renderer • When is a <way> a line (cul-de-sac) or a polygon (river, lake, parking lot)? • Has to support world’s fonts • Tag for real life, not for the renderer
  • 30. Building graph data • Script adds all roads to Neo4j • Includes an array of node ids (can mix content types, similar to a document database) • If two ways share a node with the same ID, link them both ways <—>
  • 31. Cypher + OSM * you can put an index on schema fields now
  • 33. Google Prediction API • Prediction based on a CSV • Categorization or numerical • Google generates a model and estimates accuracy • Not allowed in Myanmar
  • 34. Predicting Houses • Format 60,000+ rows of database export • Choose categories to predict 2-3 years • Competing models determine how important each column is • Can it parse dates? Find patterns • Edging up to ~74 percent accuracy
  • 35. Network effect • Adding network of streets • Now tokens include not just my street and neighbors, but shared streets
  • 36. Network effect • Most demolitions have one house on their street demolished (it’s them)
  • 38. Network effect • Google Prediction API reported 81% accuracy • But is it good? • Early optimization studies moved fire stations and left neighborhoods vulnerable • City can’t maintain it… hasn’t continued to open their data
  • 39. Looking forward • Ideas for graph databases?
 Ways to release large graph data - as an API? As JSON files? As Neo4j dump? • Ideas for statisticians / future research?
  • 40. Demolitions and Dalí in a Graph Database Nick Doiron - @mapmeld