cancel
Showing results for 
Search instead for 
Did you mean: 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

Somewhat complex cypher query

I'm attempting to query "Skills" based on whether a person from a list used them (I only know which project the person created), but I need to know which specific person the skill matched to. I have the basic cypher query that solves half the problem, but I'm not sure where to go next.

MATCH (p:Project)-[:USED_SKILL]->(s:Skill) WHERE $personIds CONTAINS p.person RETURN s

1 ACCEPTED SOLUTION

Sorry, my explanation might have been confusing. This was the solution I figured out:

MATCH (p:Project)-[:REQUIRED_SKILL]->(s:Skill) WHERE p.id IN $projects RETURN s, p.id as p

It works as expected and not nearly as complex as I thought it would be, but thanks for the help! I just needed to be able to match the skills returned back to the project they are related to.

View solution in original post

2 REPLIES 2

So, let me see if i got this straight: p.person is the person who created the p (Project). If p is linked to skill and you know the person of p...what is missing?
Can you post a print-screen of "call apoc.meta.schema" ? If you cannot run it, please make sure to install the APOC plugin.

Sorry, my explanation might have been confusing. This was the solution I figured out:

MATCH (p:Project)-[:REQUIRED_SKILL]->(s:Skill) WHERE p.id IN $projects RETURN s, p.id as p

It works as expected and not nearly as complex as I thought it would be, but thanks for the help! I just needed to be able to match the skills returned back to the project they are related to.