Skip to content

Instantly share code, notes, and snippets.

@rvanbruggen
Last active October 9, 2016 22:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rvanbruggen/186e630d06c3e1b92174142a0b5e5bda to your computer and use it in GitHub Desktop.
Save rvanbruggen/186e630d06c3e1b92174142a0b5e5bda to your computer and use it in GitHub Desktop.
GraphConnect San Francisco Schedule Graph

The GraphConnect San Francisco 2016 Schedule Graph

Yey! It’s that time of the year again! We are full-steam getting ready for the Bi-Yearly Festival of Graphs also known as GraphConnect. There’s another great conference lined up for us in San Francisco. The entire Neo4j crew will be there in full force - and of course we had to create another Schedule graph - just for fun. The fact that we had 14hrs on a very tight airplane seat with a guy my size sitting next to me had nothing to do with it. At all.

A Google Sheet as the main repository

I had to of course start from the schedule on the GraphConnect website, and convert that into a google sheet with all the data. Turned out to be a bit more work this time (thanks, HTML!), but hey - 14hrs on a plane, remember.

Once I had that, I could add the data pretty easily with this model:

model

Very simple - the only thing different about this version of a schedule-graph is that we now no longer have something called a "track" or similar, but we have "TopicTags". A "topictag" is basically something like a tag or a label that you may use in things like Gmail or Evernote - to indicate that something belongs to one or more categories.

Of course it’s so much nicer when you can make it interactive and load it into Neo4j. Let’s do that. Let’s load that data into this graphgist. I have added some comments for every step of the way…​

//add the days - all two of them
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
merge (d:Day {date: toInt(csv.Day)});

//connect the days to one another
match (d:Day), (d2:Day)
where d.date = d2.date-1
merge (d)-[:PRECEDES]-(d2);

//add the rooms, topics, speakers and speaker's companies. Connect the speakers to their Companies.
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
with csv
where csv.Title is not null
merge (r:Room {name: csv.Room})
merge (p:Person {name: csv.Speaker, title: csv.Title})
set p.URL = csv.URL
merge (c:Company {name: csv.Company})
merge (p)-[:WORKS_FOR]->(c);

//add the start- and end-timeslots to each day
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
match (d:Day {date: toInt(csv.Day)})
merge (t1:Time {time: toInt(csv.Starttime)})-[:PART_OF]->(d)
merge (t2:Time {time: toInt(csv.Endtime)})-[:PART_OF]->(d);

Now, we want to add all the different topictags. This is a bit special as you will see that all topictags are in the same "column" of the CSV file, and they are separated by a "special character", §§. So I would basically have to . pull these out of the CSV file column, . split them up into individual collections per session, . unwind them into their individual topictags, . remove the "empty" ones (because the CSV column ends with §§), . add them to the graph.

So let’s continue with that.

//add all the different topictags
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
with split(csv.Type,"§§") as topictagcollection
unwind topictagcollection as topictags
with distinct topictags as topictag
where not topictag = ""
merge (tt:TopicTag {name: topictag})
return tt.name as First10TopicTags
order by tt.name ASC
limit 10;

As you can see, this gives me the correct result:

Now we’ll continue by connecting things up.

//add the sessions and connect them up
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
match (t2:Time {time: toInt(csv.Endtime)})-[:PART_OF]->(d:Day {date: toInt(csv.Day)})<-[:PART_OF]-(t1:Time {time: toInt(csv.Starttime)}), (r:Room {name: csv.Room}), (p:Person {name: csv.Speaker, title: csv.Title})
merge (s:Session {name: csv.Topic})
set s.description = csv.Comments
merge (s)<-[:SPEAKS_IN]-(p)
merge (s)-[:IN_ROOM]->(r)
merge (s)-[:STARTS_AT]->(t1)
merge (s)-[:ENDS_AT]->(t2);

//connect the sessions to topictags
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
with split(csv.Type,"§§") as topictagcollection, csv.Topic as session
unwind topictagcollection as topictag
with session, topictag
where not( topictag = "" )
match (s:Session {name: session}), (tt:TopicTag {name: topictag})
merge (s)-[:HAS_TOPIC]->(tt);

//Connecting the timeslots
match (t:Time)--(d:Day {date:20161013})
with t
order by t.time ASC
with collect(t) as times
  foreach (i in range(0,length(times)-2) |
    foreach (t1 in [times[i]] |
      foreach (t2 in [times[i+1]] |
        merge (t1)-[:FOLLOWED_BY]->(t2))));

match (t:Time)--(d:Day {date:20161014})
with t
order by t.time ASC
with collect(t) as times
  foreach (i in range(0,length(times)-2) |
    foreach (t1 in [times[i]] |
      foreach (t2 in [times[i+1]] |
        merge (t1)-[:FOLLOWED_BY]->(t2))));

Let’s take a look at what we have now, by taking a little sample with the following query:

MATCH (n) where rand() <= 0.1
MATCH (n)-[r]->(m)
WITH n, type(r) as via, m
RETURN labels(n) as from,
   reduce(keys = [], keys_n in collect(keys(n)) | keys + filter(k in keys_n WHERE NOT k IN keys)) as props_from,
   via,
   labels(m) as to,
   reduce(keys = [], keys_m in collect(keys(m)) | keys + filter(k in keys_m WHERE NOT k IN keys)) as props_to,
   count(*) as freq

Ok - so that gives us a bit of insight. So let’s try to zoom in a bit, and run a simple query over our graph: let’s find a couple of sessions in Day 1:

match (d:Day {date:20161013})<--(t:Time)<--(s:Session)--(connections)
return d,t,s,connections
limit 50

and here’s a sample of the graph:

Let’s do another query. Here’s the path between my dear friend Jim Webber and Dan Murphy of the Financial Times:

match path = allshortestpaths( (p1:Person)-[*]-(p2:Person) )
where p1.name contains "MURPHY"
and p2.name contains "WEBBER"
return path

and display the result

Let’s now look at a link between a person (Jim Webber, of Neo fame) and an Organisation (ICIJ, of PanamaPaper fame).

match (c:Company {name:"ICIJ"}), (p:Person {name:"JIM WEBBER"}),
path = allshortestpaths( (c)-[*]-(p) )
return path

and again display the result:

Last one for fun: let’s look at the sessions that have more than one speaker:

match (s:Session)-[r:SPEAKS_IN]-(p:Person)
with s, collect(p) as person, count(p) as count
where count > 1
return s,person

and display it:

Just a start…​

There are so many other things that we could look at. Use the console below to explore if you are interested in more.

I hope this gist was interesting for you, and that we will see each other soon.

This gist was created by Rik Van Bruggen

//add the days
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
merge (d:Day {date: toInt(csv.Day)});
//connect the days
match (d:Day), (d2:Day)
where d.date = d2.date-1
merge (d)-[:PRECEDES]-(d2);
//add the rooms, topics, speakers and speaker's companies
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
with csv
where csv.Title is not null
merge (r:Room {name: csv.Room})
merge (p:Person {name: csv.Speaker, title: csv.Title})
set p.URL = csv.URL
merge (c:Company {name: csv.Company})
merge (p)-[:WORKS_FOR]->(c);
//add the timeslots to each day
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
match (d:Day {date: toInt(csv.Day)})
merge (t1:Time {time: toInt(csv.Starttime)})-[:PART_OF]->(d)
merge (t2:Time {time: toInt(csv.Endtime)})-[:PART_OF]->(d);
//add the topictags
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
with split(csv.Type,"§§") as topictagcollection
unwind topictagcollection as topictags
with distinct topictags as topictag
where not topictag = ""
merge (tt:TopicTag {name: topictag});
//add the sessions and connect them up
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
match (t2:Time {time: toInt(csv.Endtime)})-[:PART_OF]->(d:Day {date: toInt(csv.Day)})<-[:PART_OF]-(t1:Time {time: toInt(csv.Starttime)}), (r:Room {name: csv.Room}), (p:Person {name: csv.Speaker, title: csv.Title})
merge (s:Session {name: csv.Topic})
set s.description = csv.Comments
merge (s)<-[:SPEAKS_IN]-(p)
merge (s)-[:IN_ROOM]->(r)
merge (s)-[:STARTS_AT]->(t1)
merge (s)-[:ENDS_AT]->(t2);
//connect the sessions to topictags
load csv with headers from "https://docs.google.com/spreadsheets/u/0/d/1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4/export?format=csv&id=1DfPZY4gpK1LjNhD8DSzPBBbHsQN1bqjnQQQZaEA1yQ4&gid=0" as csv
with split(csv.Type,"§§") as topictagcollection, csv.Topic as session
unwind topictagcollection as topictag
with session, topictag
where not( topictag = "" )
match (s:Session {name: session}), (tt:TopicTag {name: topictag})
merge (s)-[:HAS_TOPIC]->(tt);
//Connecting the timeslots
match (t:Time)--(d:Day {date:20161013})
with t
order by t.time ASC
with collect(t) as times
foreach (i in range(0,length(times)-2) |
foreach (t1 in [times[i]] |
foreach (t2 in [times[i+1]] |
merge (t1)-[:FOLLOWED_BY]->(t2))));
match (t:Time)--(d:Day {date:20161014})
with t
order by t.time ASC
with collect(t) as times
foreach (i in range(0,length(times)-2) |
foreach (t1 in [times[i]] |
foreach (t2 in [times[i+1]] |
merge (t1)-[:FOLLOWED_BY]->(t2))));
//Querying the GraphConnect SFO 2016 Schedule
//Look at day 1
match (d:Day {date:20161013})<--(t:Time)<--(s:Session)--(connections)
return d,t,s,connections
limit 50
//Look at two people
match (p1:Person), (p2:Person),
path = allshortestpaths( (p1)-[*]-(p2) )
where p1.name contains "MURPHY"
and p2.name contains "WEBBER"
return path
//Look at a person and a company
match (c:Company {name:"ICIJ"}), (p:Person {name:"JIM WEBBER"}),
path = allshortestpaths( (c)-[*]-(p) )
return path
//Look at sessions with more than one speaker
match (s:Session)-[r:SPEAKS_IN]-(p:Person)
with s, collect(p) as person, count(p) as count
where count > 1
return s,person
Day Starttime Endtime Topic Room Type Speaker Company Title Comments URL
20161013 900 1030 Opening Keynote Grand Ballroom A Keynote§§ Emil Eifrem NEO TECHNOLOGY CEO and Co-Creator of Neo4j Opening keynote and announcements
20161013 1030 1100 Fika Main conference area Coffiee§§Break§§ All Fika is GraphConnect's Swedish coffee break.
20161013 1100 1145 The Emergence of the Enterprise DataFabric Grand Ballroom A Case Study§§Recommendations§§Visualization§§Retail§§Business Intelligence§§ MARK KVAMME DRIVE CAPITAL CO-FOUNDER Companies have spent billions of dollars in their legacy enterprise software apps to manage their supply chain, sales forecasting, accounting management, customers relationships, and other aspects of their enterprise. In order to get business insight across their enterprise, companies have used old technology to build a complex business intelligence stack. http://graphconnect.com/speaker/mark-kvamme/
20161013 1100 1145 The Emergence of the Enterprise DataFabric Grand Ballroom A Case Study§§Recommendations§§Visualization§§Retail§§Business Intelligence§§ CLARK RICHEY FACTGEM CTO Companies have spent billions of dollars in their legacy enterprise software apps to manage their supply chain, sales forecasting, accounting management, customers relationships, and other aspects of their enterprise. In order to get business insight across their enterprise, companies have used old technology to build a complex business intelligence stack. http://graphconnect.com/speaker/clark-richey
20161013 1100 1145 Accelerating Scientific Research Through Machine Learning and Graphs Bayview Case Study§§Health & Biotech§§Analytics§§Microservices§§Natural Language Processing§§ JORGE SOTO MICROCULUS CO-FOUNDER AND CTO Miroculus is a molecular diagnostics company that leverages the potential of microRNAs as biomarkers and has created the most easy to use and automated platform for their detection. MicroRNAs are small non-coding RNA molecules, whose primary role is to regulate the expression of our genes. http://graphconnect.com/speaker/antonio-molins/
20161013 1100 1145 Accelerating Scientific Research Through Machine Learning and Graphs Bayview Case Study§§Health & Biotech§§Analytics§§Microservices§§Natural Language Processing§§ ANTONIO MOLINS MICROCULUS VP OF DATA SCIENCE Miroculus is a molecular diagnostics company that leverages the potential of microRNAs as biomarkers and has created the most easy to use and automated platform for their detection. MicroRNAs are small non-coding RNA molecules, whose primary role is to regulate the expression of our genes.
20161013 1100 1145 Core-Edge: Neo4j’s New Clustering Architecture Grand Ballroom B Tech & Integrations§§Neo4j 3.1§§Raft§§Clustering§§Scale§§ ALISTAIR JONES NEO TECHNOLOGY NEO4J ENGINEER We'll explore the exciting new Core-Edge clustering architecture for Neo4j. We'll see how Neo4j uses the Raft protocol for a robust underlay for intensive write operations, and how the new scale-out mechanism provides enormous power for very demanding graph workloads. http://graphconnect.com/speaker/alistair-jones/
20161013 1100 1145 Core-Edge: Neo4j’s New Clustering Architecture Grand Ballroom B Tech & Integrations§§Neo4j 3.1§§Raft§§Clustering§§Scale§§ MAX SUMRALL NEO TECHNOLOGY NEO4J ENGINEER We'll explore the exciting new Core-Edge clustering architecture for Neo4j. We'll see how Neo4j uses the Raft protocol for a robust underlay for intensive write operations, and how the new scale-out mechanism provides enormous power for very demanding graph workloads.
20161013 1100 1145 Neo4j as a Key Player in Human Capital Management Grand Ballroom C Case Study§§MDM§§RDBMS to Graphs§§HCM§§ LUANNE MISQUITTA GRAPHAWARE SENIOR CONSULTANT Graph databases are a perfect fit for HCM/People management solutions. In this talk, Luanne will present the challenges faced by these software vendors and how Neo4j can help them stay relevant and competitive. http://graphconnect.com/speaker/luanne-misquitta/
20161013 1100 1115 Utilizing user defined functions in APOC Market Foyer Tech & Integrations§§Neo4j 3.1§§Cypher§§APOC§§Lightning Talk§§ MICHAEL HUNGER NEO TECHNOLOGY HEAD OF EMEA DEVELOPER RELATIONS Neo4j 3.1 introduced the concept of user defined functions. These allow us to provide custom implementations for functions that can be used in any expression or predicate. http://graphconnect.com/speaker/michael-hunger/
20161013 1115 1130 Data Integration with APOC Market Foyer Tech & Integrations§§Neo4j 3.1§§Cypher§§APOC§§Lightning Talk§§ STEFAN ARMBRUSTER NEO TECHNOLOGY NEO4J FIELD ENGINEER Neo4j is frequently integrated with other databases. With APOC you have the means of accessing these data sources directly from Cypher. You can either import data into the graph, fetch additional information for your graph query from another source or just visualize the other database as a graph. http://graphconnect.com/speaker/stefan-armbruster/
20161013 1130 1145 Graph Algorithm Procedures Demo Market Foyer Tech & Integrations§§Neo4j 3.1§§Cypher§§Graph Algorithm§§Lightning Talk§§ WILL LYON NEO TECHNOLOGY NEO4J DEVELOPER RELATIONS While Neo4j is mostly used as OLTP database, there is an increasing interest to run graph algorithms directly on the graph data. With procedures iterative and parallel algorithms can be implemented efficiently and used directly from Cypher. http://graphconnect.com/speaker/will-lyon/
20161013 1150 1235 Building a High Performance Pricing Engine at Marriott Grand Ballroom A Case Study§§Impact Analysis§§ SCOTT GRIMES MARRIOTT ECOMMERCE AND CMS SENIOR DIRECTOR/ARCHITECT Marriott International, the world’s largest hospitality company, needed a new pricing engine to drive both revenue and competitive differentiation. The older pricing engine was being stretched by complex pricing rules that resulted in long pricing update cycles despite spending on massive amount of hardware and tuning the legacy application. http://graphconnect.com/speaker/scott-grimes/
20161013 1150 1225 Improving Service Quality for Cablevisión Customers with Network Topology Impact Analysis Bayview Case Study§§Network & IT§§Impact Analysis§§ HERNÁN PÉREZ MASCI CABLEVISION IT CLIENTS AND DEMAND MANAGER At Cablevision S.A we are using Neo4j to store the Graph of our Network Topology and then made some impact analysis and root cause when a network element fails. We have documented our topology in detail with different type of elements (Switches, fiber cables, amplifiers, Hubs and more) with location, metadata of the status of the element and the information about relationship between them.
20161013 1150 1225 Improving Service Quality for Cablevisión Customers with Network Topology Impact Analysis Bayview Case Study§§Network & IT§§Impact Analysis§§ ANDRES NATANAEL SORIA CABLEVISION SENIOR SOFTWARE ARCHITECT At Cablevision S.A we are using Neo4j to store the Graph of our Network Topology and then made some impact analysis and root cause when a network element fails. We have documented our topology in detail with different type of elements (Switches, fiber cables, amplifiers, Hubs and more) with location, metadata of the status of the element and the information about relationship between them. http://graphconnect.com/speaker/andres-natanael-soria/
20161013 1150 1235 Securing The Graph In Neo4j 3.1 Grand Ballroom B Tech & Integrations§§Neo4j 3.1§§Infosec§§Auth§§LDAP§§Active Directory§§ IGOR BOROJEVIC NEO TECHNOLOGY DIRECTOR OF PRODUCT MGMT, NEO4J Securing, monitoring and logging access to a system that stores customer data is the key part of enterprise security. In the upcoming Neo4j 3.1 release, we improve upon existing enterprise-class security features and raise the bar for safeguarding customer data and meeting compliance requirements. As part of the session, I will preview newly added support for AD/LDAP and time-permitting we will play with user defined roles and annotating user defined procedures with security roles. http://graphconnect.com/speaker/igor-borojevic/
20161013 1150 1225 Moving from Relational Schemas to Graphs Grand Ballroom C Tech & Integrations§§RDBMS to Graphs§§ PRAVEENA FERNANDES NEO TECHNOLOGY NEO4J ENGINEER With success stories of Neo4j, more people are eager to adopt Graph databases. More often than not, we get asked how do we begin migrating a relational database. http://graphconnect.com/speaker/praveena-fernandes/
20161013 1150 1205 Finding Insights through Keynumbers Market Foyer Tech & Integrations§§Graph Search§§Lightning Talk§§ JOHN POLJAK KEYNUMBERS FOUNDER Join us in exploring some of the ways Keynumbers is leveraging the power of Structr and Neo4j in developing unique solutions to meet these challenges http://graphconnect.com/speaker/john-poljak/
20161013 1205 1220 The Enterprise Information Graph: Managing Complex Metadata Using neo4j and Pitney Bowes Spectrum Market Foyer Case Study§§Finance§§Retail§§Lightning Talk§§ AARON WALLACE PITNEY BOWES PRINCIPAL PRODUCT MANAGER The world of business has changed, and far more value is now put on every single piece of data. In order to remain agile and respond quickly to new trends, organizations are striving to record and report on data as an asset, just like any other within the business. http://graphconnect.com/speaker/aaron-wallace/
20161013 1220 1235 Scale Without Limits Now Market Foyer Tech & Integrations§§Scale§§AWS§§Lightning Talk§§ BRAD NUSSBAUM GRAPHGRID COFOUNDER As Neo4j has advanced over the years so has the ability of the GraphGrid Data Platform to support an ever advancing system of capabilities ready to pave the way of the future scalability of Neo4j to a general audience. http://graphconnect.com/speaker/ben-nussbaum/
20161013 1230 1330 Lunch Main conference area Lunch§§Break§§ All
20161013 1330 1415 Making the Right Connections: How the Financial Times Uses Graph Databases Grand Ballroom A Case Study§§Recommendations§§Golang§§Publishing§§RDF§§ DAN MURPHY FINANCIAL TIMES SENIOR DEVOPS In late 2015, the FT Semantic Metadata team investigated graph databases as an alternative to, or perhaps additional store for their existing semantic datastore. After a brief spike we picked Neo4j and then re-wrote a host of microservices in GoLang, from surprisingly memory hungry Java services. It was an interesting journey of changing culture, technologies, and learning. http://graphconnect.com/speaker/dan-murphy/
20161013 1330 1415 Neo4j Container Orchestration with Kubernetes, Docker Swarm, Mesos Bayview Tech & Integrations§§Docker§§Kubernetes§§Mesos§§Containers§§ DIPPY AGGARWAL UNIV OF CINCINNATI PH.D CANDIDATE The interest in Docker has increased significantly since its inception. According to a report compiled by a leading cloud-scale monitoring company, Datadog, two-thirds of the companies that try docker adopt it and the adopters have increased their container count by five times over a period of nine months. Neo4j has also embraced Docker by supporting official images and also offering specific images of its own. http://graphconnect.com/speaker/dippy-aggarwal/
20161013 1330 1415 Extend the Power of Neo4j with Stored Procedures and APOC Grand Ballroom B Tech & Integrations§§Java§§APOC§§ CLARK RICHEY FACTGEM CTO This talk will introduce crucial aspects of Neo4j stored procedures to developers. Stored procedures are a powerful and easy to implement feature that was made available in Neo4j 3.0. http://graphconnect.com/speaker/clark-richey/
20161013 1330 1415 Streamlining Processes with Neo4j at Glidewell Laboratories Grand Ballroom C Case Study§§MDM§§Workflow Engine§§Manufacturing§§ GALIT GONTAR GLIDEWELL LABORATORIES SOFTWARE ENGINEER By integrating a Neo4j powered generic workflow engine into its manufacturing process, Glidewell Laboratories has been able to take advantage of the traditional benefits of graph databases to streamline company processes, integrate departments and provide visibility throughout the organization. http://graphconnect.com/speaker/galit-gontar/
20161013 1330 1415 Streamlining Processes with Neo4j at Glidewell Laboratories Grand Ballroom C Case Study§§MDM§§Workflow Engine§§Manufacturing§§ ROBERT EDWARDS GLIDEWELL LABORATORIES MANAGER, SOFTWARE DEVELOPMENT http://graphconnect.com/speaker/robert-edwards/
20161013 1330 1345 Neo4j Connects Healthcare using Open Data Market Foyer Tech & Integrations§§Health & Biotech§§Cypher§§Lightning Talk§§ YAQI SHI UNIVERSITY OF SF MS CANDIDATE OF HEALTH INFORMATICS No one would argue that Healthcare is among one of the most complicated industries in the United States. While there are many public datasets can be found on FDA, CMS website, it is hard to see the general picture of how does each stakeholder, such as providers, drug manufacturers, lobbying systems, and governors link to each other. http://graphconnect.com/speaker/yaqi-shi/
20161013 1334 1400 How We Design Cypher Market Foyer Tech & Integrations§§Cypher§§Lightning Talk§§ STEFAN PLANTIKOW NEO TECHNOLOGY NEO4J ENGINEER The Cypher language is continuously evolved to be the perfect fit for the needs of the graph revolution. This talk looks at the process as well as the philosophy behind the design of Cypher. http://graphconnect.com/speaker/stefan-plantikow/
20161013 1400 1415 The openCypher Initiative Market Foyer Tech & Integrations§§openCypher§§Cypher§§Lightning Talk§§ STEFAN PLANTIKOW NEO TECHNOLOGY NEO4J ENGINEER The openCypher initiative is establishing Cypher as the industry standard for graph querying. Since the last GraphConnect San Francisco, we’ve been working on various artifacts that enable other vendors to adopt and implement Cypher in their products. http://graphconnect.com/speaker/stefan-plantikow/
20161013 1420 1505 How NASA Finds Critical Data Through a Knowledge Graph Grand Ballroom A Case Study§§MDM§§Linkurious§§R§§ DAVID MEZA NASA CHIEF KNOWLEDGE ARCHITECT Ask any project manager and they will tell you the importance of reviewing lessons learned prior to starting a new project. The lesson learned databases are filled with nuggets of valuable information to help project teams increase the likelihood of project success. http://graphconnect.com/speaker/david-meza/
20161013 1420 1505 Using Neo4j for Cloud Management at Scale Bayview Tech & Integrations§§Continuous Deployment§§Cloud§§ DAVID BRIAN WARD TELEGRAPH HILL SOFTWARE CEO & FOUNDER This talks explores how Telegraph Hill Software uses Neo4j to create a live, active, self-updating repository service, containing nearly all virtual hardware, network and software components and their dependencies, enabling continuous deployment in any cloud environment at scale http://graphconnect.com/speaker/david-brian-ward/
20161013 1420 1505 Hardening your Information Security: Analyzing Active Directory Grand Ballroom B Case Study§§Network & IT§§Infosec§§Active Directory§§ CHRIS UPKES NEO TECHNOLOGY NEO4J FIELD ENGINEER This session covers the typical security questions that are difficult to answer using the existing AD / LDAP management tools used by the enterprise. I will provide an overview on the process of adapting the graph as part of a practical approach to answering these questions. As part of the session I will detail an AD reference model developed in conjunction with one of our important AD customers and I will show how to leverage cypher and visualization to develop better insight into how AD domains can be better understood, refactored and managed. http://graphconnect.com/speaker/chris-upkes/
20161013 1420 1505 Neo4j JDBC Driver: Integrate with ETL, BI, Visualization & more Grand Ballroom C Tech & Integrations§§Visualization§§QlikView§§Talend§§Business Intelligence§§ETL§§ STEFAN ARMBRUSTER NEO TECHNOLOGY NEO4J FIELD ENGINEER Using Neo4j’s new binary BOLT protocol in Neo4j 3.0, our friends from Larus IT in Italy developed a JDBC driver, which was just released in early July. This talk briefly explains the architecture on the JDBC driver. After that we'll demo various JDBC enables tools like SquirrelSQL, Pentaho, QlikView, Talend, JasperReports, and take a look at how they access your graph. http://graphconnect.com/speaker/stefan-armbruster/
20161013 1420 1435 Cypher: Write Fast and Furious Market Foyer Tech & Integrations§§Cypher§§Lightning Talk§§ CHRISTOPHE WILLEMSEN GRAPHAWARE SENIOR CONSULTANT Ever struggle with writes performance in Cypher? This Lightning talk is for you! In only 15 minutes, Christophe will show you some tips and tricks for making your Cypher write transactions as fast as possible. http://graphconnect.com/speaker/christophe-willemsen/
20161013 1435 1450 Hetionet awakens: Integrating all of Biology into a Public Neo4j Database Market Foyer Tech & Integrations§§Health & Biotech§§Lightning Talk§§ DANIEL HIMMELSTEIN UNIV OF PENNSYLVANIA POSTDOCTORAL FELLOW We created Hetionet — a network that encodes decades of knowledge from biomedical research. Hetionet is a hetnet — a network with multiple node and relationship types. Version 1.0 contains 47,031 nodes of 11 types and 2,250,197 relationships of 24 types. http://graphconnect.com/speaker/daniel-himmelstein/
20161013 1450 1505 Uncovering Hidden Relationships with Tom Sawyer Perspectives Market Foyer Tech & Integrations§§Lightning Talk§§Visualization§§ KEVIN MADDEN TOM SAWYER SOFTWARE CHIEF SOFTWARE ENGINEER See how Tom Sawyer Perspectives can help investigators find out the people and hidden relationships involved in the Panamanian offshore banking scandal. http://graphconnect.com/speaker/kevin-madden/
20161013 1505 1525 Fika Main conference area Coffiee§§Break§§ All Fika is GraphConnect's Swedish coffee break.
20161013 1525 1610 Connecting the Dots in Early Drug Discovery at Novartis Grand Ballroom A Case Study§§Health & Biotech§§ STEPHAN REILING NOVARTIS SENIOR SCIENTIST We have created a large Neo4J database that integrates the results from textmining, experimental data, and biological background knowledge. The utility of this graph is twofold: 1.Identify promising compounds to be tested as a starting point for drug development. 2. Better understand the results of large scale compound testing in cellular assays using imaging technology. http://graphconnect.com/speaker/stephan-reiling/
20161013 1525 1610 Lessons Learned: Building a Scalable Platform for Sharing 500 Million Photos Bayview Case Study§§Recommendations§§Scale§§Retail§§ RUBEN HEUSINKVELD ALBUMPRINTER (VISTAPRINT) TECHNICAL LEAD The following might sound all too familiar: we’re taking and sharing more photos than ever before, and as a result we’re drowning in our photos. Somewhere in that pile or stream of photos are the ones that really matter – if only we could find them. To make this easier Albumprinter created a solution which recently launched with more than 500 million photos for 1 million existing customers.
20161013 1525 1610 Lessons Learned: Building a Scalable Platform for Sharing 500 Million Photos Bayview Case Study§§Recommendations§§Scale§§Retail§§ WOUTER CROOY ALBUMPRINTER (VISTAPRINT) TECHNICAL LEAD The following might sound all too familiar: we’re taking and sharing more photos than ever before, and as a result we’re drowning in our photos. Somewhere in that pile or stream of photos are the ones that really matter – if only we could find them. To make this easier Albumprinter created a solution which recently launched with more than 500 million photos for 1 million existing customers. http://graphconnect.com/speaker/wouter-crooy/
20161013 1525 1610 Graph Algorithms: Make Election Data Great Again Grand Ballroom B Tech & Integrations§§Analytics§§Visualization§§Data Journalism§§R§§APOC§§Java§§ JOHN SWAIN RIGHT RELEVANCE PRODUCT MANAGER, DATA SCIENCE & ANALYTICS This session will briefly discuss the value of those algorithms, and then dive into how we used them to analyze the US Presidential Election based on Twitter data. You'll see a mixture of code, visualizations, and thoughtful analysis to better understand the conversations happening around the election.
20161013 1525 1610 Graph Algorithms: Make Election Data Great Again Grand Ballroom B Tech & Integrations§§Analytics§§Visualization§§Data Journalism§§R§§APOC§§Java§§ RYAN BOYD NEO TECHNOLOGY HEAD OF N. AMERICA DEVELOPER RELATIONS This session will briefly discuss the value of those algorithms, and then dive into how we used them to analyze the US Presidential Election based on Twitter data. You'll see a mixture of code, visualizations, and thoughtful analysis to better understand the conversations happening around the election.
20161013 1525 1610 Deploying Massive Scale Graphs for Real Time Insights Grand Ballroom C Tech & Integrations§§Scale§§IBM Power Systems§§ BRAD BRECH IBM DISTINGUISHED ENGINEER Graph databases have been at the forefront of helping organizations manage and generate insights from data relationships, and applying those insights in real-time to drive competitive advantage. As organizations gain value in deploying graph databases, the data volumes managed are growing exponentially pushing the limits of large-scale in-memory graph processing. http://graphconnect.com/speaker/brad-brech/
20161013 1525 1540 InterActing with Neo4j using a Graph-Driven User Interface Market Foyer Tech & Integrations§§Lightning Talk§§Visualization§§ TOM ZEPPENFELDT GRAPHILEON DIRECTOR & FOUNDER Interactive applications for exploration and visualisation of the content of a graph-store require multiple components like diagrams, charts and tables that are connected to each other. This is exactly what Graphileon’s InterActor offers, using an extensible set of UI and backend functions that are connected by triggers to create meaningful interactions. http://graphconnect.com/speaker/tom-zeppenfeldt/
20161013 1540 1555 Taming text with Neo4j: The Graphaware NLP Framework Market Foyer Tech & Integrations§§NLP§§Lightning Talk§§ ALESSANDRO NEGRO GRAPHAWARE CHIEF SCIENTIST A great part of the world’s knowledge is stored using text in natural language, but using it in an effective way is still a major challenge. Natural Language Processing (NLP) techniques provide the basis for harnessing this huge amount of data and converting it into a useful source of knowledge for further processing. http://graphconnect.com/speaker/alessandro-negro/
20161013 1555 1610 Graphs in time and Space: A Visual Guide Market Foyer Tech & Integrations§§Visualization§§Geospatial§§Lightning Talk§§ COREY LANUM CAMBRIDGE INTELLIGENCE COMMERCIAL DIRECTOR Corey will use visual examples to explain the quirks (and importance) of dynamic and geospatial graphs, and how they can be stored, explored and queried in Neo4j. He will then show how graph visualization tools empower users to explore connections between people, events, locations and times. http://graphconnect.com/speaker/corey-lanum/
20161013 1615 1700 A Panama Papers & Beyond: Unveiling Secrecy with Graphs Grand Ballroom Tech & Integrations§§Linkurious§§Visualization§§Data Journalism§§ MAR CABRA ICIJ HEAD OF DATA & RESEARCH UNIT The media start-up International Consortium of Investigative Journalists has been breaking the secrecy surrounding tax havens for the past four years, but graph databases helped take their investigative power to the next level. http://graphconnect.com/speaker/mar-cabra/
20161013 1615 1700 Enabling the Cisco Decoder Ring: Using Neo4j to Automate Master Data Management Across the Enterprise Bayview Case Study§§MDM§§ ANDREW CHAPPELL CISCO TECHNICAL PROGRAM MGR Launched in 2009, Cisco’s Hierarchy Management Platform aimed at consolidating and improving master data management by creating a one-stop shop for Enterprise hierarchies. Fast forward seven years and the mission has expanded to something even more intriguing: utilizing cross-hierarchy relationships to simplify and automate Cisco’s functional processes. http://graphconnect.com/speaker/andrew-chappell
20161013 1615 1700 How Semantic is Your Graph? Grand Ballroom B Tech & Integrations§§RDF§§Semantic Graph§§Triple Store§§ JESÚS BARRASA NEO TECHNOLOGY NEO4J FIELD ENGINEER There is a wall that separates the Graph Databases and the RDF & Semantics worlds. A significant portion of the bricks in this wall are made of misconceptions and assumptions that need to be clarified, and the reality is that analysts and vendors have historically failed to help in this task. http://graphconnect.com/speaker/jesus-barrasa/
20161013 1615 1700 Driving Predictive Roadway Analytics with the Power of Neo4j Grand Ballroom C Case Study§§GPS§§Mobile§§Open Street Map (OSM)§§ BLAKE NELSON FOUNDER WAVEONICS This talk will present how a small start-up (Waveonics) with no prior graphical database experience employed the simplicity, versatility and flexibility of Neo4j to handle the complex and dynamic roadway conditions found in crowdsourced street map data. http://graphconnect.com/speaker/blake-nelson/
20161013 1615 1630 Structr is the Neo4j Workbench: New Features to Make Developers Happy Market Foyer Tech & Integrations§§CMS§§Lightning Talk§§ AXEL MORGNER STRUCTR COFOUNDER AND CEO Find about some of Structr's new features in the upcoming 2.1 release which are targeted mainly at software developers. http://graphconnect.com/speaker/axel-morgner/
20161013 1630 1645 Best of Both Worlds: Neo4j and Spark Market Foyer Tech & Integrations§§Spark§§Flink§§Lightning Talk§§ MICHAEL HUNGER NEO TECHNOLOGY HEAD OF EMEA DEVELOPER RELATIONS Streaming data processing that takes data from many sources, analyses it and trains models of understanding is used in more and more places. The popularity of frameworks like Apache Spark and Flink throughout the industry demonstrates that. http://graphconnect.com/speaker/michael-hunger/
20161013 1505 1525 Fika Main conference area Coffiee§§Break§§ All Fika is GraphConnect's Swedish coffee break.
20161013 1730 1830 A Closing Keynote Grand Ballroom Keynote§§ JIM WEBBER NEO TECHNOLOGY NEO4J CHIEF SCIENTIST
20161014 900 1700 Intro to Neo4j Training Training Room 1 Training§§ DAVID FAUTH NEO TECHNOLOGY NEO4J FIELD ENGINEER Build a good knowledge of graph databases, beginning with the core functionality of the Neo4j graph database.
20161014 900 1700 Graph Data Modeling with Neo4j Training Training Room 2 Training§§ MAX DE MARZI NEO TECHNOLOGY NEO4J FIELD ENGINEER How to design and implement a graph data model and associated queries.
20161014 900 1700 Graph Data Modeling with Neo4j Training Training Room 3 Training§§ JESÚS BARRASA NEO TECHNOLOGY NEO4J FIELD ENGINEER How to design and implement a graph data model and associated queries.
20161014 900 1700 Advanced Neo4j Deployment Training Training Room 4 Training§§ ALISTAIR JONES NEO TECHNOLOGY NEO4J ENGINEER Deploy and maintain Neo4j Enterprise edition in production.
20161014 900 1700 Building a Recommendation System with Neo4j Training Room 5 Training§§ WILLIAM LYON NEO TECHNOLOGY NEO4J DEVELOPER RELATIONS Build a real-time recommendation engine from the ground up.
20161014 900 1700 Building a Recommendation System with Neo4j Training Room 6 Training§§ PRAVEENA FERNANDES NEO TECHNOLOGY NEO4J ENGINEER Build a real-time recommendation engine from the ground up.
20161014 900 1700 Advanced Cypher Queries Training Training Room 7 Training§§ MICHAEL HUNGER NEO TECHNOLOGY HEAD OF EMEA DEVELOPER RELATIONS Build upon your existing knowledge of the Cypher query language and set you on the path to mastery.
20161014 900 1700 Advanced Cypher Queries Training Training Room 7 Training§§ EVE FREEMAN TEKSYSTEMS NEO4J AND DATA VISUALIZATION CONSULTANT Build upon your existing knowledge of the Cypher query language and set you on the path to mastery.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment