Neo4j - 图形数据科学库 - 如何对 Graph Catalog 中的命名图形进行密码查询?
Neo4j - Graph Data Science library - How to cypher-query against a named graph in Graph Catalog?
从主 Neo4j 图表创建命名图表是 documented。此外,人们还知道如何列出、删除、检查命名图是否已经存在,例如CALL gds.graph.exists('my-store-graph') YIELD exists;
但是,我想知道是否有任何方法可以针对刚刚创建的命名图进行密码查询?
一种解决方法是将此命名图推送到 offline/empty Neo4j 图中,即 CALL gds.beta.graph.export('my-graph', { dbName: 'mydatabase' })
。然而,这种方法不太方便,因为我们经常想在应用之前检查命名图是否被正确投影,例如PageRank 就可以了。投影可以是一个反复试验的循环。
除了您已经找到的解决方法之外,目前没有其他方法可以查询命名图。
但是,还有其他功能,例如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
您能否详细说明为什么您的预测是 "trial-and-error" 个周期。也许一个选项是 运行 您要投影的子图上的验证查询?
从主 Neo4j 图表创建命名图表是 documented。此外,人们还知道如何列出、删除、检查命名图是否已经存在,例如CALL gds.graph.exists('my-store-graph') YIELD exists;
但是,我想知道是否有任何方法可以针对刚刚创建的命名图进行密码查询?
一种解决方法是将此命名图推送到 offline/empty Neo4j 图中,即 CALL gds.beta.graph.export('my-graph', { dbName: 'mydatabase' })
。然而,这种方法不太方便,因为我们经常想在应用之前检查命名图是否被正确投影,例如PageRank 就可以了。投影可以是一个反复试验的循环。
除了您已经找到的解决方法之外,目前没有其他方法可以查询命名图。
但是,还有其他功能,例如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
您能否详细说明为什么您的预测是 "trial-and-error" 个周期。也许一个选项是 运行 您要投影的子图上的验证查询?