Skip to content

Instantly share code, notes, and snippets.

@jvilledieu
Last active April 13, 2017 08:34
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 jvilledieu/aeaae39cad449e7abb4a94af6f24ac72 to your computer and use it in GitHub Desktop.
Save jvilledieu/aeaae39cad449e7abb4a94af6f24ac72 to your computer and use it in GitHub Desktop.
Enterprise Architecture dataset for Neo4j
CREATE (:OrganizationUnit { name: "OrganizationUnit"})
FOREACH (r IN range(0,3)|
CREATE (:ICTObject{ name:"ICTObject" + r}))
FOREACH (r IN range(0,3)|
CREATE (:BusinessActor{ name:"BusinessActor" + r}))
FOREACH (r IN range(0,3)|
CREATE (:ApplicationService{ name:"ApplicationService" + r}))
FOREACH (r IN range(0,3)|
CREATE (:Process{ name:"Process" + r}))
FOREACH (r IN range(0,3)|
CREATE (:Product{ name:"Product" + r}))
FOREACH (r IN range(0,3)|
CREATE (:Control{ name:"Control" + r}))
FOREACH (r IN range(0,3)|
CREATE (:Application{ name:"Application" + r}))
FOREACH (r IN range(0,3)|
CREATE (:ApplicationService{ name:"ApplicationService" + r}))
FOREACH (r IN range(0,3)|
CREATE (:Platform{ name:"Platform" + r}))
FOREACH (r IN range(0,3)|
CREATE (:StandardPlatform{ name:"StandardPlatform" + r}))
FOREACH (r IN range(0,3)|
CREATE (:DataObject{ name:"DataObject" + r}))
FOREACH (r IN range(0,3)|
CREATE (:ComponentCatalog{ name:"ComponentCatalog" + r}))
FOREACH (r IN range(0,3)|
CREATE (:Location{ name:"Location" + r}))
FOREACH (r IN range(0,3)|
CREATE (:Device{ name:"Device" + r}))
FOREACH (r IN range(0,3)|
CREATE (:Component{ name:"Component" + r}));
MATCH (ou:OrganizationUnit), (proc:Process), (as:ApplicationService), (app:Application), (do:DataObject), (loca:Location), (d:Device), (comp:Component), (cc:ComponentCatalog)
CREATE UNIQUE (ou)-[:OWNS]->(proc)-[:REQUESTS]->(as)<-[:PROVIDES]-(app)-[:ACCESSES]->(do)-[:IS_STORED_IN]->(loca)<-[:IS_IN]-(d)<-[:DEPLOYED_ON]-(comp)-[:BELONGS_TO]->(cc);
MATCH (proc:Process), (prod:Product), (ctrl:Control)
CREATE UNIQUE (prod)<-[:PRODUCES]-(proc)-[:IS_GUIDED_BY]->(ctrl);
MATCH (ba:BusinessActor), (proc:Process), (ou:OrganizationUnit), (app:Application), (ict:ICTObject)
CREATE UNIQUE (ou)<-[:BELONGS_TO]-(ba)-[:USES]->(app)
WITH proc, ba, ou, ict, app
CREATE UNIQUE (proc)<-[:PARTICIPATES_IN]-(ba)
WITH ou, ict, app
CREATE UNIQUE (ou)-[:OWNS]->(ict)-[:CONSIST_OF]->(app);
MATCH (p:Platform), (sp:StandardPlatform), (app:Application), (comp:Component)
CREATE UNIQUE (app)-[:RUNS_ON]-(p)-[:DERIVED_FROM]->(sp)
WITH app, comp
CREATE UNIQUE (app)-[:CONSISTS_OF]->(comp);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment