Neo4j图数据建模基础|模型测试
  iwbGD3gmtxyT 2023年11月02日 23 0

为什么要测试?

到目前为止,我们可以在纸上、白板上或使用类似Arrows应用程序的工具来设计数据模型。并且,可以使用这些用例来设计数据模型,其中包括节点标签、关系类型和方向以及节点和关系的属性。

我们还使用一小组测试数据实现了上述数据模型。但是,为了确保创建的图能够满足每个用例,我们还必须根据图测试用例。

测试数据模型

下面是现在应该在图中的实例模型:

Neo4j图数据建模基础|模型测试_数据模型

接下来,我们将通过执行Cypher查询来针对图测试每个用例。

其实,我们所谓的测试就是:针对实例模型执行Cypher代码,以验证图形和查询是否支持用例。

例如,对于我们的第一个用例:

用例1:人们在电影中扮演了什么角色?

我们可以在指定电影标题的位置执行下面的查询:

MATCH (p:Person)-[:ACTED_IN]-(m:Movie)
WHERE m.title = 'Sleepless in Seattle'
RETURN p.name AS Actor

在用例描述中,您甚至可以指定预期结果应该是什么。

进行更多的测试

在浏览用例时,你可能会想到要添加到图中更多的数据来完成测试。

无论如何,用于测试用例的Cypher代码需要仔细检查其正确性。此外,必须了解,如果图形被重构(下一个模块),这些用例的Cypher代码也可能需要进行相应的修改以提高性能。

测试的第一步是进行基本测试,以确保数据模型能够匹配用例。

图测试的一个非常重要的因素是可伸缩性。如果图中包含数百万个节点或关系,这些查询将如何执行?这就是需要与Cypher开发人员合作的地方,以便在图增长时测试查询的性能。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
iwbGD3gmtxyT