【发布时间】:2017-06-22 18:33:13
【问题描述】:
试图获取某个标签类型的所有节点。我有多个图的根,它们的标签都具有相同的后缀。例如,我有 3 个节点,它们的标签末尾都有 treeroot。所以我可能将companytreeroot、buildingtreeroot、nd employeetreeroot 作为 3 个不同节点的 3 个有效标签。如何获取标签具有该模式的所有节点?
我试过了:
match (n) where '.*treeroot' in labels(n) return n
和
match (n) where 'treeroot' in labels(n) return n
但两者都返回空集...
【问题讨论】:
-
不确定这是否会对您有所帮助,但节点可以是多标签的。如果这不是免费的字符串匹配,而是需要一次跨多个相似标签获取节点,那么您可以考虑将标签添加到这些节点作为超标签。就像将 :TreeRoot 标签添加到具有某些树根标签(companytreeroot、buildingtreeroot、employeetreeroot)的所有节点,并确保您也将 :TreeRoot 添加到这些标签的任何新节点。这将使您对这些的查询比执行整个图形扫描更有效。
-
那些匹配只会检查完整的字符串。 @InverseFalcon 下面的答案是最有效的。一。