直升机,
我想匹配一个节点可以是typeX或typeY的图形 我的第一个想法是:
match (:typeX|typeY)-[]-(z) return z
但这不起作用:(
有没有办法没有输入两次查询? 像这样:
match (:typeX)-[]-(z), (:typeY)-[]-(z) return z
有人能帮助我吗? 提前谢谢你:)
答案 0 :(得分:4)
一种方法是
printf '%s\n' "$@" >> mytempfile.txt
但是,如果经常查询“typeX或typeY”并在您的域中共享一些共同目的,您可以添加另一个常用标签,例如“commonXY”和使用该标签的查询。
答案 1 :(得分:1)
不幸的是,在不牺牲性能的情况下,没有一种好的有效方法可以做到这一点。所有其他当前答案都被强制扫描所有节点,然后对其标签进行过滤,这些标签不具有大量节点(PROFILE查询)。我所知道的所有有效手段都比较冗长。
您可以执行两个查询的UNION,以便从所有节点返回节点:typeX和:typeY节点。
match (:typeX)--(z)
return z
union
match (:typeY)--(z)
return z
答案 2 :(得分:0)
即使PROCEDURE PRINT_CLOB(par_clob IN CLOB) IS
ln_offset NUMBER DEFAULT 1;
BEGIN
LOOP
EXIT WHEN ln_offset > dbms_lob.getlength(par_clob);
dbms_output.put_line(dbms_lob.substr(par_clob, 255, ln_offset));
ln_offset := ln_offset + 255;
END LOOP;
END PRINT_CLOB;
有多个标签,此查询也会有效:
n
答案 3 :(得分:0)
有一个n谓词n:Label
MATCH (n)--(z)
WHERE n:typeX OR n:typeY
RETURN z