Skip to content

Instantly share code, notes, and snippets.

@spranger
Forked from nawroth/hierarchy graphgist
Last active August 29, 2015 14:08
Show Gist options
  • Save spranger/8fcf825c66716bc31688 to your computer and use it in GitHub Desktop.
Save spranger/8fcf825c66716bc31688 to your computer and use it in GitHub Desktop.
= (Product) Hierarchy GraphGist =
xxx
Gist-Doku unter http://gist.neo4j.org/?5956246
//hide
//setup
//output
[source,cypher]
----
CREATE (ssr:Person{name:'ssr', masc:true}),
(vsr:Person{name:'vsr', masc:false}),
(csr:Person{name:'csr', masc:false}),
(asr:Person{name:'asr', masc:true}),
(ise:Person{name:'ise', masc:true}),
(ina:Person{name:'ina', masc:false}),
(hpe:Person{name:'hpe', masc:false}),
(jtrs:Person{name:'jtrs', masc:false}),
(usk:Person{name:'usk', masc:true}),
(cje:Person{name:'cje', masc:true}),
(inc:Firma{name:'incowia GmbH', street:'A.E.Str.3', zip: '98693'}),
(ilm:Stadt{name:'Ilmenau', cc:'de'}),
(inc)-[:LOCATED_IN]->(ilm),
(blangen:Stadt{name:'Bad Langensalza', cc:'de'}),
(buda:Stadt{name:'Budapest', cc:'hu'}),
(pot:Stadt{name:'Potsdam', cc:'xx'}),
(halle:Stadt{name:'Halle/Saale', cc:'de'}),
(stueba:Stadt{name:'Stützerbach', cc:'de'}),
(lawie:Stadt{name:'Langewiesen', cc:'de'}),
(wipfra:Stadt{name:'Wipfra', cc:'de'}),
(ssr)-[:LIVES_IN]->(stueba),
(asr)-[:LIVES_IN]->(lawie),
(ise)-[:LIVES_IN]->(ilm),
(ina)-[:LIVES_IN]->(ilm),
(hpe)-[:LIVES_IN]->(ilm),
(usk)-[:LIVES_IN]->(ilm),
(jtrs)-[:LIVES_IN]->(ilm),
(asr)-[:BORN_IN]->(pot),
(hpe)-[:BORN_IN]->(pot),
(jtrs)-[:BORN_IN]->(buda),
(ssr)-[:BORN_IN]->(blangen) ;
MATCH (p:Person),(f:Firma{ name:'incowia GmbH' })
CREATE (p)-[:WORKS_AT]->(f)
RETURN p.name;
CREATE (hu:Land{name:'Ungarn', cc:'hu' }),
(de:Land{name:'Deutschland', cc:'de' }),
(no:Land{name:'Norwegen', cc:'no' });
MATCH (s:Stadt),(l:Land)
WHERE s.cc = l.cc AND NOT (s)-[:PART_OF]->()
create ((s)-[:PART_OF]->(l))
RETURN s.name, l.name;
CREATE (gb:Kunde:Firma{name:'greenbird', cc:'no'});
FOREACH (v IN ['Wincor Nixdorf','Universum','TK AG','BMWi', 'TRUMPF Gmbh', 'Deutsche Post AG', 'Münchner Rück AG', 'T-Online AG', 'Scout24 AG']|
CREATE (:Kunde:Firma { name:v, cc:'de' }));
MATCH (k:Kunde),(l:Land)
WHERE k.cc = l.cc AND NOT (k)-[:LOCATED_IN]->()
create ((k)-[:LOCATED_IN]->(l))
RETURN k.name, l.name;
MATCH (f:Firma{ name:'incowia GmbH' })
FOREACH (v IN ['Enterprise Architecture','Enterprise Search','Innovation Management','Technology Solutions']|
CREATE (f)-[:DOES]->(:Leistung {name:v}))
RETURN f.name;
----
//graph
== Firmen, die nicht in Deutschland sitzen
//output
[source,cypher]
----
MATCH (f:Firma)-[:LOCATED_IN]->(l:Land),(de:Land { name:'Deutschland' })
WHERE l <> de
RETURN f.name,l.name;
----
== scratch pad
match (n1:PRODUCT) foreach (r in range(1,3) | create (n2:COST_GROUP {id:r})-[:PART_OF {quantity:round(rand()*100)}]->(n1) );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment