Return visualization of +2 hops based on filter on property

I aim at visualizing all nodes that are +2 hops away from a node that has a certain property. The relationship is not important. Therefore, I have modelled it bidirectionally and labeled it 'x' for all relationships.

I will share my script below. The value "Bodem" is a property of a node with label "Bodemgezondheid". I aim at retrieving all nodes that are +2 hops away from the node that is labelled "Bodemgezondheid", based on the filtering of property "Bodem".

The visualization that I aim to get returned is:

The things I have tried are:

MATCH (k:Kernactiviteit)-[:x*2]->(o:Onderneming),
	     (n:Onderneming)-[:x]->(r:Regio)
WHERE "Bodem" IN k.Synoniem 
RETURN n, k, r;
MATCH (k:Kernactiviteit)-[rel:x*2]->()
WHERE "Bodem" IN k.Synoniem 
RETURN k, rel;

Below is the dataframe that I am using. Does anyone have any smart ideas on this?

// Create nodes
MERGE (:Onderneming {Naam:"De Haspel", Contactpersoon:"Kees van Dis"})
MERGE (:Onderneming {Naam:"ProPlant", Contactpersoon:"Annechien de Rooij"})
MERGE (:Onderneming {Naam:"Heerlijk Land", Contactpersoon:"Maarten Bril"})
MERGE (:Onderneming {Naam:"Bloemenboter", Contactpersoon:"Patty Broek"})
MERGE (:Onderneming {Naam:"Natuurlijk leren", Contactpersoon:"Peter ter Hark"})
MERGE (:Onderneming {Naam:"Fijnzeep", Contactpersoon:"Tulla Erhani"})

MERGE (:Kernactiviteit {Kernactiviteit:"Agro-ecologie", Synoniem:"Agro-forestry"})
MERGE (:Kernactiviteit {Kernactiviteit:"Akkerbouw"})
MERGE (:Kernactiviteit {Kernactiviteit:"Basiseducatie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Behoud regenwoud"})
MERGE (:Kernactiviteit {Kernactiviteit:"Betaalbaar"})
MERGE (:Kernactiviteit {Kernactiviteit:"Bier"})
MERGE (:Kernactiviteit {Kernactiviteit:"Biodiversiteit"})
MERGE (:Kernactiviteit {Kernactiviteit:"Biologische voedselproductie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Bodemgezondheid", Synoniem:["Bodemherstel","Bodem"]})
MERGE (:Kernactiviteit {Kernactiviteit:"Boekweit"})
MERGE (:Kernactiviteit {Kernactiviteit:"Brood"})
MERGE (:Kernactiviteit {Kernactiviteit:"Consumentenplatform"})
MERGE (:Kernactiviteit {Kernactiviteit:"Dieetverandering"})
MERGE (:Kernactiviteit {Kernactiviteit:"Duurzame voedselproductie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Educatie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Gelijke kansen"})
MERGE (:Kernactiviteit {Kernactiviteit:"Gezond voedsel"})
MERGE (:Kernactiviteit {Kernactiviteit:"Graan"})
MERGE (:Kernactiviteit {Kernactiviteit:"Haver"})
MERGE (:Kernactiviteit {Kernactiviteit:"Inclusieve arbeidsmarkt"})
MERGE (:Kernactiviteit {Kernactiviteit:"Kleinschalig"})
MERGE (:Kernactiviteit {Kernactiviteit:"Klimaatadaptatie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Landschapsbehoud"})
MERGE (:Kernactiviteit {Kernactiviteit:"Lichaamshygiëne"})
MERGE (:Kernactiviteit {Kernactiviteit:"Margarine"})
MERGE (:Kernactiviteit {Kernactiviteit:"Middelbare school"})
MERGE (:Kernactiviteit {Kernactiviteit:"Natuurlijke producten"})
MERGE (:Kernactiviteit {Kernactiviteit:"Non-profitorganisatie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Ontmoedigen dierlijke voedselconsumptie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Ontmoedigen ontbossing"})
MERGE (:Kernactiviteit {Kernactiviteit:"Ontmoedigen palmolieconsumptie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Plantaardige voedselproductie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Psychiatrische doelgroep"})
MERGE (:Kernactiviteit {Kernactiviteit:"Regionaal",Synoniem:"Lokaal"})
MERGE (:Kernactiviteit {Kernactiviteit:"Rogge"})
MERGE (:Kernactiviteit {Kernactiviteit:"Sheaboter"})
MERGE (:Kernactiviteit {Kernactiviteit:"Stimuleren inclusiviteit"})
MERGE (:Kernactiviteit {Kernactiviteit:"Stimuleren plantaardige voedselconsumptie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Studiebegeleiding"})
MERGE (:Kernactiviteit {Kernactiviteit:"Streekproducten"})
MERGE (:Kernactiviteit {Kernactiviteit:"Tarwe"})
MERGE (:Kernactiviteit {Kernactiviteit:"Voedselbos"})
MERGE (:Kernactiviteit {Kernactiviteit:"Voedseleducatie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Voedselkeuze"})
MERGE (:Kernactiviteit {Kernactiviteit:"Voedseltransitie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Waardecreatie"})
MERGE (:Kernactiviteit {Kernactiviteit:"Werkgelegenheid"})

MERGE (:Regio {Regio:"Zuidoost-Drenthe", COROP2020code:"08", Locatie:"Sellingen"})
MERGE (:Regio {Regio:"Veluwe", COROP2020code:"13", Locatie:"Wageningse Berg"})
MERGE (:Regio {Regio:"Arnhem/Nijmegen", COROP2020code:"15", Locatie:"Landgoed Quadenoord"})
MERGE (:Regio {Regio:"Utrecht", COROP2020code:"17", Locatie:"Utrecht (stad)"})
MERGE (:Regio {Regio:"Alkmaar en omgeving", COROP2020code:"19", Locatie:"Heerhugowaard"})
MERGE (:Regio {Regio:"Groot-Amsterdam", COROP2020code:"23", Locatie:"Amsterdam"});

//Create relations between enterprises and key activities
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Akkerbouw" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Agro-ecologie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Brood" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Bier" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Graan" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Rogge" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Tarwe" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Haver" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Boekweit" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Landschapsbehoud" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Biodiversiteit" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Bodemgezondheid" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Streekproducten" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="De Haspel" AND k.Kernactiviteit="Regionaal" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (r:Regio) WHERE o.Naam="De Haspel" AND r.Locatie="Wageningse Berg" MERGE (o)-[:x]->(r) MERGE (o)<-[:x]-(r);
MATCH (o:Onderneming), (r:Regio) WHERE o.Naam="De Haspel" AND r.Locatie="Landgoed Quadenoord" MERGE (o)-[:x]->(r) MERGE (o)<-[:x]-(r);

MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="ProPlant" AND k.Kernactiviteit="Stimuleren plantaardige voedselconsumptie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="ProPlant" AND k.Kernactiviteit="Ontmoedigen dierlijke voedselconsumptie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="ProPlant" AND k.Kernactiviteit="Non-profitorganisatie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="ProPlant" AND k.Kernactiviteit="Voedselkeuze" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="ProPlant" AND k.Kernactiviteit="Consumentenplatform" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="ProPlant" AND k.Kernactiviteit="Dieetverandering" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="ProPlant" AND k.Kernactiviteit="Voedseltransitie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="ProPlant" AND k.Kernactiviteit="Regionaal" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (r:Regio) WHERE o.Naam="ProPlant" AND r.Locatie="Utrecht (stad)" MERGE (o)-[:x]->(r) MERGE (o)<-[:x]-(r);

MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Voedselbos" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Agro-ecologie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Regionaal" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Duurzame voedselproductie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Biologische voedselproductie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Bodemgezondheid" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Biodiversiteit" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Streekproducten" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Voedseleducatie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Educatie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Akkerbouw" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Klimaatadaptatie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Kleinschalig" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Gezond voedsel" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Heerlijk Land" AND k.Kernactiviteit="Waardecreatie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (r:Regio) WHERE o.Naam="Heerlijk Land" AND r.Locatie="Sellingen" MERGE (o)-[:x]->(r) MERGE (o)<-[:x]-(r);

MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Bloemenboter" AND k.Kernactiviteit="Margarine" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Bloemenboter" AND k.Kernactiviteit="Ontmoedigen palmolieconsumptie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Bloemenboter" AND k.Kernactiviteit="Ontmoedigen ontbossing" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Bloemenboter" AND k.Kernactiviteit="Sheaboter" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Bloemenboter" AND k.Kernactiviteit="Plantaardige voedselproductie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Bloemenboter" AND k.Kernactiviteit="Biodiversiteit" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Bloemenboter" AND k.Kernactiviteit="Behoud regenwoud" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Bloemenboter" AND k.Kernactiviteit="Klimaatadaptatie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (r:Regio) WHERE o.Naam="Bloemenboter" AND r.Locatie="Amsterdam" MERGE (o)-[:x]->(r) MERGE (o)<-[:x]-(r);

MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Natuurlijk leren" AND k.Kernactiviteit="Studiebegeleiding" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Natuurlijk leren" AND k.Kernactiviteit="Betaalbaar" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Natuurlijk leren" AND k.Kernactiviteit="Stimuleren inclusiviteit" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Natuurlijk leren" AND k.Kernactiviteit="Educatie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Natuurlijk leren" AND k.Kernactiviteit="Middelbare school" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Natuurlijk leren" AND k.Kernactiviteit="Basiseducatie" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Natuurlijk leren" AND k.Kernactiviteit="Gelijke kansen" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (r:Regio) WHERE o.Naam="Natuurlijk leren" AND r.Locatie="Utrecht (stad)" MERGE (o)-[:x]->(r) MERGE (o)<-[:x]-(r);

MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Fijnzeep" AND k.Kernactiviteit="Lichaamshygiëne" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Fijnzeep" AND k.Kernactiviteit="Natuurlijke producten" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Fijnzeep" AND k.Kernactiviteit="Sheaboter" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Fijnzeep" AND k.Kernactiviteit="Stimuleren inclusiviteit" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Fijnzeep" AND k.Kernactiviteit="Psychiatrische doelgroep" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Fijnzeep" AND k.Kernactiviteit="Werkgelegenheid" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Fijnzeep" AND k.Kernactiviteit="Gelijke kansen" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (k:Kernactiviteit) WHERE o.Naam="Fijnzeep" AND k.Kernactiviteit="Inclusieve arbeidsmarkt" MERGE (o)-[:x]->(k) MERGE (o)<-[:x]-(k);
MATCH (o:Onderneming), (r:Regio) WHERE o.Naam="Fijnzeep" AND r.Locatie="Amsterdam" MERGE (o)-[:x]->(r) MERGE (o)<-[:x]-(r);
MATCH (o:Onderneming), (r:Regio) WHERE o.Naam="Fijnzeep" AND r.Locatie="Heerhugowaard" MERGE (o)-[:x]->(r) MERGE (o)<-[:x]-(r);
MATCH (o:Onderneming), (r:Regio) WHERE o.Naam="Fijnzeep" AND r.Locatie="Meppel" MERGE (o)-[:x]->(r) MERGE (o)<-[:x]-(r);

Is this close?

MATCH p=(k:Kernactiviteit)-[:x*2..2]->()
WHERE "Bodem" IN k.Synoniem
RETURN p

Strategy: Find all paths of depth 2 from every start node k, where k has Boem in Synoniem...

image

That's not close, that is spot-on! You're the best, thank you!