# Neo4j Online Meetup: Desktop Graph Analytics: For The Throne

**URL:** <https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436>\
**Category:** Community Content & Blogs\
**Created:** [March 4, 2019, 12:12pm UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436 "2019-03-04T12:12:01Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![mark.needham](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/mark.needham/32/104_2.png) [@mark.needham](https://community.neo4j.com/u/mark.needham)\
**Post date:** [March 4, 2019, 12:12pm UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/1 "2019-03-04T12:12:01Z")

</div>

Almost two years ago we released the Neo4j Graph Algorithms library, which made it easy for developers to run algorithms like PageRank, Louvain Modularity, and weighted shortest path, amongst others on their graph data.

In January Irfan and I were chatting, and we thought it'd be cool if we could open up the power of graph algorithms to users that don't want to spend their days writing Cypher code. In this meetup we'll show you a Graph App that we've built called Neuler which aims to solve this problem.

So we've got the App, but what data should we use to show it off...

In April Game of Thrones is back for its 8th and final season, and Professor Andrew Beveridge has made character interaction data available for the 7 seasons that we've had so far.

In this meetup we'll use Neuler to analyse Game of Thrones, and while we might not be able to predict who'll end the show on the throne, we'll show how graph algorithms can help us understand the show without even watching it.

There probably will be spoilers.

#ForTheThrone

---

<div class="post-metadata">

**Author:** ![greta](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/greta/32/56_2.png) [@greta](https://community.neo4j.com/u/greta)\
**Post date:** [March 6, 2019, 1:35am UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/2 "2019-03-06T01:35:16Z")

</div>

Thanks for submitting!

I’ve added a tag that allows your blog to be displayed on the community home page!

---

<div class="post-metadata">

**Author:** ![michael.hunger](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/michael.hunger/32/27377_2.png) [@michael.hunger](https://community.neo4j.com/u/michael.hunger)\
**Post date:** [March 6, 2019, 1:39am UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/3 "2019-03-06T01:39:47Z")

</div>

#ForTheThrone

---

<div class="post-metadata">

**Author:** ![greta](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/greta/32/56_2.png) [@greta](https://community.neo4j.com/u/greta)\
**Post date:** [March 6, 2019, 1:39am UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/4 "2019-03-06T01:39:49Z")

</div>

Hi! To find out what I can do, say `@greta display help`.

---

<div class="post-metadata">

**Author:** ![mark.needham](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/mark.needham/32/104_2.png) [@mark.needham](https://community.neo4j.com/u/mark.needham)\
**Post date:** [March 14, 2019, 2:53pm UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/5 "2019-03-14T14:53:51Z")

</div>

If you'd like to follow along with today's meetup, the following script will import our dataset:

```auto
CREATE CONSTRAINT ON (c:Character)
ASSERT c.id IS UNIQUE;

UNWIND range(1,7) AS season
LOAD CSV WITH HEADERS FROM "https://github.com/mneedham/gameofthrones/raw/master/data/got-s" + season + "-nodes.csv" AS row
MERGE (c:Character {id: row.Id})
ON CREATE SET c.name = row.Label;

UNWIND range(1,7) AS season
LOAD CSV WITH HEADERS FROM "https://github.com/mneedham/gameofthrones/raw/master/data/got-s" + season + "-edges.csv" AS row
MATCH (source:Character {id: row.Source})
MATCH (target:Character {id: row.Target})
CALL apoc.merge.relationship(source, "INTERACTS_SEASON" + season, {}, {}, target) YIELD rel
SET rel.weight = toInteger(row.Weight);

```

---

<div class="post-metadata">

**Author:** ![michael.hunger](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/michael.hunger/32/27377_2.png) [@michael.hunger](https://community.neo4j.com/u/michael.hunger)\
**Post date:** [March 16, 2019, 3:16pm UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/6 "2019-03-16T15:16:48Z")

</div>

This was an awesome meetup, I can recommend to everyone to check this out!!

---

<div class="post-metadata">

**Author:** ![dhaks.r](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/dhaks.r/32/3213_2.png) [@dhaks.r](https://community.neo4j.com/u/dhaks.r)\
**Post date:** [March 20, 2019, 5:03pm UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/7 "2019-03-20T17:03:38Z")

</div>

Thanks for excellent session.

Can you post the installation URL here? Also can we install this on an evaluation copy of Neo4j?

---

<div class="post-metadata">

**Author:** ![briane.samson](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/briane.samson/32/3799_2.png) [@briane.samson](https://community.neo4j.com/u/briane.samson)\
**Post date:** [March 21, 2019, 1:34am UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/8 "2019-03-21T01:34:41Z")

</div>

[http://bit.ly/install-neuler](http://bit.ly/install-neuler)

---

<div class="post-metadata">

**Author:** ![dhaks.r](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/dhaks.r/32/3213_2.png) [@dhaks.r](https://community.neo4j.com/u/dhaks.r)\
**Post date:** [March 22, 2019, 12:30pm UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/9 "2019-03-22T12:30:22Z")

</div>

Thanks. I could not find a separate thread for questions on Neuler. So pardon me for asking here itself

1. How do I give a Cypher projection as input? Currently I am able to select Node and relations only. However I would like the algorithms to be executed on sub-graph.

2. The visualization and code options are very good. Is there any flexibility in terms of choosing the colors dynamically based on Node label or property values?

3. Is this intended as standalone application? If we are developing an application how do we imbed this? (or we will have to directly write the queries within application?)

---

<div class="post-metadata">

**Author:** ![michael.hunger](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/michael.hunger/32/27377_2.png) [@michael.hunger](https://community.neo4j.com/u/michael.hunger)\
**Post date:** [March 23, 2019, 4:57pm UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/10 "2019-03-23T16:57:21Z")

</div>

- How do I give a Cypher projection as input? Currently I am able to select Node and relations only. However I would like the algorithms to be executed on sub-graph.

-\> not yet, it's planned

- The visualization and code options are very good. Is there any flexibility in terms of choosing the colors dynamically based on Node label or property values?

-\> that's also planned what were you thinking about?

- Is this intended as standalone application? If we are developing an application how do we imbed this? (or we will have to directly write the queries within application?)

-\> currently yes as standalone applciation.  
what were you imagining for embeddding? react components?

/cc @mark.needham

---

<div class="post-metadata">

**Author:** ![dhaks.r](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/dhaks.r/32/3213_2.png) [@dhaks.r](https://community.neo4j.com/u/dhaks.r)\
**Post date:** [March 27, 2019, 4:29am UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/11 "2019-03-27T04:29:00Z")

</div>

In visualization, can I color code based value returned ( say centrality score). If I choose blue as base color, based on centrality score - visualization should give different color shades of blue (from dark to light). The relation links could have varying thickness

I am also trying to implement above in neo4jd3.js. but not successful. Any pointers, welcome

---

<div class="post-metadata">

**Author:** ![dhaks.r](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/dhaks.r/32/3213_2.png) [@dhaks.r](https://community.neo4j.com/u/dhaks.r)\
**Post date:** [March 27, 2019, 5:29am UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/12 "2019-03-27T05:29:24Z")

</div>

Also one more request for feature.

How to debug algorithms? Say for eg. I am using Centrality. The inputs given are Node label and relation. But I get back as only zero. What should I do in such scenarion

---

<div class="post-metadata">

**Author:** ![michael.hunger](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/michael.hunger/32/27377_2.png) [@michael.hunger](https://community.neo4j.com/u/michael.hunger)\
**Post date:** [March 31, 2019, 9:46pm UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/13 "2019-03-31T21:46:53Z")

</div>

Just share your exact details but please start a new topic!! in #neo4j-graph-platform:graph-algorithms

---

<div class="post-metadata">

**Author:** ![apremgeorge](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/apremgeorge/32/6388_2.png) [@apremgeorge](https://community.neo4j.com/u/apremgeorge)\
**Post date:** [September 16, 2019, 3:28am UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/14 "2019-09-16T03:28:40Z")

</div>

Hi, Excellent Demo, My Question is, after running some Graph Algorithm is it possible to export the results as a file say .csv or excel, having all the list of nodes and properties and corresponding graph algo results like degree, pageranks, betweenness………….  
Thanks

---

<div class="post-metadata">

**Author:** ![michael.hunger](https://sea1.discourse-cdn.com/flex021/user_avatar/community.neo4j.com/michael.hunger/32/27377_2.png) [@michael.hunger](https://community.neo4j.com/u/michael.hunger)\
**Post date:** [September 16, 2019, 6:16am UTC](https://community.neo4j.com/t/neo4j-online-meetup-desktop-graph-analytics-for-the-throne/5436/15 "2019-09-16T06:16:01Z")

</div>

You can use `call algo.pageRank.stream(...) yield nodeId, score` and export the results as csv in neo4j browser. Or with Neo4j shell with `--format:plain`
