network-management icon indicating copy to clipboard operation
network-management copied to clipboard

Dependency and root cause analysis and more for network and IT management graph example

:name: network-management :long-name: Network Management :description: Dependency and root cause analysis and more for network and IT management :icon: documentation/img/network.svg :tags: example-data,dataset,network-data,network-management,it-operations,datacenter :author: Michael Hunger :demodb: false :data: false :use-load-script: scripts/network-management.cypher :use-dump-file: data/network-management-40.dump :zip-file: false :use-plugin: false :target-db-version: 3.5,4.0 :bloom-perspective: bloom/network-management.bloom-perspective :guide: documentation/network-management.neo4j-browser-guide :rendered-guide: https://guides.neo4j.com/sandbox/{name}/index.html :model: documentation/img/model.png :example: documentation/img/example.png :nodes: 83847 :relationships: 181995

:model-guide: documentation/modelling-decisions.adoc :todo: false image::{icon}[width=100]

== {long-name} Graph Example

Description: {description}

ifeval::[{todo} != false] To Do: {todo} endif::[]

Nodes {nodes} Relationships {relationships}

.Model image::{model}[]

.Example image::{example}[width=600]

:param-name: location :param-value: Iceland, Rekjavik

.Example Query: [source,cypher,role=query-example-params,subs=+attributes]

:param {param-name} => "{param-value}"

[source,cypher,role=query-example,param-name={param-name},param-value={param-value},result-column=ip,expected-result=10.0.0.254]

MATCH (dc:DataCenter {location: $location})-[:CONTAINS]->(r:Router)-[:ROUTES]->(i:Interface) RETURN i.ip as ip

=== Setup

This is for Neo4j version: {target-db-version}

ifeval::[{use-plugin} != false] Required plugins: {use-plugin} endif::[]

ifeval::[{demodb} != false] The database is also available on https://demo.neo4jlabs.com:7473

Username "{name}", password: "{name}", database: "{name}" endif::[]

Rendered guide available via: :play {rendered-guide}

Unrendered guide: link:{guide}[]

Load graph data via the following:

ifeval::[{data} != false] ==== Data files: {data}

Import flat files (csv, json, etc) using Cypher's https://neo4j.com/docs/cypher-manual/current/clauses/load-csv/[LOAD CSV], https://neo4j.com/labs/apoc/[APOC library], or https://neo4j.com/developer/data-import/[other methods]. endif::[]

ifeval::[{use-dump-file} != false] ==== Dump file: {use-dump-file}

  • Drop the file into the Files section of a project in Neo4j Desktop. Then choose the option to Create new DBMS from dump option from the file options.

  • Use the neo4j-admin tool to load data from the command line with the command below.

[source,shell,subs=attributes]

bin/neo4j-admin load --from {use-dump-file} [--database "database"]

  • Upload the dump file to Neo4j Aura via https://console.neo4j.io/#import-instructions endif::[]

ifeval::[{use-load-script} != false] ==== Data load script: {use-load-script}

[source,shell,subs=attributes]

bin/cypher-shell -u neo4j -p "password" -f {use-load-script} [-d "database"]

Or import in Neo4j Browser by dragging or pasting the content of {use-load-script}. endif::[]

ifeval::[{zip-file} != false] ==== Zip file

Download the zip file link:{repo}/raw/master/{name}.zip[{name}.zip] and add it as "project from file" to https://neo4j.com/developer/neo4j-desktop[Neo4j Desktop^]. endif::[]

=== Code Examples

  • link:code/javascript/example.js[JavaScript]
  • link:code/java/Example.java[Java]
  • link:code/csharp/Example.cs[C#]
  • link:code/python/example.py[Python]
  • link:code/go/example.go[Go]

=== Feedback

Feel free to submit issues or pull requests for improvement on this repository.