Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/neo4j-graph-examples/contact-tracing

Contact Tracing graph for pandemic spread e.g. COVID-19 based on http://blog.bruggen.com/search/label/contact%20tracing
https://github.com/neo4j-graph-examples/contact-tracing

contact-tracing covid-data covid19 data-science dataset example-data graphdb healthcare neo4j neo4j-approved

Last synced: 2 months ago
JSON representation

Contact Tracing graph for pandemic spread e.g. COVID-19 based on http://blog.bruggen.com/search/label/contact%20tracing

Awesome Lists containing this project

README

        

:name: contact-tracing
:long-name: Contact Tracing
:description: Tracing infections between people based on their contacts
:icon: documentation/img/tracing.jpg
:tags: example-data,dataset,covid-data,contact-tracing,healthcare,covid19,data-science
:author: Rik van Bruggen
:demodb: false
:data: false
:use-load-script: false
:use-dump-file: data/contact-tracing-40.dump
:zip-file: false
:use-plugin: gds
:target-db-version: 3.5,4.0
:bloom-perspective: bloom/contact-tracing.bloom-perspective
:guide: documentation/contact-tracing.neo4j-browser-guide
:rendered-guide: https://guides.neo4j.com/sandbox/{name}/index.html
:model: documentation/img/model.png
:example: documentation/img/example.png
:nodes: 5615
:relationships: 15130

: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]

.Example Query:
[source,cypher,role=query-example,param-name=status,param-value=Sick,result-column=place,expected-result="Place nr 1"]
----
MATCH (p:Person {healthstatus:$status})-[v:VISITS]->(pl:Place)
WHERE p.confirmedtime < v.starttime
RETURN distinct pl.name as place LIMIT 20
----

=== 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.