查询语句提问模糊匹配属性值

现在有一个知识图谱。

一共有 N 个标签,每个标签都有一个 name 属性,已建立原生索引

## 创建本体 - 标签(概念)
CREATE
TAG IF NOT EXISTS Component (name string NOT NULL  COMMENT "名称")  COMMENT = "组件";
CREATE
TAG IF NOT EXISTS FailureMode (name string NOT NULL  COMMENT "名称")  COMMENT = "失效模式";
CREATE
TAG IF NOT EXISTS Fault (name string NOT NULL  COMMENT "名称")  COMMENT = "故障";

模糊搜索时:

有支持类似这种需求的语句吗?或者其他实现方式

MATCH p=(f)-->(f2) WHERE name(f) CONTAINS '关键字' RETURN f,f2 limit 10;

直接匹配所有标签的 name 属性。

name(f) 目前是异常的(官方没有这个函数,此处仅作为需求说明), id(f) 是可行的。

MATCH p=(f:Component)–>(f2) WHERE f.Component.name CONTAINS ‘关键字’ RETURN f,f2 limit 10
UNION
MATCH p=(f:FailureMode)–>(f2) WHERE f. FailureMode.name CONTAINS ‘关键字’ RETURN f,f2 limit 10
UNION
MATCH p=(f: Fault)–>(f2) WHERE f. Fault.name CONTAINS ‘关键字’ RETURN f,f2 limit 10
;

1 个赞

没有其他实现方案了吗?这个多模式查询是可以,需要维护标签信息。
properties 属性引用符这种是否尝试支持,对于用户可以直接写,语句执行过程在验证属性是否合法。

你可以用 case when + exist

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。