Using merge without creating duplicate nodes and without using match

image
so lets say i have an item called water and it has 3 different forms, solid liquid and gas. Now i want to add another item which has 2 forms, solid and liquid. Is it possible to create this iron node and make HAS_FORMS relationships between iron and solid, iron and liquid, without matching for solid and liquid seperately?
In a bigger database it would be a hassle to have to see which forms already have nodes created and which dont and then merge them using match first. so my question is, how do i create the relationships without matching for solid and liquid first? I want there to be only one node for each form and each item. So if iron has forms solid, liquid, tablet and powder, i want to connect it to the pre-existing solid and liquid nodes and then create new nodes for tablet and powder and connect them to iron too. thank you

The purpose of 'merge' is what you explain. It first tries to 'match' the entity, and only 'creates' it if there isn't a match.

create(water:Material{name:'water'})
create(gas:Form{name:'gas'})
create(liquid:Form{name:'liquid'})
create(solid:Form{name:'solid'})
create(water)-[:HAS_FORM]->(gas)
create(water)-[:HAS_FORM]->(liquid)
create(water)-[:HAS_FORM]->(solid)

create(iron:Material{name:'iron'})
merge(solid:Form{name:'solid'})
merge(liquid:Form{name:'liquid'})
merge(iron)-[:HAS_FORM]->(solid)
merge(iron)-[:HAS_FORM]->(liquid)