Skip to content

Instantly share code, notes, and snippets.

@dsisnero
Forked from peterneubauer/network_management.adoc
Last active December 22, 2015 23:09
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 dsisnero/6544748 to your computer and use it in GitHub Desktop.
Save dsisnero/6544748 to your computer and use it in GitHub Desktop.

Network Management with Neo4j

Neo4j is often used to model complex graphs in Network Management scenarios. This is a pseudo setup for a network management graph and some sample queries.

CREATE
	(ogd:Repeater {name:"Ogden", locid : "ogd", factype: "rcl"}),
	(qtj:Repeater {name:"Brigham City",locid: "qtj",factype: "rcl"}),
	(qli:Repeater {name:"Promotory",locid: "qli",factype: "rcl"}),
	(qut:Drop {name:"Snowville",locid: "qut",factype: "rcl"}),
	(qvs:Repeater {name:"Strevell",locid: "qvs",factype: "rcl"}),
	(qus:Spur {name:"Connor",locid: "qus",factype: "rcl"}),
	(qve:Repeater {name:"Bonanza Lake",locid: "qve",factype: "rcl"}),
	(pih:Drop {name:"Pocatello",locid: "pih",factype: "rcl"}),
	(qxv:Repeater {name:"Ferry Butte",locid: "qxv",factype: "rcl"}),
	(qvc:Repeater {name:"Little Butte",locid: "qgo",factype: "rcl"}),
	(qgo:Repeater {name:"Hamer",locid: "qgo",factype: "rcl"}),
	(qva:Repeater {name:"Ashton",locid: "qva",factype: "rcl"}),

	(ogd)<-[:RCL_LINK]->(qtj),
	(qtj)<-[:RCL_LINK]->(qli),
	(qli)<-[:RCL_LINK]->(qut),
	(qut)<-[:RCL_LINK]->(qvs),
	(qvs)<-[:RCL_LINK]->(qus),
	(qus)<-[:RCL_LINK]->(qve),
	(qve)<-[:RCL_LINK]->(pih),
	(pih)<-[:RCL_LINK]->(qxv),
	(qxv)<-[:RCL_LINK]->(qvc),
	(qvc)<-[:RCL_LINK]->(qgo),
	(qgo)<-[:RCL_LINK]->(qva)

Impact analytics: Server 1 is down - what is affected?

// Server 1 Outage
MATCH (n)<-[:RCL_LINK*]-(upstream)
WHERE n.locid = "qgo"
RETURN upstream

Statistics - What depends on the SAN?

// Most depended on component
MATCH (n)
WHERE n:Repeater
RETURN n,

Try for yourself!

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