Some 15-20 years ago maybe I started programming in C and C++. I wrote simple programs for image processing, sound processing. That wasn't it. When I was finishing mechanical engineering studies at AGH University of Science and Technology, I felt unsatisfied. I wanted to learn more about building software. That's why I chose postgraduate studies at the Jagiellonian University. There I went through many programming languages, many different software development methodologies. Later, while working in various corporations, I used the acquired skills, creating some automations to speed up my work. While working at Borgwarner automotive, I had the opportunity to work with Siemens many times on updates to their program. Siemens engineers have often asked me about features that would be useful to me as a vibroacoustics engineer. It also worked the other way, because many times I reported them interesting features to be implemented.
While working at the startup TANDIG as a product owner, I also programmed. And that's quite a lot. I was tasked with finding a system-programming language that would be best for our problem. I tested many different solutions. At some point I came across the NEO4J object database. I locked myself at home for 2 months, practically did not go out. I studied the structure, studied, wrote my code, and finally created a working MVP demo. NEO4J employees praised the method of solution when valuing the implementation of my program.
Below I paste some of my lines of code in CYPHER:
X:\NEO4J\neo4jDatabases\database-c479acc6-003b-47d6-a6fc-b439c423e6af\installation-4.0.1\import
MATCH (com:composer), (tra:track)
////RETURN com, tra
MERGE (com:composer)-[:composed]->(tra:track )
//START
//1
LOAD CSV FROM ‘file:///X:/NEO4J/neo4jDatabases/database-c479acc6-003b-47d6-a6fc-b439c423e6af/installation-4.0.1/import/01_lodz_b.csv’ AS line
create (:track { name: line[1], track_id: line[0]} )
create (:composer { name: line[2], composed_track_id: line[0] })
create (:artist { name: line[3], reproduced_track_id: line[0]} )
//2
MATCH (t:track),(a:artist)
WHERE t.track_id = a.reproduced_track_id
CREATE (a)-[r:reproduced]->(t)
RETURN type(r)
//3
MATCH (t:track),(c:composer)
WHERE t.track_id = c.composed_track_id
CREATE (c)-[r:composed]->(t)
RETURN type(r)
//4
CREATE (pn:person { name: ‘Paweł’, title: ‘co-founder’, b_model: ‘k_res’ })
CREATE (tb:firma { name: ‘sztartup’, title: ‘startup’ })<-[r:works_at]-(js:person {name:”Jarosław”, b_model: ‘k_res’})
CREATE (pn)-[:works_at]->(tb)
CREATE (pn)-[:owns]->(tb)
CREATE (js)-[:owns]->(tb)
CREATE (pn)-[c:cooperate_with]->(js)
CREATE (js)-[:cooperate_with]->(pn)//
CREATE (product:demo { name: ‘track_up’, title: ‘software’, b_model: ‘k_res’, b_model: ‘cost’, b_model: ‘revenue’ })
CREATE (soft:resource { name: ‘neo4j’, b_model: ‘k_res’, b_model: ‘cost’ })-[de:devlope]->(product)
CREATE (cloud:resource { name: ‘amazon’, b_model: ‘k_res’, b_model: ‘cost’})-[st:store]->(product)
create (pn)-[:programing {b_model:”cost”, b_model:”k_activ”}]->(product)
create (pn)-[:programing {b_model:”cost”}]->(cloud)
create (pn)-[:programing {b_model:”cost”}]->(soft)
CREATE (dj:DJ :customer { name: ‘Trakmajster’, b_model: ‘customer_DJ’ })-[ex:export]->(djlist1a:value:list_event:demo {name:”Lista 05 07 2019″})
create (dj)-[:is_registered_in]->(product)
create (dj)-[:export]->(djlist1b:value:demo:list_event {name:”Lista 01_03_2020″})
//create (dj)-[:export]->(djlist1c:value :demo :list_event {name:”Lista 22 07 2019″})
create (dj)-[:export]->(djlist1d:value :demo :list_event {name:”Lista 02_03_2020″})
create (dj)-[:export]->(djlist1e:value :demo :list_event {name:”Lista 03_03_2020″})
//CREATE (dj2:DJ { name: ‘Funky’, b_model: ‘customer_DJ’ })-[:export]->(djlist2a:value :demo :list_event {name:”Lista 11 07 2019″})
//create (dj2)-[:export]->(djlist2b:value :demo :list_event {name:”Lista 12 07 2019″})
//create (dj2)-[:export]->(djlist2c:value :demo :list_event {name:”Lista 23 07 2019″})
CREATE (place:place :customer { name: ‘Lodz’, type:”club”, b_model: ‘customer_place’ })-[re:receive]->(djlist2:value :list_event {name:”March 2020″})
CREATE (zaiks:firma :customer { name: ‘zaiks’, title: ‘Stowrzyszenie’, b_model:’customer_zaiks’ })
create (djlistmth:demo :list_mounth {name:”March Lodz 2020″, b_model:’k_res’ })-[:sent_to]->(zaiks)
create (place)-[:sent_to]->(product)
create (product)-[:export]->(djlistmth)
create (product)-[:sent_to]->(djlistmth)
create (product)-[:calculate]->(djlistmth)
//create (trala:track { name:”Trala la”})
//CREATE (aut:author :customer { name: ‘Jan Kowalski’, b_model:’customer_author’ })-[:is_author_of]->(trala)
//CREATE (comp:composer :customer { name: ‘Marek Nowak’, b_model:’customer_composer’ })-[iscom:is_composer_of]->(trala)
//CREATE (art:artist :customer { name: ‘Rzepolisław’, b_model: ‘customer_artist’ })-[isart:is_artist_of]->(trala)
//CREATE (trala)-[:is_registered_in]->(product)
//create (bla:track { name:”Bla la”})
//CREATE (aut)-[:is_author_of]->(bla)
//CREATE (comp)-[:is_composer_of]->(bla)
//CREATE (art)-[:is_artist_of]->(bla)
//CREATE (bla)-[:is_registered_in]->(product)
//create (ala:track { name:”ala ma cota”})
//CREATE (aut)-[:is_author_of]->(ala)
//CREATE (comp)-[:is_composer_of]->(ala)
//CREATE (art)-[:is_artist_of]->(ala)
//CREATE (ala)-[:is_registered_in]->(product)
//create (dj)-[:sent_to]->(product)
//create (dj2)-[:sent_to]->(product)
//CREATE (art)-[:is_registered_in]->(product)
//CREATE (comp)-[:is_registered_in]->(product)
//CREATE (aut)-[:is_registered_in]->(product)
//CREATE (dj2)-[:is_registered_in]->(product)
CREATE (zaiks)-[:is_registered_in]->(product)
CREATE (zaiks)-[:update]->(djlistmth)
CREATE (djlistmth)-[:sent_to]->(product)
CREATE (product)-[:calculate]->(tantiemy:demo {name:’tantiemy’, b_model: ‘k_res’, b_model: ‘cost’, b_model: ‘revenue’})
create (djlist1b)-[:update]->(djlistmth)
create (djlist1e)-[:update]->(djlistmth)
create (djlist1d)-[:update]->(djlistmth)
//create (djlist2a)-[:update]->(djlistmth)
//create (trala)-[:update]->(djlist1b)
//create (trala)-[:update]->(djlist1e)
//create (trala)-[:update]->(djlist2a)
//create (trala)-[:update]->(djlist2c)
//create (ala)-[:update]->(djlist1b)
//create (ala)-[:update]->(djlist1e)
//create (ala)-[:update]->(djlist2a)
//create (tantiemy)-[:update]->(art)
//create (tantiemy)-[:update]->(comp)
//create (tantiemy)-[:update]->(aut)
create (dj)-[:played_at]->(place)
//create (dj2)-[:played_at]->(place)
//5
MATCH (t:track), (l:list_event)
WHERE t.list_name = l.listEventName
CREATE (t)-[r:made666]->(l)
RETURN type(r)
////////
MATCH (t:track),(l:list_event)
WHERE t.list_name = l.name
CREATE (t)-[r:made]->(l)
RETURN type(r)
// list_event_id:”Lista 01_03_2020″} to trzeba dopisać od innych list to klucz
// wyszkanie tylko tracków co mają id listy 01….
MATCH (t:track)//,(l:list_event_id)
WHERE t.list_name = ‘Lista_01_03_2020’ //and wl:list_event_id = ‘Lista_01_03_2020’
//CREATE (t)-[r:made]->(l)
//RETURN type(r)
return t.list_name
MATCH (t:track)
WHERE t.list_name = ‘Lista_01_03_2020’
CREATE (t)-[r:made]->(djlist1b)
RETURN type(r)
MATCH (t:track),(djlist1b:value:demo:list_event {name:”Lista 01_03_2020″})
WHERE t.list_name = ‘Lista_01_03_2020’
CREATE (t)-[r:mfffffffade]->(djlist1b:value:demo:list_event {name:”Lista 01_03_2020″})
RETURN type(r)
MATCH (l:list_event)
WHERE l.listEventName = ‘Lista_01_03_2020’
RETURN l