Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
154 changes: 154 additions & 0 deletions examples/corpus_templates/corpus_templates_cyphertck.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
[
"MATCH (n:label_1) RETURN n.prop_1 AS value ORDER BY value ASC SKIP 2 LIMIT 5",
"MATCH (n:label_1) RETURN n.prop_1 AS value ORDER BY value DESC SKIP 2 LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 IN [\"value_1\", \"value_2\"] RETURN n.prop_1 AS value, n.prop_2 AS detail LIMIT 5",
"MATCH (n:label_1) WHERE NOT n.prop_1 IN [\"value_1\", \"value_2\"] RETURN n.prop_1 AS value, n.prop_2 AS detail LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 IS NULL RETURN n.prop_2 AS fallback_value LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 IS NOT NULL RETURN n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 ENDS WITH \"value_1\" RETURN n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) RETURN n.prop_1 AS value, CASE WHEN n.prop_2 > value_1 THEN \"high\" ELSE \"low\" END AS bucket LIMIT 5",
"MATCH (n:label_1) RETURN n.prop_1 AS value, CASE n.prop_2 WHEN \"value_1\" THEN \"matched\" ELSE \"other\" END AS bucket LIMIT 5",
"MATCH (n:label_1) RETURN n.prop_1 AS group_value, collect(n.prop_2) AS collected_values LIMIT 5",
"MATCH (n:label_1) RETURN collect(DISTINCT n.prop_1) AS distinct_values LIMIT 5",
"MATCH (n:label_1) RETURN COUNT(DISTINCT n.prop_1) AS distinct_count LIMIT 5",
"MATCH (n:label_1) RETURN id(n) AS internal_id, n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) RETURN labels(n) AS labels, n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) RETURN coalesce(n.prop_1, n.prop_2) AS resolved_value LIMIT 5",
"MATCH (n:label_1) RETURN toString(n.prop_1) AS value_as_string LIMIT 5",
"MATCH (n:label_1) RETURN round(n.prop_1) AS rounded_value LIMIT 5",
"MATCH (n:label_1) RETURN abs(n.prop_1 - value_1) AS distance_from_value LIMIT 5",
"MATCH (a:label_1)-[r:edge_1]->(b:label_2) RETURN type(r) AS relationship_type, a.prop_1 AS source_value, b.prop_2 AS target_value LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1]->(b:label_2) RETURN a.prop_1 AS source_value, b.prop_2 AS target_value, length(p) AS path_length LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1]->(b:label_2) RETURN nodes(p) AS path_nodes LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1]->(b:label_2) RETURN relationships(p) AS path_relationships LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN a.prop_1 AS group_value, collect(b.prop_2) AS connected_values LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN COUNT(DISTINCT b.prop_2) AS distinct_connected_count LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN a.prop_1 AS source_value, b.prop_2 AS target_value, abs(a.prop_3 - b.prop_4) AS numeric_gap LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN a.prop_1 AS source_value, b.prop_2 AS target_value, a.prop_3 + b.prop_4 AS combined_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE a.prop_1 IN [\"value_1\", \"value_2\"] RETURN a.prop_1 AS source_value, b.prop_2 AS target_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE b.prop_2 IS NOT NULL RETURN a.prop_1 AS source_value, b.prop_2 AS target_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN a.prop_1 AS source_value, CASE WHEN b.prop_3 > value_1 THEN \"large\" ELSE \"small\" END AS target_bucket LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2)-[:edge_2]->(c:label_3) RETURN a.prop_1 AS first_value, b.prop_2 AS middle_value, c.prop_3 AS last_value, labels(c) AS last_labels LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1]->(b:label_2)-[:edge_2]->(c:label_3) RETURN a.prop_1 AS first_value, c.prop_3 AS last_value, length(p) AS path_length LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2)<-[:edge_2]-(c:label_3) WHERE a <> c RETURN a.prop_1 AS first_value, c.prop_3 AS second_value, b.prop_2 AS shared_value LIMIT 5",
"UNWIND [\"value_1\", \"value_2\"] AS selected_value MATCH (n:label_1) WHERE n.prop_1 = selected_value RETURN selected_value, COUNT(n) AS cnt LIMIT 5",
"UNWIND range(1, 3) AS bucket MATCH (n:label_1) RETURN bucket, COUNT(n) AS cnt LIMIT 5",
"MATCH (a:label_1) RETURN a.prop_1 AS value LIMIT 2 UNION ALL MATCH (b:label_2) RETURN b.prop_2 AS value LIMIT 2",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN a.prop_1 AS value LIMIT 2 UNION ALL MATCH (c:label_3)-[:edge_2]->(d:label_4) RETURN d.prop_4 AS value LIMIT 2",

"MATCH (n:label_1) RETURN [\"value_1\", \"value_2\", n.prop_1][0] AS first_value, [\"value_1\", \"value_2\", n.prop_1][1] AS second_value LIMIT 5",
"MATCH (n:label_1) RETURN split(n.prop_1, \"value_1\")[0] AS first_piece LIMIT 5",
"MATCH (n:label_1) RETURN split(n.prop_1, \"value_1\")[0..1] AS leading_pieces LIMIT 5",
"MATCH (n:label_1) RETURN [n.prop_1, n.prop_2, \"value_1\"][1..3] AS sampled_values LIMIT 5",
"MATCH (n:label_1) RETURN {label: \"value_1\", sample: n.prop_1} AS value_map LIMIT 5",
"MATCH (n:label_1) RETURN properties(n) AS node_properties LIMIT 5",
"MATCH (n:label_1) RETURN keys(n) AS property_names LIMIT 5",
"MATCH (n) WHERE n:label_1 RETURN labels(n) AS matched_labels, id(n) AS internal_id LIMIT 5",
"MATCH (n:label_1) WHERE exists(n.prop_1) RETURN n.prop_1 AS existing_value LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 <> \"\" RETURN n.prop_1 AS non_empty_value LIMIT 5",
"MATCH (n:label_1) RETURN toInteger(n.prop_1) % value_1 AS remainder_value LIMIT 5",
"MATCH (n:label_1) RETURN n.prop_1 ^ 2 AS squared_value LIMIT 5",
"MATCH (n:label_1) RETURN toInteger(n.prop_1) / value_1 AS bucket_value LIMIT 5",
"MATCH (n:label_1) RETURN [n.prop_1, reverse(n.prop_1), toUpper(n.prop_1)] AS string_variants LIMIT 5",
"MATCH (a:label_1)<-[:edge_1]-(b:label_2) RETURN a.prop_1 AS target_value, b.prop_2 AS source_value LIMIT 5",
"MATCH (a:label_1)-[r:edge_1]-(b:label_2) RETURN a.prop_1 AS first_value, b.prop_2 AS second_value, type(r) AS relationship_type LIMIT 5",
"MATCH (a:label_1)-[r]->(b) RETURN a.prop_1 AS source_value, labels(b) AS target_labels, type(r) AS relationship_type LIMIT 5",
"MATCH (a:label_1)-[r]->(b) WHERE type(r) IN [\"edge_1\", \"edge_2\"] RETURN type(r) AS relationship_type, labels(b) AS target_labels LIMIT 5",
"MATCH (a:label_1)-[r:edge_1]->(b:label_2) RETURN startNode(r) AS start_node, endNode(r) AS end_node LIMIT 5",
"MATCH (a:label_1)-[r:edge_1]->(b:label_2) RETURN id(startNode(r)) AS start_id, id(endNode(r)) AS end_id, type(r) AS relationship_type LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1*1]->(b:label_2) RETURN length(p) AS path_length, a.prop_1 AS source_value, b.prop_2 AS target_value LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1*1..2]->(b:label_2) RETURN length(p) AS path_length, nodes(p) AS path_nodes LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1*1..2]->(b:label_2) RETURN size(relationships(p)) AS relationship_count, relationships(p) AS path_relationships LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1]->(b:label_2)-[:edge_2]->(c:label_3) RETURN head(nodes(p)) AS start_node, last(nodes(p)) AS end_node, length(p) AS path_length LIMIT 5",
"MATCH p=(a:label_1)<-[:edge_1]-(b:label_2)-[:edge_2]->(c:label_3) RETURN a.prop_1 AS left_value, b.prop_2 AS middle_value, c.prop_3 AS right_value, length(p) AS path_length LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2)<-[:edge_2]-(c:label_3) RETURN {first: a.prop_1, shared: b.prop_2, second: c.prop_3} AS shared_connection LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN split(a.prop_1, \"value_1\")[0] AS source_piece, split(b.prop_2, \"value_2\")[0] AS target_piece LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN [left(a.prop_1, value_1), right(b.prop_2, value_2)] AS boundary_values LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN toInteger(a.prop_3) % value_1 AS source_bucket, toInteger(b.prop_4) % value_2 AS target_bucket LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN a.prop_3 ^ 2 AS source_square, b.prop_4 ^ 2 AS target_square LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE exists(b.prop_2) RETURN properties(b) AS target_properties LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN keys(a) AS source_keys, keys(b) AS target_keys LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WITH collect(DISTINCT b.prop_2) AS values RETURN head(values) AS first_value, last(values) AS last_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WITH collect(DISTINCT b.prop_2) AS values UNWIND values AS value RETURN value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN {source: a.prop_1, target: b.prop_2, rel: \"edge_1\"} AS connection_map LIMIT 5",
"MATCH (a:label_1) RETURN properties(a) AS value LIMIT 2 UNION ALL MATCH (b:label_2) RETURN properties(b) AS value LIMIT 2",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN keys(a) AS value LIMIT 2 UNION ALL MATCH (c:label_3)-[:edge_2]->(d:label_4) RETURN keys(d) AS value LIMIT 2",

"MATCH (n:label_1) RETURN toLower(n.prop_1) AS normalized_value LIMIT 5",
"MATCH (n:label_1) RETURN toUpper(n.prop_1) AS normalized_value LIMIT 5",
"MATCH (n:label_1) RETURN trim(n.prop_1) AS trimmed_value LIMIT 5",
"MATCH (n:label_1) RETURN lTrim(n.prop_1) AS left_trimmed_value LIMIT 5",
"MATCH (n:label_1) RETURN rTrim(n.prop_1) AS right_trimmed_value LIMIT 5",
"MATCH (n:label_1) RETURN substring(n.prop_1, 1, value_1) AS prefix_value LIMIT 5",
"MATCH (n:label_1) RETURN left(n.prop_1, value_1) AS left_part, right(n.prop_1, value_2) AS right_part LIMIT 5",
"MATCH (n:label_1) RETURN replace(n.prop_1, \"value_1\", \"value_2\") AS replaced_value LIMIT 5",
"MATCH (n:label_1) RETURN reverse(n.prop_1) AS reversed_value LIMIT 5",
"MATCH (n:label_1) RETURN size(n.prop_1) AS string_length, n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) RETURN split(n.prop_1, \"value_1\") AS pieces LIMIT 5",
"MATCH (n:label_1) RETURN head(split(n.prop_1, \"value_1\")) AS first_piece LIMIT 5",
"MATCH (n:label_1) RETURN last(split(n.prop_1, \"value_1\")) AS last_piece LIMIT 5",
"MATCH (n:label_1) WHERE toLower(n.prop_1) CONTAINS \"value_1\" RETURN n.prop_1 AS matched_value LIMIT 5",
"MATCH (n:label_1) WHERE size(n.prop_1) > value_1 RETURN n.prop_1 AS long_value, size(n.prop_1) AS value_length LIMIT 5",
"MATCH (n:label_1) RETURN ceil(n.prop_1) AS rounded_up, floor(n.prop_1) AS rounded_down LIMIT 5",
"MATCH (n:label_1) RETURN sign(n.prop_1 - value_1) AS direction, n.prop_1 AS numeric_value LIMIT 5",
"MATCH (n:label_1) RETURN toInteger(n.prop_1) AS integer_value, toFloat(n.prop_1) AS float_value LIMIT 5",
"MATCH (n:label_1) RETURN percentileDisc(n.prop_1, 0.5) AS median_like_value LIMIT 5",
"MATCH (n:label_1) RETURN stDev(n.prop_1) AS sample_stdev, stDevP(n.prop_1) AS population_stdev LIMIT 5",
"MATCH (n:label_1) RETURN AVG(CASE WHEN n.prop_1 = \"value_1\" THEN n.prop_2 ELSE 0 END) AS conditional_average LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 > date(\"value_1\") RETURN n.prop_2 AS value, n.prop_1 AS date_value ORDER BY date_value DESC LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 > datetime(\"value_1\") RETURN n.prop_2 AS value, n.prop_1 AS datetime_value ORDER BY datetime_value DESC LIMIT 5",
"MATCH (n:label_1) RETURN date(\"value_1\") AS reference_date, COUNT(n) AS cnt LIMIT 5",
"MATCH (n:label_1) RETURN datetime(\"value_1\") AS reference_datetime, COUNT(n) AS cnt LIMIT 5",
"UNWIND [\"value_1\", \"value_2\", \"value_3\"] AS selected_value MATCH (n:label_1) WHERE n.prop_1 = selected_value RETURN selected_value, COUNT(n) AS cnt LIMIT 5",
"MATCH (n:label_1) WITH collect(DISTINCT n.prop_1) AS values UNWIND values AS value RETURN value LIMIT 5",
"UNWIND range(value_1, value_2) AS bucket MATCH (n:label_1) RETURN bucket, COUNT(n) AS cnt LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN toLower(a.prop_1) AS source_norm, toUpper(b.prop_2) AS target_norm LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN left(a.prop_1, value_1) AS source_prefix, right(b.prop_2, value_2) AS target_suffix LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE size(a.prop_1) > value_1 RETURN a.prop_1 AS source_value, b.prop_2 AS target_value, size(a.prop_1) AS source_length LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN abs(a.prop_3 - b.prop_4) AS numeric_gap, sign(a.prop_3 - b.prop_4) AS gap_direction LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN ceil(a.prop_3 + b.prop_4) AS rounded_combined_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN AVG(CASE WHEN b.prop_2 = \"value_1\" THEN a.prop_3 ELSE 0 END) AS conditional_average LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1]->(b:label_2) RETURN length(p) AS path_length, head(nodes(p)) AS start_node, last(nodes(p)) AS end_node LIMIT 5",
"MATCH p=(a:label_1)-[:edge_1]->(b:label_2) RETURN size(relationships(p)) AS relationship_count, relationships(p) AS path_relationships LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2)-[:edge_2]->(c:label_3) RETURN replace(a.prop_1, \"value_1\", \"value_2\") AS rewritten_first_value, reverse(c.prop_3) AS reversed_last_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2)-[:edge_2]->(c:label_3) RETURN a.prop_1 AS first_value, b.prop_2 AS middle_value, c.prop_3 AS last_value, CASE WHEN size(c.prop_3) > value_1 THEN \"long\" ELSE \"short\" END AS last_value_bucket LIMIT 5",
"MATCH (a:label_1) RETURN toLower(a.prop_1) AS value LIMIT 2 UNION ALL MATCH (b:label_2) RETURN toLower(b.prop_2) AS value LIMIT 2",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN left(a.prop_1, value_1) AS value LIMIT 2 UNION ALL MATCH (c:label_3)-[:edge_2]->(d:label_4) RETURN right(d.prop_4, value_2) AS value LIMIT 2",

"MATCH (n:label_1) RETURN n LIMIT 5",
"MATCH (n:label_1) RETURN n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) RETURN n.prop_1 AS value ORDER BY value ASC LIMIT 5",
"MATCH (n:label_1) RETURN n.prop_1 AS value ORDER BY value DESC LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 = \"value_1\" RETURN n LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 <> \"value_1\" RETURN n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 > value_1 RETURN n.prop_1 AS value ORDER BY value DESC LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 >= value_1 AND n.prop_1 <= value_2 RETURN n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 CONTAINS \"value_1\" RETURN n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) WHERE n.prop_1 STARTS WITH \"value_1\" RETURN n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) RETURN DISTINCT n.prop_1 AS value LIMIT 5",
"MATCH (n:label_1) RETURN n.prop_1 AS group_value, COUNT(n) AS cnt ORDER BY cnt DESC LIMIT 5",
"MATCH (n:label_1) RETURN COUNT(n) AS cnt LIMIT 5",
"MATCH (n:label_1) RETURN SUM(n.prop_1) AS total LIMIT 5",
"MATCH (n:label_1) RETURN AVG(n.prop_1) AS average_value LIMIT 5",
"MATCH (n:label_1) RETURN MIN(n.prop_1) AS min_value, MAX(n.prop_1) AS max_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN a, b LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN a.prop_1 AS source_value, b.prop_2 AS target_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE a.prop_1 = \"value_1\" RETURN b LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE b.prop_1 = \"value_1\" RETURN a LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE a.prop_1 <> b.prop_2 RETURN a.prop_1 AS source_value, b.prop_2 AS target_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE a.prop_1 > b.prop_2 RETURN a.prop_1 AS source_value, b.prop_2 AS target_value ORDER BY source_value DESC LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN DISTINCT b.prop_1 AS target_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WITH b, COUNT(a) AS cnt RETURN b.prop_1 AS target_value, cnt ORDER BY cnt DESC LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WITH a, COUNT(b) AS cnt RETURN a.prop_1 AS source_value, cnt ORDER BY cnt DESC LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN b.prop_1 AS group_value, COUNT(a) AS cnt ORDER BY cnt DESC LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN b.prop_1 AS group_value, SUM(a.prop_2) AS total ORDER BY total DESC LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) RETURN b.prop_1 AS group_value, AVG(a.prop_2) AS average_value ORDER BY average_value DESC LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2)<-[:edge_1]-(c:label_1) WHERE a <> c RETURN a.prop_1 AS first_value, c.prop_1 AS second_value, b.prop_2 AS shared_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2)-[:edge_2]->(c:label_3) RETURN a.prop_1 AS first_value, b.prop_2 AS middle_value, c.prop_3 AS last_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2)-[:edge_2]->(c:label_3) WHERE a.prop_1 = \"value_1\" RETURN b, c LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2)-[:edge_2]->(c:label_3) WITH c, COUNT(a) AS cnt RETURN c.prop_1 AS final_value, cnt ORDER BY cnt DESC LIMIT 5",
"MATCH (a:label_1)-[r:edge_1]->(b:label_2) RETURN TYPE(r) AS relationship_type, COUNT(r) AS cnt ORDER BY cnt DESC LIMIT 5",
"MATCH (a:label_1)-[r:edge_1]->(b:label_2) WHERE a.prop_1 = \"value_1\" RETURN TYPE(r) AS relationship_type, b.prop_2 AS target_value LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE a.prop_1 = \"value_1\" OR b.prop_2 = \"value_2\" RETURN a, b LIMIT 5",
"MATCH (a:label_1)-[:edge_1]->(b:label_2) WHERE a.prop_1 = \"value_1\" AND b.prop_2 <> \"value_2\" RETURN a.prop_1 AS source_value, b.prop_2 AS target_value LIMIT 5"
]