Skip to content

Instantly share code, notes, and snippets.

View maxdemarzi's full-sized avatar
🏠
Working from home

Max De Marzi maxdemarzi

🏠
Working from home
View GitHub Profile
@maxdemarzi
maxdemarzi / App.java
Created April 9, 2017 14:26
Jooby Rocker hot reload fails
// Setup Template Engine
use(new Rockerby());
RockerRuntime.getInstance().setReloading(true);

CALL com.maxdemarzi.similarity(0.90, 100)

@maxdemarzi
maxdemarzi / ImportSwapnilRunnable.java
Created November 8, 2017 15:18
Importer for Swapnil
package com.maxdemarzi.imports;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.github.benmanes.caffeine.cache.LoadingCache;
import com.maxdemarzi.schema.Labels;
import com.maxdemarzi.schema.RelationshipTypes;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVRecord;
import org.neo4j.graphdb.*;
@maxdemarzi
maxdemarzi / bom.cypher
Last active March 9, 2021 16:21
Bill of Materials sample data
CREATE (f1:Family {id:'f1'})
CREATE (f2:Family {id:'f2'})
CREATE (f3:Family {id:'f3'})
CREATE (a1:Asset {id:'a1'})
CREATE (a2:Asset {id:'a2'})
CREATE (a3:Asset {id:'a3'})
CREATE (a4:Asset {id:'a4'})
CREATE (a5:Asset {id:'a5'})
CREATE (a6:Asset {id:'a6'})
CREATE (a7:Asset {id:'a7'})
@maxdemarzi
maxdemarzi / data.cypher
Created March 22, 2018 12:43
Find meeting times
CREATE (person1:Person {name: "Max"})
CREATE (person2:Person {name: "Alex"})
CREATE (person3:Person {name: "Andrew"})
CREATE (floor1:Floor {name: "Floor 1"})
CREATE (floor2:Floor {name: "Floor 2"})
CREATE (person1)-[:SITS_IN]->(floor1)
CREATE (person2)-[:SITS_IN]->(floor1)
CREATE (person3)-[:SITS_IN]->(floor2)
CREATE (room1:Room {name:"Room 1"})
CREATE (room2:Room {name:"Room 2"})
package com.maxdemarzi.models;
import humanize.Humanize;
import lombok.Data;
import org.jooby.Upload;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
@maxdemarzi
maxdemarzi / exercise-1.query.cypher
Last active February 14, 2021 18:46
Modeling Cypher Exercise 1 and 2
MATCH (company)<-[:WORKS_FOR]-(me:Person{username:'ian'})-[:HAS_SKILL]->(skill),
(company)<-[:WORKS_FOR]-(colleague)-[r:HAS_SKILL]->(skill)
WHERE r.level > 1
RETURN colleague.username AS username,
count(skill) AS score,
collect(skill.name) AS skills
ORDER BY score DESC
@maxdemarzi
maxdemarzi / data.cypher
Created August 17, 2019 05:06
Cypher Scripts for Neo4j Fraud Blog Post
CREATE (john:User {name:"John"})
CREATE (sheila:User {name:"Sheila"})
CREATE (robert:User {name:"Robert"})
CREATE (karen:User {name:"Karen"})
CREATE (m1:Merchant {name:"Computer Store"})
CREATE (m2:Merchant {name:"Gas Station"})
CREATE (m3:Merchant {name:"Jewelry Store"})
CREATE (m4:Merchant {name:"Furniture Store"})
CREATE (m5:Merchant {name:"Optometrist"})
CREATE (m6:Merchant {name:"Coffee Shop"})
@maxdemarzi
maxdemarzi / collect.cypher
Created August 19, 2019 18:40
Fighting Fraud with Neo4j part 2
MATCH (n:User)
RETURN n.partition, COUNT(*) AS members, COLLECT(n.name) AS names
ORDER BY members DESC
LIMIT 10
@maxdemarzi
maxdemarzi / cypher.txt
Created September 11, 2019 09:25
Real Property Graph
Schema
------
CREATE CONSTRAINT ON (n:Location) ASSERT n.id IS UNIQUE;
CREATE CONSTRAINT ON (n:Owner) ASSERT n.name IS UNIQUE;
CREATE INDEX ON :Address(addr, zip);
Data Exploration