Checking if two nodes are connected by edges with certain properties

Not sure how to search for this within the forum but I've wasted several hours on this and need some help. To try and learn how to use graph databases, I deceided to build a very small and simple graph that is based on the ticket-to-ride game board.

I've made a graph where each city is a node and each route is an edge. The edge has three properties of "owner_path_1", "owner_path_2", and "tunnel_owner". I am needing a query that will tell me if a path exists between two cities where one of the edge properties contains the player id "1". I've tried various options but just keep getting type mismatch errors or the query just spins when using variable length "*1..". Any suggestions? The neo4j Cypher manual is very limited.

I am not very clear what your criteria is. You mention three edge properties, but then you want paths where one of the edge properties contains player id of '1'. I am not sure how player id relates to the three edge properties you enumerated.

Just to give you something to work with, the following query should find paths between two city nodes that have at least one edge who has at least one property with a value equal to '1'.

Maybe you can modify it to suit your needs if it is not exactly what you are looking for.

match p=(City)-[*]-(:City)
with p, relationships(p) as relationships
where any( r in relationships where any( k in keys(r) where properties(r)[k] = 1 ) )
return p