0
点赞
收藏
分享

微信扫一扫

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

为什么要测试?

到目前为止,我们可以在纸上、白板上或使用类似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开发人员合作的地方,以便在图增长时测试查询的性能。

举报

相关推荐

0 条评论