Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
Coding

Kenny Bastani kbastani

💭
Coding
View GitHub Profile
@kbastani
kbastani / microservices.adoc
Last active May 20, 2021
Using Graph Analysis to Design Microservice Architectures in the Cloud
View microservices.adoc

Using Graph Analysis to Design Microservice Architectures in the Cloud

This interactive Neo4j graph tutorial covers how to use graph analysis to find software modules that are highly centralized, making good candidates to be decomposed into microservices.


@kbastani
kbastani / monolith.cql
Created May 12, 2015
Monolithic Graph Data Model Example
View monolith.cql
// Teams
CREATE (accountsTeam:Team { name: "Accounts team" })
CREATE (inventoryTeam:Team { name: "Inventory team" })
// Services
CREATE (accountingService:Service { name: "Accounting Service"})
CREATE (inventoryService:Service { name: "Inventory Service"})
CREATE (shippingService:Service { name: "Shipping Service"})
// Resources
@kbastani
kbastani / MaximumValueProgam.scala
Last active Dec 3, 2015
PregelProgram Abstraction for Spark GraphX
View MaximumValueProgam.scala
package org.mazerunner.core.programs
import org.apache.spark.graphx.{Graph, EdgeTriplet, VertexId}
import org.mazerunner.core.abstractions.PregelProgram
/**
* @author kbastani
* The [[MaximumValueProgram]] is an example graph algorithm implemented on the [[PregelProgram]]
* abstraction.
*/
@kbastani
kbastani / Grimm TV Ring.md
Created Feb 17, 2015
The actor ring for the TV series Grimm
View Grimm TV Ring.md
+------------------------------------------------------------------------------------------------------------------------------------------------+
| show                                | cast                                                                                            | people |
+------------------------------------------------------------------------------------------------------------------------------------------------+
| "Cold Case"                         | ["Claire Coffee","Bree Turner","Silas Weir Mitchell (actor)","Bitsie Tulloch","David Giuntoli"] | 5      |
| "CSI: Miami"                        | ["Norberto Barba","Claire Coffee","Sasha Roiz","Silas Weir Mitchell (actor)"]                   | 4      |
| "Law & Order: Special Victims Unit" | ["Kate Burton (actress)","Norberto Barba","Silas Weir Mitchell (actor)","Russell Hornsby"]      | 4      |
| "The West Wing"                     | ["Marc Buckland","Kate Burton (actress)","Claire Coffee","Bitsie Tulloch"]                     
@kbastani
kbastani / gist:4471127413fd724ed0a3
Last active Dec 30, 2019
GraphGist of Neo4j Access Control
View gist:4471127413fd724ed0a3
= Entitlements and Access Control Management
:neo4j-version: 2.2.0
:author: Kenny Bastani
:twitter: @kennybastani
:description: Graph database access control, entitlements, authorization solutions
:tags: domain:finance, use-case:access-control
This interactive Neo4j graph tutorial covers entitlements and access control scenarios.
'''
@kbastani
kbastani / Configuration.scala
Last active Aug 29, 2015
Apache Spark Importer for generating Neo4j batch inserter CSV files from DBPedia RDF dumps
View Configuration.scala
/**
* Copyright (C) 2014 Kenny Bastani
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
@kbastani
kbastani / TraversalDescriptionByPath
Last active Aug 29, 2015
Filter paths by relationship property condition
View TraversalDescriptionByPath
/*
* Cypher query:
* MATCH p=(michael:Person { name: "Michael" })-[r:LIKES]->(people)
* WHERE r.weight >= 5
* RETURN p
*/
Transaction tx = db.beginTx();
Node michael = db.findNodesByLabelAndProperty(DynamicLabel.label("Person"), "name", "Michael").iterator().next();
View README.md

Unlike choropleth maps, cartograms encode data using area rather than color, resulting in distorted geographic boundaries. In this example, states are rescaled around their centroid, preserving local shape but not topology. Inspired by Zachary Johnson. Non-continguous cartogram design invented by Judy Olsen. U.S. state and county boundaries from the U.S. Census Bureau, simplified using GDAL and MapShaper.

View gist:a7c9bee6f36a9c2edf49
-s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin
View gist:1f278795b122cff09fd2
= Neo4j GraphDays =
:neo4j-version: 2.0.1
:author: Kenny Bastani
:twitter: @kennybastani
== Create sample dataset
//setup
//hide
[source,cypher]
----