match和lookup有什么本质区别?

看了官方文档,没有发现有哪些地方描述本质的区别,感觉没有什么不同,求大佬们解惑

就没啥不同

  1. LOOKUP只能通过索引查询,MATCH可以通过索引或者vid查询(MATCH(v) WHERE id(v)==100)
  2. LOOKUP在查询点时只返回vid,MATCH则会捞出完整的点的数据
2 个赞

明白,非常感谢!
请教下这样的设计目的是为了什么,感觉这种事情更应该在上层应用封装,类似selectID,selectEntity,在底层语言上对初学者可能会产生更多的困扰吧?

Lookup 提供了一个简单的数据访问方式,你可以lookup通过索引取查询数据。但是Match是提供图语义的查询,你可以通过match查询路径等等,索引只是match在实现时的一个工具而已。

1 个赞

lookup 和 match 最大的区别应该是前者没有 pattern 的能力
lookup on playermatch (v:player) return v 比较相似
但类似 match (v:player)-[]->(n) return n 这样的 match 语句,lookup 是做不到的

1 个赞