Tooling/pedagological ecosystem
Integrated at third year level
*This course can also be offered without Python prereq...
All software is FREE
Texts/readings are all available freely (at least for Western Students)
@asyncio.coroutine
def recv_coro(gc):
yield from gc.send("g.V().has(n, val).values(n)",
bindings={"n": "name", "val": "gremlin"})
while True:
f = yield from gc.recv()
if f is None:
break
self.assertEqual(f[0], "gremlin")
>>> gc.run_until_complete(recv_coro(gc))
Networks, Crowds, and Markets
Social and Economic Networks
Graph Databases
SNA for Startups
In [3]:
# Config environment for code examples.
%matplotlib inline
import networkx as nx
import matplotlib as plt
g = nx.scale_free_graph(10)
nx.draw_networkx(g)
%%cypher
MATCH (newcastle:City {name:"Newcastle"})<-[:STREET|CITY*1..2]-(theatre:Theatre {name: "Theatre Royal"})
<-[:VENUE]-()-[:PERFORMANCE_OF]->()-[:PRODUCTION_OF]->
(play)<-[:WROTE_PLAY]-(bard:Person {lastname: 'Shakespeare'})
RETURN DISTINCT play.title AS play
$ bin/gremlin.sh
\,,,/
(o o)
-----oOOo-(3)-oOOo-----
gremlin> g = TinkerFactory.createModern()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V().has('name','marko').out('knows').values('name')
==>vadas
==>josh
Well you got the job. You're chief analyst now and you're company wants to expand its analytics into new frontiers. It's time for you to build your own project from scratch. Here's what you need to do:
1. Find a data set.
2. Model the data.
3. Load it into a graph database.
4. Write a series of queries against the data.
5. Export a subgraph projection to NetworkX and perform analysis.
6. Create a series of visualizations of the subgraph with Gephi.
7. Prepare a detailed write up of your research.
8. Prepare a presentation of your project.