4

从 Neo4j 主图创建命名图已记录在案。此外,还知道如何列出、删除、检查命名图是否已经存在,例如CALL gds.graph.exists('my-store-graph') YIELD exists;

但是,我想知道是否有针对刚刚创建的命名图进行密码查询的任何方法?

一种解决方法是将此命名图推送到离线/空的Neo4j 图中,即CALL gds.beta.graph.export('my-graph', { dbName: 'mydatabase' }). 但是,这种方法不太方便,因为我们经常想在应用之前检查命名图是否正确投影,例如在其上的 PageRank。并且预测可以是一个反复试验的循环。

4

1 回答 1

3

除了您已经找到的解决方法之外,目前没有其他方法可以查询命名图。

但是,还有其他功能,例如gds.util.nodeProperty,允许您访问命名图中的节点属性,而无需将其写回 Neo4j。查询属性的示例score如下所示:

CALL gds.graph.create('my-graph', 'User', 'LINK');
CALL gds.pageRank.mutate('my-graph', { mutateProperty: 'score' });
MATCH (user:User)
WHERE user.name = 'Alice'
RETURN
    user.name AS name,
    gds.util.nodeProperty('my-graph', id(user), 'score') AS score

您能否详细说明为什么您的预测是“试错”循环。也许一个选项是在您想要投影的子图上运行您的验证查询?

于 2020-06-04T06:16:03.153 回答