Given the following nodes:
create(:ABC{id:'1', a:'axle',b:'bat'})
create(:ABC{id:'2', a:'ant',b:'ball',c:'clown'})
create(:ABC{id:'3', e:'elk',f:'fog',g:'gaff'})
create(:ABC{id:'4', a:'ax',c:'car',z:'zink'})
Using cypher, how would one create edges between nodes that share 1 or more property keys (regardless of their property value and with an unknown set of properties)? I'm fairly certain I could iterate thru nodes individually via python and create edges, but I have tried without success to do this in cypher.